{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "_comment": "Ground truth for LetzAI model routing, pricing, and provider endpoints.",
    "_pricingSchema": {
        "_description": "Pricing calculation rules",
        "image": "Use mode key (1k, 2k, hd, 4k, uhd) or _flat for fixed price",
        "video": "Use _flat OR (_perSecond × duration). Apply multipliers: _audioMultiplier (if audio enabled), _hqMultiplier (if HQ enabled). Multiplier defaults to 1 if not specified. Special: _withAudio overrides flat+audio cost.",
        "upscaling": "Use size key (e.g. '1k','2k','4k') or scale-factor key (e.g. '2x','4x','8x') or _flat for fixed price."
    },
  
    "models": {
        "gemini-3-pro-image-preview": {
            "active": true,
            "displayName": "Nano Banana Pro",
            "description": "Google's state-of-the-art image generation model with improved text rendering, multi-turn editing, and professional-grade controls over lighting, camera, and composition. Served via Vertex AI.",
            "dateAdded": "2025-11-20",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": [
                "gemini",
                "google/gemini",
                "gemini-3-pro-image-preview"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "gemini-3-pro-image-preview",
                    "pricing": {
                        "1k": 80,
                        "2k": 160,
                        "hd": 160,
                        "4k": 240,
                        "uhd": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Built-in safety filter; no external NSFW needed"
                },
                "editing": {
                    "providerModel": "gemini-3-pro-image-preview",
                    "pricing": {
                        "1k": 80,
                        "2k": 160,
                        "hd": 160,
                        "4k": 240,
                        "uhd": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false
                }
            },
            "fallback": "nano-banana-pro",
            "isDefault": true,
            "_byokNote": "Vertex backend; nbp-inferencesh uses Vertex for frontend"
        },
  
        "gemini-2.5-flash-image": {
            "active": false,
            "displayName": "Gemini 2.5 Flash Image",
            "description": "Google's fast and cost-effective image generation model with support for 10 aspect ratios and image-only output capabilities.",
            "dateAdded": "2025-08-26",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": ["gemini-2.5-flash-image"],
            "capabilities": {
                "generation": {
                    "providerModel": "gemini-2.5-flash-image",
                    "pricing": { "_flat": 50 },
                    "nsfwCheck": false,
                    "notes": "Flat pricing regardless of mode"
                },
                "editing": {
                    "providerModel": "gemini-2.5-flash-image",
                    "pricing": { "_flat": 50 },
                    "nsfwCheck": false
                }
            },
            "frontend": {
                "value": "nano-banana",
                "label": "Nano Banana",
                "description": "Great Image Editing Model from Google",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/google.webp",
                "category": "Third-Party",
                "baseModel": "gemini-2.5-flash-image",
                "defaultMode": "default",
                "resolutions": ["1k"],
                "resolutionModes": { "1k": "default" },
                "pricingModes": { "1k": "1k" },
                "showInGenerate": false,
                "showInEdit": true,
                "order": 3
            },
            "fallback": "nano-banana-pro",
            "_byokNote": "Routed through InferenceSH when USEVERTEX=FALSE"
        },
  
        "seedream": {
            "active": true,
            "displayName": "Seedream 4.5",
            "description": "ByteDance's image model with multi-image consistency, excellent text rendering, and up to 4K resolution. Maintains character identity across multiple images.",
            "dateAdded": "2025-12-04",
            "provider": "byteplus",
            "allowBYOK": false,
            "aliases": [
                "seedream",
                "seedream-4.5",
                "seedream-4-5",
                "seedream-4-5-251128",
                "bytedance-seedream-4.5"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "ep-20251208175106-nbz5k",
                    "pricing": {
                        "1k": 80,
                        "2k": 80,
                        "hd": 80,
                        "4k": 160,
                        "uhd": 160
                    },
                    "defaultMode": "2k",
                    "nsfwCheck": true,
                    "notes": "External NSFW check via InferenceSH"
                },
                "editing": {
                    "providerModel": "ep-20251208175106-nbz5k",
                    "pricing": {
                        "1k": 80,
                        "2k": 80,
                        "hd": 80,
                        "4k": 160,
                        "uhd": 160
                    },
                    "defaultMode": "2k",
                    "nsfwCheck": true
                }
            },
            "frontend": {
                "value": "seedream-4-5",
                "label": "Seedream 4.5",
                "description": "Powerful Image Generation Model from Bytedance",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/bytedance.png",
                "category": "Third-Party",
                "baseModel": "seedream-4-5-251128",
                "defaultMode": "2k",
                "resolutions": ["hd", "4k"],
                "resolutionModes": { "hd": "2k", "4k": "4k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 4
            }
        },
  
        "flux-2": {
            "active": true,
            "displayName": "Flux 2",
            "description": "Black Forest Labs' 32B parameter model with multi-reference image support, 4MP editing, improved text rendering, and enhanced photorealism.",
            "dateAdded": "2025-11-25",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": [
                "flux2",
                "flux-2",
                "flux-2-max",
                "flux-2-pro",
                "flux-2-dev"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "fal-ai/flux-2-max",
                    "pricing": { "1k": 60, "hd": 120 },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "FAL built-in has_nsfw_concepts"
                },
                "editing": {
                    "providerModel": "fal-ai/flux-2-max/edit",
                    "pricing": { "1k": 60, "hd": 120 },
                    "defaultMode": "1k",
                    "nsfwCheck": false
                }
            },
            "frontend": {
                "value": "flux2-max",
                "label": "Flux2 [max]",
                "description": "Highest quality generation",
                "image": "/blog/en-US/image-models/default.png",
                "providerIcon": "/providers/bfl.jpg",
                "category": "Third-Party",
                "baseModel": "flux2",
                "defaultMode": "1k",
                "resolutions": ["1k", "hd"],
                "resolutionModes": { "1k": "1k", "hd": "hd" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 5
            }
        },
  
        "gpt-image-2": {
            "active": true,
            "displayName": "GPT Image 2",
            "description": "OpenAI's GPT Image 2 via FAL — exceptional typography, fine-detail rendering, and precise mask-based editing up to 4K.",
            "dateAdded": "2026-04-21",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": [
                "gpt-image-2",
                "gpt-image2",
                "gptimage2",
                "openai/gpt-image-2"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "openai/gpt-image-2",
                    "pricing": {
                        "1k": 160,
                        "2k": 240,
                        "hd": 240,
                        "4k": 480,
                        "uhd": 480
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "FAL openai/gpt-image-2; quality locked to 'high'"
                },
                "editing": {
                    "providerModel": "openai/gpt-image-2/edit",
                    "pricing": {
                        "1k": 160,
                        "2k": 240,
                        "hd": 240,
                        "4k": 480,
                        "uhd": 480
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "FAL openai/gpt-image-2/edit; supports image_urls + optional mask_url"
                }
            },
            "frontend": {
                "value": "gpt-image-2",
                "label": "GPT Image 2",
                "description": "OpenAI's latest image model with exceptional typography",
                "image": "/blog/en-US/image-models/default.png",
                "providerIcon": "/providers/chatgpt.png",
                "providerName": "OpenAI",
                "category": "Third-Party",
                "baseModel": "gpt-image-2",
                "defaultMode": "1k",
                "resolutions": ["1k", "hd", "4k"],
                "resolutionModes": { "1k": "1k", "hd": "hd", "4k": "4k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 3
            }
        },
  
        "flux-kontext-lora": {
            "active": false,
            "displayName": "Flux Kontext LoRA",
            "description": "Black Forest Labs' in-context image editing model with LoRA support, enabling iterative multi-turn editing with character and style preservation.",
            "dateAdded": "2025-05-29",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": [],
            "capabilities": {
                "editing": {
                    "providerModel": "fal-ai/flux-kontext-lora",
                    "pricing": { "1k": 80, "hd": 160 },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Auto-selected when LoRAs are present; not directly requestable by alias"
                }
            }
        },
  
        "_comment_video_edit": "=== VIDEO EDITING MODELS ===",
  
        "veo-3.1-extend": {
            "active": true,
            "displayName": "Veo 3.1 Extend Video",
            "description": "Google's video extension model capable of extending existing videos up to 148 seconds with maintained consistency and style.",
            "dateAdded": "2025-10-15",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": [
                "veo31extend",
                "veo3.1extend",
                "veo-3.1-extend",
                "veo31-extend"
            ],
            "capabilities": {
                "video_editing": {
                    "providerModel": "veo-3.1-generate-001",
                    "pricing": { "_perSecond": 10 },
                    "duration": { "min": 1, "max": 8 },
                    "nsfwCheck": false,
                    "notes": "Video extension via Vertex AI; credits = duration_seconds * 10; clamped 1-8s"
                }
            },
            "frontend": {
                "value": "veo-3.1",
                "label": "Google VEO 3.1",
                "providerIcon": "/providers/google.webp",
                "providerName": "Google",
                "description": "Video extension model by Google",
                "supportedModes": ["extend"],
                "order": 2
            },
            "jobType": "video_edit"
        },
  
        "kling-o3": {
            "active": true,
            "displayName": "Kling O3 Pro Edit",
            "description": "Kuaishou's unified multimodal video editor with 7-in-1 capabilities including object removal, background swapping, style changes, and character consistency.",
            "dateAdded": "2026-02-05",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": ["klingo3", "kling-o3", "kling_o3", "kling-o3-edit"],
            "capabilities": {
                "video_editing": {
                    "providerModel": "fal-ai/kling-video/o3/pro/video-to-video/edit",
                    "pricing": { "_flat": 50 },
                    "nsfwCheck": false,
                    "notes": "Video-to-video edit; flat pricing"
                }
            },
            "frontend": {
                "value": "kling-o3",
                "label": "Kling O3",
                "providerIcon": "/providers/kling.png",
                "providerName": "Kuaishou",
                "description": "Video editing model by Kling",
                "supportedModes": ["edit"],
                "order": 1
            },
            "jobType": "video_edit"
        },
  
        "beeble-switchx": {
            "active": true,
            "displayName": "Beeble SwitchX",
            "description": "Beeble's video-to-video model that swaps the background or scene in a clip while preserving the original subject, motion, framing and lighting. Not for character or outfit changes. Driven by an optional reference image plus prompt.",
            "dateAdded": "2026-05-18",
            "provider": "beeble",
            "allowBYOK": false,
            "aliases": ["beeble", "switchx", "beeble-switchx", "switch-x"],
            "capabilities": {
                "video_editing": {
                    "providerModel": "switchx",
                    "pricing": { "_flat": 50 },
                    "nsfwCheck": false,
                    "maxFrames": 240,
                    "maxSourcePixels": 2770000,
                    "notes": "Video-to-video background/scene swap only (no character or outfit changes); flat credits same as Kling O3 Pro Edit. Beeble caps: ≤240 frames, ≤2.77M source pixels."
                }
            },
            "frontend": {
                "value": "beeble-switchx",
                "label": "Beeble SwitchX",
                "providerIcon": "/providers/beeble.png",
                "providerName": "Beeble",
                "description": "Background / scene swap by Beeble",
                "supportedModes": ["edit"],
                "order": 3
            },
            "jobType": "video_edit"
        },
  
        "nbp-inferencesh": {
            "active": true,
            "displayName": "Nano Banana Pro",
            "description": "Google Gemini 3 Pro via InferenceSH with improved retries and per-organization API key support.",
            "dateAdded": "2025-11-20",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": ["nbp-inferencesh", "nbp-inf", "nano-banana-pro-inf"],
            "capabilities": {
                "generation": {
                    "providerModel": "gemini-3-pro-image-preview",
                    "pricing": {
                        "1k": 80,
                        "2k": 160,
                        "hd": 160,
                        "4k": 240,
                        "uhd": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Gemini 3 Pro via Vertex AI; supports per-org API key override"
                },
                "editing": {
                    "providerModel": "gemini-3-pro-image-preview",
                    "pricing": {
                        "1k": 80,
                        "2k": 160,
                        "hd": 160,
                        "4k": 240,
                        "uhd": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false
                }
            },
            "frontend": {
                "value": "nano-banana-pro",
                "label": "Nano Banana Pro",
                "description": "The latest Image Generation Model from Google",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/google.webp",
                "category": "Third-Party",
                "baseModel": "gemini-3-pro-image-preview",
                "defaultMode": "default",
                "resolutions": ["1k", "hd", "4k"],
                "resolutionModes": { "1k": "default", "hd": "2k", "4k": "4k" },
                "pricingModes": { "1k": "1k", "hd": "2k", "4k": "4k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 1
            },
            "fallback": "nano-banana-pro",
            "isDefault": true,
            "_byokNote": "Always uses InferenceSH; org key used when orgId is present"
        },
  
        "gemini-3-1-flash-image-preview": {
            "active": true,
            "displayName": "Nano Banana 2",
            "description": "Google's Gemini 3.1 Flash image generation model — fast, cost-effective generation and editing with up to 4K resolution, advanced text rendering, and Google Search grounding.",
            "dateAdded": "2026-02-26",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": [
                "gemini-3-1-flash",
                "gemini-3.1-flash-image-preview",
                "gemini-3-1-flash-image-preview"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "gemini-3.1-flash-image-preview",
                    "pricing": {
                        "1k": 40,
                        "2k": 80,
                        "hd": 80,
                        "4k": 160,
                        "uhd": 160
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Gemini 3.1 Flash via Vertex AI; built-in safety filter"
                },
                "editing": {
                    "providerModel": "gemini-3.1-flash-image-preview",
                    "pricing": {
                        "1k": 50,
                        "2k": 100,
                        "hd": 100,
                        "4k": 150,
                        "uhd": 150
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false
                }
            },
            "fallback": "nano-banana-pro",
            "_byokNote": "Vertex backend; nbf-inferencesh uses InferenceSH for frontend"
        },
  
        "nbf-inferencesh": {
            "active": true,
            "displayName": "Nano Banana 2",
            "description": "Google Gemini 3.1 Flash via InferenceSH — fast, cost-effective image generation and editing with up to 4K resolution and Google Search grounding.",
            "dateAdded": "2026-02-26",
            "provider": "inferencesh",
            "allowBYOK": true,
            "aliases": ["nbf-inferencesh", "nbf-inf", "nano-banana-flash-inf"],
            "capabilities": {
                "generation": {
                    "providerModel": "gemini-3.1-flash-image-preview",
                    "providerApp": "google/gemini-3-1-flash-image-preview@0c7ma1ex",
                    "pricing": {
                        "1k": 40,
                        "2k": 80,
                        "hd": 80,
                        "4k": 160,
                        "uhd": 160
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Gemini 3.1 Flash via InferenceSH; supports per-org API key override"
                },
                "editing": {
                    "providerModel": "gemini-3.1-flash-image-preview",
                    "providerApp": "google/gemini-3-1-flash-image-preview@0c7ma1ex",
                    "pricing": {
                        "1k": 50,
                        "2k": 100,
                        "hd": 100,
                        "4k": 150,
                        "uhd": 150
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false
                }
            },
            "frontend": {
                "value": "nano-banana-2",
                "label": "Nano Banana 2",
                "description": "Fast Image Generation Model from Google",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/google.webp",
                "category": "Third-Party",
                "baseModel": "nbf-inferencesh",
                "defaultMode": "default",
                "resolutions": ["1k", "hd", "4k"],
                "resolutionModes": { "1k": "default", "hd": "2k", "4k": "4k" },
                "pricingModes": { "1k": "1k", "hd": "2k", "4k": "4k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 2
            },
            "_byokNote": "Uses InferenceSH; org key used when orgId is present"
        },
  
        "phota": {
            "active": false,
            "displayName": "Phota",
            "description": "Image generation and editing via InferenceSH. When @handle references are present, routes through the edit endpoint for identity-aware composition.",
            "dateAdded": "2026-03-26",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": ["phota", "photo-edit"],
            "capabilities": {
                "generation": {
                    "providerModel": "phota",
                    "providerApp": "phota/generate@7geytb17",
                    "pricing": {
                        "1k": 80,
                        "4k": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Text-to-image generation; when @handle references are present the edit app is used instead. Supports 1-4 output images."
                },
                "editing": {
                    "providerModel": "phota",
                    "providerApp": "phota/edit@2kpwhdga",
                    "pricing": {
                        "1k": 80,
                        "4k": 240
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Image editing with 1-10 input images; supports 1-4 output images"
                }
            },
            "frontend": {
                "value": "phota",
                "label": "Phota",
                "description": "Image generation and editing with subject consistency",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/inferencesh.webp",
                "providerName": "Phota",
                "category": "Third-Party",
                "baseModel": "phota",
                "defaultMode": "default",
                "resolutions": ["1k", "4k"],
                "resolutionModes": { "1k": "default", "4k": "4k" },
                "pricingModes": { "1k": "1k", "4k": "4k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 4
            }
        },
  
        "wan-2-7-image-pro": {
            "active": true,
            "displayName": "WAN 2.7 Image Pro",
            "description": "Alibaba's professional image generation model supporting text-to-image, image editing, and multi-reference generation with up to 4K high-definition output. Supports thinking mode for improved quality.",
            "dateAdded": "2026-04-01",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": [
                "wan27",
                "wan-2-7",
                "wan-2.7",
                "wan-2-7-image-pro",
                "wan-2.7-image-pro",
                "wan27-image-pro"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "wan-2-7-image-pro",
                    "providerApp": "alibaba/wan-2-7-image-pro@7394ycc2",
                    "pricing": {
                        "1k": 10,
                        "2k": 10,
                        "hd": 10,
                        "4k": 10,
                        "uhd": 10
                    },
                    "defaultMode": "2k",
                    "nsfwCheck": false,
                    "notes": "WAN 2.7 Image Pro via InferenceSH; supports up to 9 reference images, thinking mode, sequential image sets; up to 4K"
                },
                "editing": {
                    "providerModel": "wan-2-7-image-pro",
                    "providerApp": "alibaba/wan-2-7-image-pro@7394ycc2",
                    "pricing": {
                        "1k": 10,
                        "2k": 10,
                        "hd": 10
                    },
                    "defaultMode": "1k",
                    "nsfwCheck": false,
                    "notes": "Same app as generation; reference_images used for editing; max 2K for image-to-image"
                }
            },
            "frontend": {
                "value": "wan-2-7",
                "label": "WAN 2.7 Pro",
                "description": "Professional Image Generation Model from Alibaba",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/wan.png",
                "category": "Third-Party",
                "baseModel": "wan-2-7-image-pro",
                "defaultMode": "2k",
                "resolutions": ["1k", "hd"],
                "resolutionModes": { "1k": "1k", "hd": "2k" },
                "pricingModes": { "1k": "1k", "hd": "2k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 5
            }
        },

        "grok-imagine": {
            "active": false,
            "displayName": "Grok Imagine Pro",
            "description": "xAI's image generation model with photorealistic rendering, excellent text and logo accuracy, and multi-style versatility from portraits to anime.",
            "dateAdded": "2026-03-12",
            "provider": "xai",
            "allowBYOK": false,
            "aliases": [
                "grok-imagine",
                "grok-imagine-image",
                "grok-imagine-image-pro",
                "grok",
                "aurora",
                "xai"
            ],
            "capabilities": {
                "generation": {
                    "providerModel": "grok-imagine-image-pro",
                    "pricing": { "_flat": 50 },
                    "defaultMode": "1k",
                    "nsfwCheck": true,
                    "notes": "xAI Grok Imagine Pro via REST API; $0.07/image; supports aspect_ratio and resolution"
                },
                "editing": {
                    "providerModel": "grok-imagine-image-pro",
                    "pricing": { "_flat": 50 },
                    "defaultMode": "1k",
                    "nsfwCheck": true,
                    "notes": "xAI Grok Imagine Pro edit via /images/edits; up to 3 input images; JSON body"
                }
            },
            "frontend": {
                "value": "grok-imagine",
                "label": "Grok Imagine Pro",
                "description": "AI Image Generation by xAI",
                "image": "/blog/en-US/image-models/cinematic.png",
                "providerIcon": "/providers/xai.png",
                "category": "Third-Party",
                "baseModel": "grok-imagine-image-pro",
                "defaultMode": "1k",
                "resolutions": ["1k", "2k"],
                "resolutionModes": { "1k": "1k", "2k": "2k" },
                "showInGenerate": true,
                "showInEdit": true,
                "order": 6
            }
        },
  
        "_comment_fallback": "=== FALLBACK MODELS ===",
  
        "nano-banana-pro": {
            "active": true,
            "displayName": "Nano Banana Pro (Fallback)",
            "description": "Fallback model via Fal.ai used when primary Gemini endpoints return 429 rate limit errors.",
            "dateAdded": "2025-11-20",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": [],
            "capabilities": {
                "generation": {
                    "providerModel": "fal-ai/nano-banana-pro",
                    "editProviderModel": "fal-ai/nano-banana-pro/edit",
                    "pricing": {},
                    "nsfwCheck": false,
                    "notes": "Gemini 429 fallback only; no direct pricing (inherits from the model it fell back from)"
                }
            },
            "isFallbackOnly": true
        },
  
        "_comment_video": "=== VIDEO GENERATION MODELS (resolved by settings.mode) ===",
  
        "video-default": {
            "active": false,
            "displayName": "Default Video",
            "description": "Our first generation in-house default video model for video generation.",
            "dateAdded": "2025-07-01",
            "provider": "letzai",
            "allowBYOK": true,
            "aliases": ["default"],
            "capabilities": {
                "video": {
                    "providerModel": "infsh/lightning-wan-2-2-i2v-a14b",
                    "providerVersion": "06pqyf4ahanxy68c11b4fwcdba",
                    "pricing": {
                        "_perSecond": 60,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": false,
                    "supportsReference": false,
                    "resolutions": ["720p", "1080p"],
                    "duration": { "min": 2, "max": 6 },
                    "nsfwCheck": true,
                    "notes": "Default video workflow; per-second pricing"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-veo3": {
            "active": false,
            "displayName": "Google Veo 3.0",
            "description": "Google's video generation model via Vertex AI with native audio and cinematic quality at fixed 8-second duration.",
            "dateAdded": "2025-05-20",
            "provider": "vertex",
            "allowBYOK": false,
            "aliases": ["veo3"],
            "capabilities": {
                "video": {
                    "providerModel": "veo-3.0-generate-001",
                    "providerModelFast": "veo-3.0-fast-generate-001",
                    "pricing": {
                        "_flat": 1500,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": true,
                    "supportsReference": false,
                    "duration": { "min": 8, "max": 8 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "notes": "Google Veo 3.0 via Vertex AI; fixed 8s duration"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-veo31": {
            "active": true,
            "displayName": "Google VEO3.1",
            "description": "Google's updated video model via Vertex AI with richer native audio, improved dialogue sync, and enhanced cinematic style.",
            "dateAdded": "2025-10-15",
            "provider": "vertex",
            "allowBYOK": false,
            "aliases": ["veo31"],
            "capabilities": {
                "video": {
                    "providerModel": "veo-3.1-generate-001",
                    "providerModelT2V": "veo-3.1-generate-001",
                    "providerModelFast": "veo-3.1-fast-generate-001",
                    "pricing": {
                        "_flat": 1500,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": true,
                    "supportsReference": true,
                    "duration": { "min": 8, "max": 8 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "aspectRatios": ["original", "16:9", "9:16"],
                    "features": { "multiFrame": true },
                    "notes": "Google Veo 3.1 via Vertex AI; fixed 8s duration; image-to-video (reference image); first/last frame; aspect ratios 16:9, 9:16, original"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-veo31inf": {
            "active": false,
            "displayName": "Google VEO3.1",
            "description": "Google Veo 3.1 via Vertex AI with native audio, improved dialogue sync, and 8-second cinematic video generation.",
            "dateAdded": "2025-10-15",
            "provider": "vertex",
            "allowBYOK": true,
            "aliases": ["veo31inf"],
            "capabilities": {
                "video": {
                    "providerModel": "veo-3.1-generate-001",
                    "providerModelFast": "veo-3.1-fast-generate-001",
                    "pricing": {
                        "_flat": 1500,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": true,
                    "supportsReference": true,
                    "duration": { "min": 8, "max": 8 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "aspectRatios": ["original", "16:9", "9:16"],
                    "notes": "Veo 3.1 via Vertex AI; aspect ratios 16:9, 9:16, original"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-sora2": {
            "active": false,
            "displayName": "Sora 2",
            "description": "OpenAI's Sora 2 with custom characters, 16:9/9:16 exports, clips up to 20 seconds, video continuation, and image-to-video support.",
            "dateAdded": "2025-09-30",
            "provider": "openai",
            "allowBYOK": false,
            "aliases": ["sora2"],
            "capabilities": {
                "video": {
                    "providerModel": "sora-2",
                    "providerModelT2V": "sora-2",
                    "providerModelPro": "sora-2-pro",
                    "pricing": {
                        "_flat": 100,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": true,
                    "supportsReference": true,
                    "duration": { "min": 4, "max": 20 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "aspectRatios": ["16:9", "9:16"],
                    "notes": "OpenAI Sora 2 native API; input_reference for i2v; 4/8/12/16/20s; 1280x720, 720x1280, 1920x1080, 1080x1920"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-kling25": {
            "active": false,
            "displayName": "Kling V2.5",
            "description": "Kuaishou's turbo video model optimized for faster generation with 5-10 second video support.",
            "dateAdded": "2025-08-01",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": ["kling25"],
            "capabilities": {
                "video": {
                    "providerModel": "fal-ai/kling-video/v2.5-turbo/pro/image-to-video",
                    "pricing": {
                        "_flat": 100,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": false,
                    "supportsReference": false,
                    "duration": { "min": 5, "max": 10 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "notes": "Kling V2.5 via Fal.ai"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-kling3": {
            "active": true,
            "displayName": "Kling V3",
            "description": "Kuaishou's flagship video model with native multilingual audio, up to 15 seconds, multi-shot storytelling, and reference image support.",
            "dateAdded": "2026-02-05",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": ["kling3", "kling30"],
            "capabilities": {
                "video": {
                    "providerModel": "fal-ai/kling-video/v3/pro/image-to-video",
                    "providerModelT2V": "fal-ai/kling-video/v3/pro/text-to-video",
                    "imageArgKey": "start_image_url",
                    "generateAudioArgKey": "generate_audio",
                    "pricing": { "_flat": 150, "_withAudio": 300 },
                    "allowAudio": true,
                    "supportsReference": true,
                    "supportsElements": true,
                    "duration": { "min": 3, "max": 15 },
                    "resolutions": ["1080p"],
                    "aspectRatios": ["original", "16:9", "9:16"],
                    "nsfwCheck": true,
                    "features": { "multiPrompt": true, "multiFrame": true },
                    "multiPrompt": { "maxDuration": 15, "minShotDuration": 3 },
                    "notes": "Kling V3 via Fal.ai; supports reference images and elements; 1080p only; aspect ratios 16:9, 9:16, original; special audio pricing (300 credits with audio)"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-kling26": {
            "active": true,
            "displayName": "Kling V2.6",
            "description": "Kuaishou's video model with simultaneous audio-visual generation, creating videos with voiceovers and sound effects in a single pass.",
            "dateAdded": "2025-12-03",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": ["kling26"],
            "capabilities": {
                "video": {
                    "providerModel": "fal-ai/kling-video/v2.6/pro/image-to-video",
                    "providerModelT2V": "fal-ai/kling-video/v2.6/pro/text-to-video",
                    "pricing": {
                        "_flat": 150,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": true,
                    "supportsReference": false,
                    "duration": { "min": 5, "max": 10, "step": 5 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "aspectRatios": ["original", "16:9", "9:16"],
                    "notes": "Kling V2.6 via Fal.ai; supports audio and text-to-video; aspect ratios 16:9, 9:16, original"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-wan25": {
            "active": true,
            "displayName": "WAN 2.5",
            "description": "Alibaba's open-source video model with multilingual support, synchronized audio, and up to 10 seconds at 1080p resolution.",
            "dateAdded": "2025-09-24",
            "provider": "fal",
            "allowBYOK": false,
            "aliases": ["wan25"],
            "capabilities": {
                "video": {
                    "providerModel": "fal-ai/wan-25-preview/image-to-video",
                    "pricing": {
                        "_flat": 110,
                        "_audioMultiplier": 2,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": false,
                    "supportsReference": false,
                    "duration": { "min": 5, "max": 10 },
                    "nsfwCheck": true,
                    "resolutions": ["720p", "1080p"],
                    "aspectRatios": ["original", "16:9", "9:16"],
                    "notes": "WAN 2.5 via Fal.ai; image-to-video only; aspect ratios 16:9, 9:16, original"
                }
            },
            "jobType": "video_generation"
        },
  
        "video-seedance2": {
            "active": true,
            "displayName": "Seedance 2.0",
            "description": "ByteDance's most advanced video model with cinematic output, native audio, real-world physics, and director-level camera control. Supports text, image, audio, and video reference inputs (up to 9 reference images, 3 reference videos, 3 reference audios) with first+last frame control.",
            "dateAdded": "2026-04-08",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": ["seedance2", "seedance20", "seedance-2"],
            "capabilities": {
                "video": {
                    "providerModel": "bytedance/seedance-2-0",
                    "providerModelT2V": "bytedance/seedance-2-0",
                    "pricing": {
                        "_perSecond": 300,
                        "_perSecond480p": 180,
                        "_perSecond720p": 300,
                        "_perSecond1080p": 1200
                    },
                    "allowAudio": true,
                    "alwaysAudio": true,
                    "supportsReference": true,
                    "supportsR2V": true,
                    "duration": { "min": 4, "max": 15 },
                    "resolutions": ["480p", "720p", "1080p"],
                    "aspectRatios": ["auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16"],
                    "features": { "multiFrame": true },
                    "notes": "Seedance 2.0 via InferenceSH (bytedance/seedance-2-0); single endpoint handles I2V/T2V/R2V via input fields (image/end_image for first+last frame; reference_images/reference_videos/reference_audios arrays for multimodal); per-second pricing (1200 credits/s @1080p, 300/s @720p, 180/s @480p); audio always included"
                }
            },
            "frontend": {
                "value": "seedance2",
                "label": "Seedance 2.0",
                "providerIcon": "/providers/bytedance.png",
                "providerName": "ByteDance",
                "description": "Cinematic video with native audio",
                "supportedModes": ["generate"],
                "order": 3
            },
            "jobType": "video_generation"
        },

        "video-seedance2-fast": {
            "active": false,
            "displayName": "Seedance 2.0 Fast",
            "description": "ByteDance's faster Seedance 2.0 Studio variant. Cinematic output with native audio at up to 720p, optimized for speed. Supports text, image, audio, and video reference inputs (up to 9 reference images, 3 reference videos, 3 reference audios) and first+last frame control.",
            "dateAdded": "2026-05-13",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": [
                "seedance2-fast",
                "seedance20-fast",
                "seedance-2-fast",
                "seedance-2-0-fast",
                "seedance-2-0-studio-fast"
            ],
            "capabilities": {
                "video": {
                    "providerModel": "bytedance/seedance-2-0-studio-fast",
                    "providerModelT2V": "bytedance/seedance-2-0-studio-fast",
                    "pricing": {
                        "_perSecond": 150,
                        "_perSecond480p": 90,
                        "_perSecond720p": 150
                    },
                    "allowAudio": true,
                    "alwaysAudio": true,
                    "supportsReference": true,
                    "supportsR2V": true,
                    "duration": { "min": 4, "max": 15 },
                    "resolutions": ["480p", "720p"],
                    "aspectRatios": ["auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16"],
                    "features": { "multiFrame": true },
                    "acceptsSafetyIdentifier": true,
                    "notes": "Seedance 2.0 Fast via InferenceSH (bytedance/seedance-2-0-studio-fast); single endpoint handles I2V/T2V/R2V via input fields (image/end_image for first+last frame; reference_images/reference_videos/reference_audios arrays for multimodal); per-second pricing (150 credits/s @720p, 90/s @480p); audio always included; forwards safety_identifier when an org context is present (optional, not enforced)"
                }
            },
            "frontend": {
                "value": "seedance2-fast",
                "label": "Seedance 2.0 Fast",
                "providerIcon": "/providers/bytedance.png",
                "providerName": "ByteDance",
                "description": "Fast cinematic video with native audio (up to 720p)",
                "supportedModes": ["generate"],
                "order": 4
            },
            "jobType": "video_generation"
        },

        "video-seedance2-enterprise": {
            "active": true,
            "displayName": "Seedance 2.0 Enterprise",
            "description": "ByteDance's professional Seedance 2.0 Studio variant with private asset library support. Supports up to 1080p, with text-to-video, image-to-video, and multimodal reference-to-video (up to 9 reference images, 3 reference videos, 3 reference audios) and synchronized audio.",
            "dateAdded": "2026-05-13",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": [
                "seedance2-enterprise",
                "seedance20-enterprise",
                "seedance-2-enterprise",
                "seedance-2-0-enterprise",
                "seedance-2-0-studio",
                "seedance2-studio"
            ],
            "enterpriseOnly": true,
            "capabilities": {
                "video": {
                    "providerModel": "bytedance/seedance-2-0-studio",
                    "providerModelT2V": "bytedance/seedance-2-0-studio",
                    "pricing": {
                        "_perSecond": 300,
                        "_perSecond480p": 180,
                        "_perSecond720p": 300,
                        "_perSecond1080p": 1200
                    },
                    "allowAudio": true,
                    "alwaysAudio": true,
                    "supportsReference": true,
                    "supportsR2V": true,
                    "duration": { "min": 4, "max": 15 },
                    "resolutions": ["480p", "720p", "1080p"],
                    "aspectRatios": ["auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16"],
                    "features": { "multiFrame": true },
                    "requireSafetyIdentifier": true,
                    "acceptsSafetyIdentifier": true,
                    "notes": "Seedance 2.0 Enterprise via InferenceSH (bytedance/seedance-2-0-studio); single endpoint handles I2V/T2V/R2V via input fields; per-second pricing (1200 credits/s @1080p, 300/s @720p, 180/s @480p); audio always included; enterprise only; supports up to 9 reference images, 3 reference videos, 3 reference audios with byteplus virtual portrait library. Requires a valid LetzAI organizationId (validated against /internal/organizations/{id} and forwarded as InferenceSH safety_identifier for per-org asset-library namespacing)."
                }
            },
            "frontend": {
                "value": "seedance2-enterprise",
                "label": "Seedance 2.0 Enterprise",
                "providerIcon": "/providers/bytedance.png",
                "providerName": "ByteDance",
                "description": "Professional cinematic video with native audio (up to 1080p)",
                "supportedModes": ["generate"],
                "order": 5
            },
            "jobType": "video_generation"
        },      
        "video-grok": {
            "active": false,
            "displayName": "Grok Video",
            "description": "xAI's video generation model with text-to-video and image-to-video support, up to 15 seconds at 720p.",
            "dateAdded": "2026-03-12",
            "provider": "xai",
            "allowBYOK": false,
            "aliases": ["grok", "grok-video", "xai-video", "grok-imagine-video"],
            "capabilities": {
                "video": {
                    "providerModel": "grok-imagine-video",
                    "providerModelT2V": "grok-imagine-video",
                    "pricing": {
                        "_perSecond": 40,
                        "_hqMultiplier": 2
                    },
                    "allowAudio": false,
                    "supportsReference": true,
                    "duration": { "min": 1, "max": 15 },
                    "nsfwCheck": true,
                    "resolutions": ["480p", "720p"],
                    "aspectRatios": ["16:9", "9:16", "1:1", "4:3", "3:4", "3:2", "2:3"],
                    "notes": "xAI Grok Imagine Video via REST API; $0.050/second; async with polling; t2v and i2v"
                }
            },
            "frontend": {
                "value": "grok-video",
                "label": "Grok Video",
                "providerIcon": "/providers/xai.png",
                "providerName": "xAI",
                "description": "Video generation by xAI",
                "supportedModes": ["generate"],
                "order": 5
            },
            "jobType": "video_generation"
        },
  
        "_comment_upscale": "=== UPSCALING MODELS ===",
  
        "upscale-letzai": {
            "active": true,
            "displayName": "LetzAI Upscaler",
            "description": "LetzAI's in-house upscaler with three modes: Simple (high speed), Sharp (high quality), and Soft (high consistency).",
            "dateAdded": "2024-06-01",
            "provider": "comfyui",
            "allowBYOK": false,
            "aliases": ["simple", "sharp", "soft", "default"],
            "capabilities": {
                "upscaling": {
                    "pricing": { "_flat": 20 },
                    "notes": "Local ComfyUI upscaler; modes: simple (SeedVR2), sharp (FLUX+UltraSharp), soft (FLUX+NMKD-Siax)"
                }
            },
            "jobType": "upscale"
        },
  
        "upscale-nano-banana-pro": {
            "active": true,
            "displayName": "Nano Banana Pro Upscaler",
            "description": "AI-powered upscaling using Google Gemini 3 Pro with intelligent detail enhancement up to 4K resolution.",
            "dateAdded": "2025-11-20",
            "provider": "inferencesh",
            "allowBYOK": false,
            "aliases": ["nano-banana-pro-upscale"],
            "capabilities": {
                "upscaling": {
                    "pricing": { "1k": 80, "2k": 160, "4k": 240 },
                    "defaultMode": "2k",
                    "notes": "Gemini 3 Pro via InferenceSH; mode value 'nano-banana-pro'; size 4→1K, 8→2K, 12→4K"
                }
            },
            "frontend": {
                "value": "nano-banana-pro",
                "label": "Nano Banana Pro",
                "subLabel": "Up to 4K resolution",
                "providerIcon": "/providers/google.webp"
            },
            "jobType": "upscale"
        },
  
        "upscale-magnific-creative": {
            "active": true,
            "displayName": "Magnific Creative",
            "description": "Freepik's creative upscaler that can add and infer new details guided by text prompts, with up to 16x scaling.",
            "dateAdded": "2024-12-01",
            "provider": "freepik",
            "allowBYOK": false,
            "aliases": ["freepik", "magnific-creative"],
            "capabilities": {
                "upscaling": {
                    "pricing": { "2x": 120, "4x": 240, "8x": 960, "16x": 960 },
                    "defaultMode": "4x",
                    "notes": "Magnific Creative via Freepik API; creative upscale that can add/infer new details; supports prompt"
                }
            },
            "frontend": {
                "value": "freepik",
                "label": "Magnific Creative",
                "subLabel": "Can add and infer new details",
                "providerIcon": "/providers/magnific.jpg"
            },
            "jobType": "upscale"
        },
  
        "upscale-magnific-precision": {
            "active": true,
            "displayName": "Magnific Precision V2",
            "description": "Freepik's faithful upscaler with no hallucinations — preserves text, UI elements, and original image structure with ultimate fidelity.",
            "dateAdded": "2025-11-10",
            "provider": "freepik",
            "allowBYOK": false,
            "aliases": ["freepik-precision", "magnific-precision"],
            "capabilities": {
                "upscaling": {
                    "pricing": { "2x": 120, "4x": 240, "8x": 960, "16x": 960 },
                    "defaultMode": "4x",
                    "notes": "Magnific Precision V2 via Freepik API; faithful upscale — no hallucinations, preserves text/UI; scale 2-16"
                }
            },
            "frontend": {
                "value": "freepik-precision",
                "label": "Magnific Precision V2",
                "subLabel": "Faithful — preserves text & UI",
                "providerIcon": "/providers/magnific.jpg"
            },
            "jobType": "upscale"
        },
  
        "_comment_deprecated": "=== DEPRECATED MODELS ===",
  
        "letzai-v1": {
            "active": false,
            "displayName": "LetzAI V1",
            "description": "First generation LetzAI image model built on Stable Diffusion 1.5 with custom fine-tuning for creative generation.",
            "dateAdded": "2023-06-01",
            "provider": "comfyui",
            "allowBYOK": false,
            "aliases": ["letzai-v1", "letzaiv1"],
            "capabilities": {
                "generation": {
                    "pricing": { "_flat": 5 },
                    "notes": "Deprecated - replaced by V2"
                }
            },
            "deprecated": true
        },
  
        "letzai-v2": {
            "active": false,
            "displayName": "LetzAI V2",
            "description": "Second generation LetzAI image model built on SDXL with improved detail, resolution, and prompt understanding.",
            "dateAdded": "2024-01-15",
            "provider": "comfyui",
            "allowBYOK": false,
            "aliases": ["letzai-v2", "letzaiv2"],
            "capabilities": {
                "generation": {
                    "pricing": { "_flat": 10 },
                    "notes": "Deprecated - replaced by V3"
                }
            },
            "deprecated": true
        },
  
        "letzai-v3": {
            "active": false,
            "displayName": "LetzAI V3",
            "description": "Third generation LetzAI image model with enhanced quality and photorealism based on Flux1.dev.",
            "dateAdded": "2024-09-01",
            "provider": "comfyui",
            "allowBYOK": false,
            "aliases": ["letzai-v3", "letzaiv3"],
            "capabilities": {
                "generation": {
                    "pricing": { "_flat": 15 },
                    "notes": "Deprecated - replaced by third-party models"
                }
            },
            "deprecated": true
        }
    },
  
    "providers": {
        "vertex": {
            "displayName": "Google Vertex AI",
            "envKeys": ["GOOGLE_CLOUD_PROJECT"],
            "notes": "Gemini models; can be toggled to InferenceSH via USEVERTEX=FALSE"
        },
        "inferencesh": {
            "displayName": "InferenceSH",
            "envKeys": ["INF_API_TOKEN"],
            "supportsOrgKey": true,
            "notes": "Supports per-org API key override via orgId"
        },
        "fal": {
            "displayName": "FAL.ai",
            "envKeys": ["FAL_KEY"],
            "notes": "Flux family, Kling, Nano Banana"
        },
        "byteplus": {
            "displayName": "BytePlus",
            "envKeys": ["ARK_API_KEY"],
            "notes": "Seedream models"
        },
        "xai": {
            "displayName": "xAI (Grok Imagine)",
            "envKeys": ["XAI_API_KEY"],
            "notes": "Grok Imagine image and video generation via Aurora model"
        },
        "openai": {
            "displayName": "OpenAI",
            "envKeys": ["OPENAI_API_KEY"],
            "notes": "Sora 2 video generation via native Videos API"
        },
        "freepik": {
            "displayName": "Freepik (Magnific)",
            "envKeys": ["FREEPIK_API_KEY"],
            "notes": "Magnific Creative and Precision V2 upscalers"
        },
        "comfyui": {
            "displayName": "Local",
            "envKeys": [],
            "notes": "Local GPU workflows for LetzAI upscaling"
        }
    }
  }
  