{
  "version": "1",
  "generated": "2026-06-12T02:31:53.486Z",
  "source": "lib/providers/registry.ts",
  "models": [
    {
      "id": "veo-3.1",
      "name": "Veo 3.1",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "lip-sync",
        "audio-native",
        "cinematic",
        "talking-heads"
      ],
      "strengths": [
        "best lip sync",
        "native 4K",
        "synced audio",
        "talking heads"
      ],
      "weaknesses": [],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 8,
      "nativeAudio": true,
      "byokPricePerSec": 0.15,
      "creditsPricePerSec": 0.158,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Best lip sync",
      "status": "stable",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "kling-3.0",
      "name": "Kling 3.0 Pro",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "cinematic",
        "audio-native",
        "budget",
        "multi-shot"
      ],
      "strengths": [
        "multi-shot consistency",
        "cinematic motion",
        "dialogue close-ups",
        "4K"
      ],
      "weaknesses": [],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": true,
      "byokPricePerSec": 0.1,
      "creditsPricePerSec": 0.105,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Best value",
      "status": "stable",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "seedance-4.5",
      "name": "Seedance 4.5",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "audio-native",
      "tags": [
        "audio-native",
        "lip-sync",
        "multi-shot"
      ],
      "strengths": [
        "unified audio-video generation",
        "multi-shot from one prompt",
        "phoneme-level lip-sync"
      ],
      "weaknesses": [],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 12,
      "nativeAudio": true,
      "byokPricePerSec": 0.14,
      "creditsPricePerSec": 0.147,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "badge": "Audio-native",
      "status": "stable",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "sora-2",
      "name": "Sora 2",
      "vendor": "openai",
      "vendorName": "OpenAI",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "cinematic",
        "physics",
        "premium"
      ],
      "strengths": [
        "cinematic quality",
        "prompt adherence",
        "complex physics"
      ],
      "weaknesses": [],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 20,
      "nativeAudio": true,
      "byokPricePerSec": 0.15,
      "creditsPricePerSec": 0.158,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Most cinematic",
      "status": "stable",
      "unavailable": true,
      "unavailableReason": "Sora 2 requires OpenAI Sora API access (not included in standard API keys). Contact OpenAI for access.",
      "platformOnly": false
    },
    {
      "id": "runway-gen-4.5",
      "name": "Runway Gen-4.5",
      "vendor": "runway",
      "vendorName": "Runway",
      "kind": "video",
      "family": "creator",
      "tags": [
        "camera-control",
        "video-to-video",
        "motion-brush"
      ],
      "strengths": [
        "motion brush",
        "camera control",
        "video-to-video",
        "director-grade editing"
      ],
      "weaknesses": [],
      "supports": [
        "text-to-video",
        "image-to-video",
        "video-to-video"
      ],
      "maxDurationSec": 16,
      "nativeAudio": false,
      "byokPricePerSec": 0.12,
      "creditsPricePerSec": 0.126,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "badge": "Most control",
      "status": "stable",
      "unavailable": true,
      "unavailableReason": "Runway direct integration is not yet wired. Use ws-runway-gen4 (WaveSpeed) for Runway Gen-4 today.",
      "platformOnly": false
    },
    {
      "id": "omnihuman",
      "name": "OmniHuman 1.5",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "lip-sync"
      ],
      "strengths": [
        "talking avatars",
        "from single photo",
        "lip-sync from audio",
        "drop-on-any-shot avatar layer"
      ],
      "weaknesses": [
        "needs photo + audio",
        "fixed framing",
        "no scene control"
      ],
      "supports": [
        "image-audio-to-video"
      ],
      "maxDurationSec": 60,
      "nativeAudio": false,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Avatar layer",
      "status": "stable",
      "description": "Drives a talking avatar from one photo + an audio clip. Drop on any shot in a brand agent's storyboard.",
      "docsUrl": "https://fal.ai/models/fal-ai/bytedance/omnihuman/v1.5",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "kling-3.0-replicate",
      "name": "Kling 3.0 Pro (Replicate)",
      "vendor": "replicate",
      "vendorName": "Replicate",
      "kind": "video",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "multi-shot consistency",
        "cinematic motion",
        "cheaper than direct"
      ],
      "weaknesses": [
        "queue latency varies",
        "fewer aspect ratios"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": true,
      "byokPricePerSec": 0.09,
      "creditsPricePerSec": 0.095,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "stable",
      "docsUrl": "https://replicate.com/kwaivgi/kling-v3-video",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "wan-2.5",
      "name": "Wan 2.5",
      "vendor": "replicate",
      "vendorName": "Replicate",
      "kind": "video",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "realistic motion",
        "fast",
        "great for product shots"
      ],
      "weaknesses": [
        "less cinematic than Kling",
        "limited camera control"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 8,
      "nativeAudio": false,
      "byokPricePerSec": 0.07,
      "creditsPricePerSec": 0.074,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "docsUrl": "https://replicate.com/wan-video/wan-2.5",
      "unavailable": true,
      "unavailableReason": "wan-video/wan-2.5 was removed from Replicate. Use ws-pika-2.2 or kling-3.0-replicate.",
      "platformOnly": false
    },
    {
      "id": "pika-2.2",
      "name": "Pika 2.2",
      "vendor": "replicate",
      "vendorName": "Replicate",
      "kind": "video",
      "family": "creator",
      "tags": [],
      "strengths": [
        "creative transitions",
        "ingredient blends",
        "stylized motion"
      ],
      "weaknesses": [
        "less photoreal",
        "occasional flicker"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "docsUrl": "https://replicate.com/pika-labs/pika-2.2",
      "unavailable": true,
      "unavailableReason": "pika-labs/pika-2.2 was removed from Replicate. Use ws-pika-2.2 (WaveSpeed) or pika-2.5.",
      "platformOnly": false
    },
    {
      "id": "veo-3.1-direct",
      "name": "Veo 3.1 (Google direct)",
      "vendor": "google",
      "vendorName": "Google AI Studio",
      "kind": "video",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "best lip sync",
        "native 4K",
        "synced audio",
        "lower hop latency"
      ],
      "weaknesses": [
        "regional availability varies"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 8,
      "nativeAudio": true,
      "byokPricePerSec": 0.14,
      "creditsPricePerSec": 0.147,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "docsUrl": "https://ai.google.dev/gemini-api/docs/video",
      "unavailable": true,
      "unavailableReason": "Direct Google Veo routing is not yet wired. Use veo-3.1 (FAL route) instead.",
      "platformOnly": false
    },
    {
      "id": "luma-ray-3",
      "name": "Luma Ray 3",
      "vendor": "luma",
      "vendorName": "Luma",
      "kind": "video",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "natural motion",
        "fluid camera moves",
        "cinematic B-roll"
      ],
      "weaknesses": [
        "lip sync weaker than Veo",
        "shorter durations"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.14,
      "creditsPricePerSec": 0.147,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "status": "beta",
      "docsUrl": "https://docs.lumalabs.ai/",
      "unavailable": true,
      "unavailableReason": "Direct Luma key is not authenticated — use ws-luma-ray-2 (Luma Ray 2 via WaveSpeed) on Credits. Re-enable once LUMA_PLATFORM_KEY is valid.",
      "platformOnly": false
    },
    {
      "id": "pika-2.5",
      "name": "Pika 2.5",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "creator",
      "tags": [],
      "strengths": [
        "stylized motion",
        "character consistency",
        "fast"
      ],
      "weaknesses": [
        "less photoreal than Kling"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "docsUrl": "https://pika.art/api",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "hailuo-02",
      "name": "MiniMax Hailuo 02",
      "vendor": "hailuo",
      "vendorName": "MiniMax Hailuo",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "physics",
        "complex-motion"
      ],
      "strengths": [
        "physics realism",
        "complex motion",
        "long prompts"
      ],
      "weaknesses": [
        "international API region latency"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.11,
      "creditsPricePerSec": 0.116,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "docsUrl": "https://www.minimaxi.com/en/platform",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "runway-gen-4.5-direct",
      "name": "Runway Gen-4.5 (direct)",
      "vendor": "runway",
      "vendorName": "Runway",
      "kind": "video",
      "family": "creator",
      "tags": [
        "camera-control",
        "video-to-video",
        "motion-brush"
      ],
      "strengths": [
        "motion brush",
        "camera control",
        "video-to-video",
        "director-grade editing"
      ],
      "weaknesses": [
        "no native audio",
        "queue latency on free tier"
      ],
      "supports": [
        "text-to-video",
        "image-to-video",
        "video-to-video"
      ],
      "maxDurationSec": 16,
      "nativeAudio": false,
      "byokPricePerSec": 0.12,
      "creditsPricePerSec": 0.126,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "status": "beta",
      "docsUrl": "https://docs.dev.runwayml.com/",
      "unavailable": true,
      "unavailableReason": "Runway direct integration is not yet wired. Use ws-runway-gen4 (WaveSpeed) for Runway Gen-4 today.",
      "platformOnly": false
    },
    {
      "id": "elevenlabs-tts",
      "name": "ElevenLabs Multilingual v2",
      "vendor": "elevenlabs",
      "vendorName": "ElevenLabs",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "29 languages",
        "emotion control",
        "voice cloning"
      ],
      "weaknesses": [
        "streaming latency vs Cartesia"
      ],
      "supports": [
        "text-to-speech",
        "voice-cloning"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.005,
      "creditsPricePerSec": 0.005,
      "aspectRatios": [],
      "status": "stable",
      "docsUrl": "https://elevenlabs.io/docs/api-reference/text-to-speech",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "elevenlabs-tts-v3",
      "name": "ElevenLabs v3 (Alpha)",
      "vendor": "elevenlabs",
      "vendorName": "ElevenLabs",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "dialogue style",
        "highest expressiveness"
      ],
      "weaknesses": [
        "alpha — quality varies"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.008,
      "creditsPricePerSec": 0.008,
      "aspectRatios": [],
      "status": "beta",
      "docsUrl": "https://elevenlabs.io/docs/models",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "elevenlabs-music",
      "name": "ElevenLabs Music",
      "vendor": "elevenlabs",
      "vendorName": "ElevenLabs",
      "kind": "music",
      "family": "music",
      "tags": [],
      "strengths": [
        "commercially licensed training data",
        "low-latency",
        "fast"
      ],
      "weaknesses": [
        "fewer genres than Suno",
        "no separated stems"
      ],
      "supports": [
        "text-to-music"
      ],
      "maxDurationSec": 300,
      "nativeAudio": true,
      "byokPricePerSec": 0.02,
      "creditsPricePerSec": 0.021,
      "aspectRatios": [],
      "badge": "Commercially safe",
      "status": "beta",
      "docsUrl": "https://elevenlabs.io/docs/api-reference/music",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "minimax-music",
      "name": "MiniMax Music",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "music",
      "family": "music",
      "tags": [],
      "strengths": [
        "cheap",
        "API-first",
        "solid quality"
      ],
      "weaknesses": [
        "requires a reference song",
        "not pure text-to-music"
      ],
      "supports": [
        "text-to-music"
      ],
      "maxDurationSec": 60,
      "nativeAudio": true,
      "byokPricePerSec": 0.01,
      "creditsPricePerSec": 0.011,
      "aspectRatios": [],
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/minimax-music",
      "unavailable": true,
      "unavailableReason": "fal-ai/minimax-music is a music-continuation model — it requires a reference_audio_url (a song with music + vocals), not pure text-to-music. Use Lyria 2 (instrumental) or Suno v4 (vocals) for text-to-music.",
      "platformOnly": false
    },
    {
      "id": "lyria-2",
      "name": "Google Lyria 2",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "music",
      "family": "music",
      "tags": [],
      "strengths": [
        "instrumental detail",
        "long-form composition"
      ],
      "weaknesses": [
        "no vocals"
      ],
      "supports": [
        "text-to-music"
      ],
      "maxDurationSec": 120,
      "nativeAudio": true,
      "byokPricePerSec": 0.015,
      "creditsPricePerSec": 0.016,
      "aspectRatios": [],
      "status": "beta",
      "docsUrl": "https://fal.ai/models/fal-ai/lyria2",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "flux-1-schnell",
      "name": "FLUX.1 [schnell]",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "image",
      "family": "creator",
      "tags": [],
      "strengths": [
        "fast (1–3s)",
        "good prompt adherence",
        "low cost"
      ],
      "weaknesses": [
        "no negative prompts",
        "limited style control"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.003,
      "creditsPricePerSec": 0.003,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5",
        "21:9"
      ],
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/flux/schnell",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "flux-1.1-pro",
      "name": "FLUX 1.1 Pro",
      "vendor": "replicate",
      "vendorName": "Replicate",
      "kind": "image",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "highest-quality Flux",
        "strong prompt adherence",
        "fine detail"
      ],
      "weaknesses": [
        "~5–10s per image",
        "more expensive than schnell"
      ],
      "supports": [
        "text-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5",
        "21:9"
      ],
      "status": "stable",
      "docsUrl": "https://replicate.com/black-forest-labs/flux-1.1-pro",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "aurora",
      "name": "Aurora",
      "vendor": "xai",
      "vendorName": "xAI",
      "kind": "image",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "photorealism",
        "native aspect ratio support",
        "creative compositions",
        "fast"
      ],
      "weaknesses": [
        "newer API — model catalog still growing"
      ],
      "supports": [
        "text-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.07,
      "creditsPricePerSec": 0.074,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5",
        "21:9"
      ],
      "badge": "xAI Aurora",
      "status": "stable",
      "docsUrl": "https://docs.x.ai/docs/guides/image-generations",
      "unavailable": true,
      "unavailableReason": "xAI Aurora is not yet wired with a platform key. Add your own xAI key via BYOK to enable, or use flux-1.1-pro / nano-banana / imagen-4 today.",
      "platformOnly": false
    },
    {
      "id": "imagen-4",
      "name": "Imagen 4",
      "vendor": "google",
      "vendorName": "Google AI Studio",
      "kind": "image",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "photorealism",
        "fine detail",
        "accurate anatomy",
        "scene coherence"
      ],
      "weaknesses": [
        "slower than Imagen 4 Fast (~10s)",
        "base64 only — no hosted URL"
      ],
      "supports": [
        "text-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5"
      ],
      "status": "beta",
      "docsUrl": "https://ai.google.dev/gemini-api/docs/imagen",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "imagen-4-fast",
      "name": "Imagen 4 Fast",
      "vendor": "google",
      "vendorName": "Google AI Studio",
      "kind": "image",
      "family": "cinematic",
      "tags": [
        "fast"
      ],
      "strengths": [
        "fast (~3–5s)",
        "photorealism",
        "good for drafts + iterations"
      ],
      "weaknesses": [
        "slightly lower detail than Imagen 4"
      ],
      "supports": [
        "text-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.02,
      "creditsPricePerSec": 0.021,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5"
      ],
      "badge": "Fast",
      "status": "beta",
      "docsUrl": "https://ai.google.dev/gemini-api/docs/imagen",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "ideogram-v3",
      "name": "Ideogram V3",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "image",
      "family": "creator",
      "tags": [
        "typography"
      ],
      "strengths": [
        "best text-in-image",
        "legible typography",
        "poster / cover art"
      ],
      "weaknesses": [
        "aspect ratios limited to fixed presets"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5"
      ],
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/ideogram/v3",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "recraft-v3",
      "name": "Recraft V3",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "image",
      "family": "creator",
      "tags": [],
      "strengths": [
        "long detailed prompts",
        "brand-consistent style",
        "vector-style output"
      ],
      "weaknesses": [
        "slower than Flux Schnell (~10–20s)"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5"
      ],
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/recraft-v3",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "dall-e-3",
      "name": "DALL-E 3",
      "vendor": "openai",
      "vendorName": "OpenAI",
      "kind": "image",
      "family": "creator",
      "tags": [
        "typography",
        "creative"
      ],
      "strengths": [
        "strong text-in-image",
        "creative compositions",
        "photorealism"
      ],
      "weaknesses": [
        "square-leaning aspect ratios",
        "rate-limited per OpenAI plan"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16"
      ],
      "status": "stable",
      "docsUrl": "https://platform.openai.com/docs/api-reference/images",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "nano-banana",
      "name": "Nano Banana",
      "vendor": "replicate",
      "vendorName": "Replicate",
      "kind": "image",
      "family": "creator",
      "tags": [],
      "strengths": [
        "very fast",
        "good identity preservation",
        "cheap",
        "image editing"
      ],
      "weaknesses": [
        "less photoreal than Flux Pro",
        "occasional limb glitches"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.005,
      "creditsPricePerSec": 0.005,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5"
      ],
      "status": "beta",
      "docsUrl": "https://replicate.com/google/nano-banana",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "suno-v4",
      "name": "Suno v4",
      "vendor": "muapi",
      "vendorName": "muapi.ai",
      "kind": "music",
      "family": "music",
      "tags": [],
      "strengths": [
        "best vocal generation",
        "genre + mood tags",
        "full song structure"
      ],
      "weaknesses": [
        "review licensing before commercial use"
      ],
      "supports": [
        "text-to-music"
      ],
      "maxDurationSec": 240,
      "nativeAudio": true,
      "byokPricePerSec": 0.025,
      "creditsPricePerSec": 0.026,
      "aspectRatios": [],
      "badge": "Varosity Credits",
      "status": "beta",
      "description": "Full vocal music generation via muapi — no provider key required, billed in Varosity Credits.",
      "docsUrl": "https://muapi.ai/docs/music-and-speech",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "muapi-flux-dev",
      "name": "Flux Dev",
      "vendor": "muapi",
      "vendorName": "muapi.ai",
      "kind": "image",
      "family": "creator",
      "tags": [],
      "strengths": [
        "12B parameter model",
        "strong prompt adherence",
        "fast guided distillation"
      ],
      "weaknesses": [
        "slower than Flux Schnell",
        "review licensing for commercial use"
      ],
      "supports": [
        "text-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.015,
      "creditsPricePerSec": 0.016,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5",
        "21:9"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "12B rectified flow transformer — higher quality than Schnell, faster than Flux Pro. No provider key needed.",
      "docsUrl": "https://muapi.ai/docs/flux-dev",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "muapi-wan-effects",
      "name": "WAN Video Effects",
      "vendor": "muapi",
      "vendorName": "muapi.ai",
      "kind": "video",
      "family": "creator",
      "tags": [],
      "strengths": [
        "named effect catalog (Cakeify, Squish, VHS, Samurai…)",
        "frame consistency",
        "platform-funded"
      ],
      "weaknesses": [
        "short clips only (≤10s)",
        "artistic use — not photorealistic"
      ],
      "supports": [
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.06,
      "creditsPricePerSec": 0.063,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Apply Cakeify, VHS, Samurai, Film Noir and 20+ other AI effects to images. Billed in Varosity Credits.",
      "docsUrl": "https://muapi.ai/docs/ai-video-effects",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "muapi-latentsync",
      "name": "LatentSync Lip-Sync",
      "vendor": "muapi",
      "vendorName": "muapi.ai",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "lip-sync",
        "video-to-video",
        "budget"
      ],
      "strengths": [
        "smooth temporal consistency",
        "fast inference",
        "any video + audio"
      ],
      "weaknesses": [
        "needs pre-existing video",
        "no scene generation"
      ],
      "supports": [
        "image-audio-to-video"
      ],
      "maxDurationSec": 60,
      "nativeAudio": true,
      "byokPricePerSec": 0.05,
      "creditsPricePerSec": 0.053,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Sync lip movements to any audio track on an existing video. Billed in Varosity Credits.",
      "docsUrl": "https://muapi.ai/docs/music-and-speech",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "muapi-wan-t2v",
      "name": "WAN 2.1 Text-to-Video",
      "vendor": "muapi",
      "vendorName": "muapi.ai",
      "kind": "video",
      "family": "creator",
      "tags": [],
      "strengths": [
        "platform-funded (no BYOK)",
        "up to 720p / high quality",
        "reliable fallback"
      ],
      "weaknesses": [
        "$0.30/video flat rate",
        "5 or 10s clips only"
      ],
      "supports": [
        "text-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.03,
      "creditsPricePerSec": 0.032,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "WAN 2.1 text-to-video via muapi — platform-funded fallback when WaveSpeed is unavailable. No provider key needed.",
      "docsUrl": "https://muapi.ai/docs",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "sd3.5-medium",
      "name": "SD3.5 Medium",
      "vendor": "stability",
      "vendorName": "Stability AI",
      "kind": "image",
      "family": "creator",
      "tags": [],
      "strengths": [
        "fast (3–5s)",
        "good prompt adherence",
        "lower cost than Large"
      ],
      "weaknesses": [
        "lower detail ceiling than SD3.5 Large"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.035,
      "creditsPricePerSec": 0.037,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5",
        "21:9"
      ],
      "status": "stable",
      "docsUrl": "https://platform.stability.ai/docs/api-reference#tag/Generate",
      "unavailable": true,
      "unavailableReason": "Stability SD3.5 is not yet wired with a platform key. Add your own Stability key via BYOK to enable, or use flux-1-schnell / nano-banana today.",
      "platformOnly": false
    },
    {
      "id": "sd3.5-large",
      "name": "SD3.5 Large",
      "vendor": "stability",
      "vendorName": "Stability AI",
      "kind": "image",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "highest Stability quality",
        "fine detail",
        "photorealism"
      ],
      "weaknesses": [
        "slower than Medium (~8–15s)"
      ],
      "supports": [
        "text-to-image",
        "image-to-image"
      ],
      "maxDurationSec": 0,
      "nativeAudio": false,
      "byokPricePerSec": 0.065,
      "creditsPricePerSec": 0.068,
      "aspectRatios": [
        "1:1",
        "16:9",
        "9:16",
        "4:5",
        "21:9"
      ],
      "badge": "Highest quality",
      "status": "stable",
      "docsUrl": "https://platform.stability.ai/docs/api-reference#tag/Generate",
      "unavailable": true,
      "unavailableReason": "Stability SD3.5 is not yet wired with a platform key. Add your own Stability key via BYOK to enable, or use flux-1.1-pro / imagen-4 today.",
      "platformOnly": false
    },
    {
      "id": "openai-tts-1",
      "name": "OpenAI TTS-1",
      "vendor": "openai",
      "vendorName": "OpenAI",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "fast",
        "6 voices",
        "low latency"
      ],
      "weaknesses": [
        "slightly lower quality than TTS-1 HD"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.004,
      "creditsPricePerSec": 0.004,
      "aspectRatios": [],
      "status": "stable",
      "docsUrl": "https://platform.openai.com/docs/api-reference/audio/createSpeech",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "openai-tts-1-hd",
      "name": "OpenAI TTS-1 HD",
      "vendor": "openai",
      "vendorName": "OpenAI",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "highest OpenAI voice quality",
        "6 voices",
        "natural prosody"
      ],
      "weaknesses": [
        "2× cost of TTS-1"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.008,
      "creditsPricePerSec": 0.008,
      "aspectRatios": [],
      "badge": "HD quality",
      "status": "stable",
      "docsUrl": "https://platform.openai.com/docs/api-reference/audio/createSpeech",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "deepgram-aura-2",
      "name": "Deepgram Aura 2",
      "vendor": "deepgram",
      "vendorName": "Deepgram",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "ultra-low latency",
        "natural prosody",
        "cheap ($0.030/1K chars)"
      ],
      "weaknesses": [
        "English-only in Aura 2",
        "fewer voice options than ElevenLabs"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.002,
      "creditsPricePerSec": 0.002,
      "aspectRatios": [],
      "badge": "Lowest latency",
      "status": "stable",
      "docsUrl": "https://developers.deepgram.com/docs/tts-rest",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "cartesia-sonic-2",
      "name": "Cartesia Sonic 2",
      "vendor": "cartesia",
      "vendorName": "Cartesia",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "ultra-low latency (~90ms)",
        "natural prosody",
        "large public voice library"
      ],
      "weaknesses": [
        "voice ids are library-specific — call list_voices"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.006,
      "creditsPricePerSec": 0.006,
      "aspectRatios": [],
      "status": "stable",
      "docsUrl": "https://docs.cartesia.ai/api-reference",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "fish-audio-tts",
      "name": "Fish Audio",
      "vendor": "fish-audio",
      "vendorName": "Fish Audio",
      "kind": "voice",
      "family": "tts",
      "tags": [],
      "strengths": [
        "multilingual",
        "cheap",
        "large community voice library"
      ],
      "weaknesses": [
        "voice ids are library-specific — call list_voices"
      ],
      "supports": [
        "text-to-speech"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.004,
      "creditsPricePerSec": 0.004,
      "aspectRatios": [],
      "status": "stable",
      "docsUrl": "https://docs.fish.audio/",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "heygen-avatar-4",
      "name": "HeyGen Avatar (Digital Twin)",
      "vendor": "heygen",
      "vendorName": "HeyGen",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "lip-sync",
        "premium"
      ],
      "strengths": [
        "studio-grade lip sync",
        "Avatar IV / Avatar V motion engines",
        "voice emotion + speed control",
        "captions & custom backgrounds"
      ],
      "weaknesses": [
        "requires a pre-trained avatar look id",
        "fixed framing"
      ],
      "supports": [
        "text-to-video",
        "image-audio-to-video"
      ],
      "maxDurationSec": 300,
      "nativeAudio": true,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "status": "stable",
      "description": "HeyGen's flagship talking-avatar (Digital Twin) on the v3 API — the highest-quality lip-sync available. Drives a pre-trained avatar look with a script (or your own audio), with the Avatar IV motion engine, voice emotion/speed/pitch, captions, and custom backgrounds.",
      "docsUrl": "https://developers.heygen.com/generate-avatar-video",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "heygen-photo-avatar",
      "name": "HeyGen Photo Avatar (Avatar IV)",
      "vendor": "heygen",
      "vendorName": "HeyGen",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "lip-sync",
        "photo-to-video"
      ],
      "strengths": [
        "animate ANY photo as the speaker",
        "Avatar IV motion engine",
        "motion prompt + expressiveness control"
      ],
      "weaknesses": [
        "needs a clear front-facing photo",
        "less consistent than a trained Digital Twin"
      ],
      "supports": [
        "image-audio-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 300,
      "nativeAudio": true,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1",
        "4:5"
      ],
      "status": "stable",
      "description": "Turn a single photo into a talking presenter with HeyGen's Avatar IV engine. Pass a photo URL + script and HeyGen animates the face with natural motion — no pre-training required. Control motion via a prompt and expressiveness level.",
      "docsUrl": "https://developers.heygen.com/photo-avatar",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "heygen-cinematic",
      "name": "HeyGen Cinematic Avatar",
      "vendor": "heygen",
      "vendorName": "HeyGen",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "talking-avatar",
        "cinematic"
      ],
      "strengths": [
        "prompt-driven cinematic shots",
        "blends 1–3 avatar looks into a scene",
        "reference videos/images for style"
      ],
      "weaknesses": [
        "4–15s per clip",
        "less control than a scripted avatar video"
      ],
      "supports": [
        "text-to-video",
        "reference-to-video"
      ],
      "maxDurationSec": 15,
      "nativeAudio": true,
      "byokPricePerSec": 0.1,
      "creditsPricePerSec": 0.105,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "beta",
      "description": "Prompt-driven cinematic shots featuring your avatar — describe a scene (camera, setting, action) and HeyGen renders a documentary-style clip from 1–3 avatar looks, optionally guided by reference clips/images.",
      "docsUrl": "https://developers.heygen.com/cinematic-avatar",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "heygen-video-agent",
      "name": "HeyGen Video Agent",
      "vendor": "heygen",
      "vendorName": "HeyGen",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "agent"
      ],
      "strengths": [
        "prompt → finished video",
        "agent writes script, picks avatar & scenes",
        "accepts reference files"
      ],
      "weaknesses": [
        "least granular control",
        "longer render"
      ],
      "supports": [
        "text-to-video",
        "reference-to-video"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.12,
      "creditsPricePerSec": 0.126,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "status": "beta",
      "description": "HeyGen's flagship agent: give it a prompt and it produces a complete video end-to-end — writing the script, choosing the avatar, and composing scenes. Attach reference files (images, docs) to ground the output.",
      "docsUrl": "https://developers.heygen.com/docs/video-agent",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "heygen-video-translate",
      "name": "HeyGen Video Translate",
      "vendor": "heygen",
      "vendorName": "HeyGen",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "lip-sync",
        "translation",
        "video-to-video"
      ],
      "strengths": [
        "multilingual lip-sync dubbing",
        "preserves original speaker appearance",
        "supports 40+ languages",
        "speed or precision mode"
      ],
      "weaknesses": [
        "requires source video with clear speech",
        "slower than avatar generation"
      ],
      "supports": [
        "video-to-video"
      ],
      "maxDurationSec": 600,
      "nativeAudio": true,
      "byokPricePerSec": 0.1,
      "creditsPricePerSec": 0.105,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "stable",
      "description": "Translate and dub an existing video into any of 40+ languages with perfectly lip-synced audio. Ideal for brands producing multilingual content from a single master video. Speed or precision mode, optional captions and speech enhancement.",
      "docsUrl": "https://developers.heygen.com/docs/video-translate",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "d-id-talks",
      "name": "D-ID AI Presenter",
      "vendor": "d-id",
      "vendorName": "D-ID",
      "kind": "video",
      "family": "avatar",
      "tags": [
        "talking-avatar",
        "budget"
      ],
      "strengths": [
        "talking avatars from any photo",
        "text-to-presenter",
        "fast render"
      ],
      "weaknesses": [
        "fixed framing",
        "requires source image for best results"
      ],
      "supports": [
        "text-to-video",
        "image-audio-to-video"
      ],
      "maxDurationSec": 300,
      "nativeAudio": true,
      "byokPricePerSec": 0.05,
      "creditsPricePerSec": 0.053,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "stable",
      "docsUrl": "https://docs.d-id.com/reference/createtalk",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "hunyuan-video",
      "name": "Hunyuan Video",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "physics",
        "cinematic"
      ],
      "strengths": [
        "open-source quality",
        "long coherent motion",
        "strong physics"
      ],
      "weaknesses": [
        "slow render time (60–120s)",
        "limited camera controls"
      ],
      "supports": [
        "text-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.09,
      "creditsPricePerSec": 0.095,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/hunyuanvideo",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "ltx-video",
      "name": "LTX Video",
      "vendor": "fal",
      "vendorName": "fal.ai",
      "kind": "video",
      "family": "creator",
      "tags": [
        "fast"
      ],
      "strengths": [
        "fastest open video model (<5s)",
        "image-to-video",
        "good for iteration"
      ],
      "weaknesses": [
        "lower detail than Kling/Veo",
        "shorter max duration"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 5,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Fastest",
      "status": "stable",
      "docsUrl": "https://fal.ai/models/fal-ai/ltx-video",
      "unavailable": false,
      "platformOnly": false
    },
    {
      "id": "ws-luma-ray-2",
      "name": "Luma Ray 2",
      "vendor": "wavespeed",
      "vendorName": "WaveSpeed",
      "kind": "video",
      "family": "cinematic",
      "tags": [],
      "strengths": [
        "fluid motion",
        "cinematic quality",
        "strong prompt adherence"
      ],
      "weaknesses": [
        "higher cost than Pika"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Luma Ray 2 text-to-video via WaveSpeed. Fluid, cinematic motion. Billed in Varosity Credits.",
      "docsUrl": "https://wavespeed.ai/docs/docs-api/luma/luma-ray-2-t2v",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "ws-pika-2.2",
      "name": "Pika 2.2",
      "vendor": "wavespeed",
      "vendorName": "WaveSpeed",
      "kind": "video",
      "family": "creator",
      "tags": [],
      "strengths": [
        "fast generation",
        "stylized output",
        "good character consistency"
      ],
      "weaknesses": [
        "shorter max duration"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.04,
      "creditsPricePerSec": 0.042,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Pika 2.2 text-to-video via WaveSpeed. Fast and stylized. Billed in Varosity Credits.",
      "docsUrl": "https://wavespeed.ai/docs/docs-api/pika/pika-v2.2-t2v",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "ws-hailuo-02",
      "name": "Hailuo 02",
      "vendor": "wavespeed",
      "vendorName": "WaveSpeed",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "physics",
        "complex-motion"
      ],
      "strengths": [
        "physics realism",
        "complex motion",
        "high resolution"
      ],
      "weaknesses": [
        "fixed 6s duration"
      ],
      "supports": [
        "text-to-video",
        "image-to-video"
      ],
      "maxDurationSec": 6,
      "nativeAudio": false,
      "byokPricePerSec": 0.08,
      "creditsPricePerSec": 0.084,
      "aspectRatios": [
        "16:9",
        "9:16"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Hailuo 02 Pro via WaveSpeed. Best-in-class physics and complex motion. Billed in Varosity Credits.",
      "docsUrl": "https://wavespeed.ai/docs/docs-api/minimax/minimax-hailuo-02-pro",
      "unavailable": false,
      "platformOnly": true
    },
    {
      "id": "ws-runway-gen4",
      "name": "Runway Gen 4",
      "vendor": "wavespeed",
      "vendorName": "WaveSpeed",
      "kind": "video",
      "family": "cinematic",
      "tags": [
        "camera-control",
        "video-to-video"
      ],
      "strengths": [
        "camera control",
        "cinematic motion brush",
        "video-to-video"
      ],
      "weaknesses": [
        "requires reference image for best results"
      ],
      "supports": [
        "image-to-video"
      ],
      "maxDurationSec": 10,
      "nativeAudio": false,
      "byokPricePerSec": 0.01,
      "creditsPricePerSec": 0.011,
      "aspectRatios": [
        "16:9",
        "9:16",
        "1:1"
      ],
      "badge": "Varosity Credits",
      "status": "stable",
      "description": "Runway Gen 4 Turbo via WaveSpeed. Precise camera control and motion brush. Billed in Varosity Credits.",
      "docsUrl": "https://wavespeed.ai/docs/docs-api/runwayml/runwayml-gen4-turbo",
      "unavailable": false,
      "platformOnly": true
    }
  ]
}
