{
  "$schema": "https://hyviral.com/pricing.schema.json",
  "version": 5,
  "currency": "USD",
  "mcpEndpoint": "https://api.hyviral.com/mcp",
  "usdPerCredit": 0.002,
  "platforms": [
    "youtube",
    "instagram",
    "tiktok",
    "facebook"
  ],
  "notes": [
    "Every plan bills the same credit rates. The monthly grant is what differs.",
    "MCP tools that spend credits quote a price first and require confirmation before executing.",
    "A quote is a ceiling: you are never charged more than it says, and often less.",
    "Read tools are free. Generation tools that run an internal AI pass fold its cost into the quote — never a second charge.",
    "Credits do not expire within the billing period; see the plan for rollover."
  ],
  "spend": {
    "quoteThenConfirm": true,
    "quoteIsCeiling": true,
    "quoteTtlMinutes": 10,
    "dailyCeilingPerCredential": {
      "floorCredits": 50000,
      "shareOfMonthlyGrant": 0.2
    },
    "researchCacheHitIsFree": true
  },
  "auth": {
    "oauth": true,
    "pkceMethods": [
      "S256"
    ],
    "dynamicClientRegistration": true,
    "personalAccessTokens": true
  },
  "features": {
    "profiles": {
      "maxByPlan": {
        "connect": 1,
        "pro": 3,
        "team": 5
      }
    },
    "digest": {
      "includedOn": [
        "pro",
        "team"
      ],
      "creditsPerDay": 0,
      "deepResearchOn": [
        "pro",
        "team"
      ],
      "onRequestOn": [
        "connect"
      ]
    },
    "reports": {
      "freeOnLink": true,
      "freeManualPerMonth": {
        "connect": 0,
        "pro": 1,
        "team": 1
      },
      "overage": {
        "baseCredits": 15,
        "perMinuteCredits": 5,
        "unknownDurationFlat": 25
      },
      "photoPost": {
        "imageCredits": 15,
        "carouselShortCredits": 25,
        "carouselLongCredits": 40,
        "carouselShortMaxSlides": 10
      }
    },
    "watchlist": {
      "maxItemsPerProfile": 10,
      "maxEnabledPerProfile": 3,
      "includedOn": [
        "pro",
        "team"
      ]
    },
    "avatar": {
      "voiceClone": {
        "monthlyLimit": 15
      }
    },
    "bestHours": {
      "windowDays": 90
    },
    "carousel": {
      "creditsPerSlide": 5,
      "minimumCredits": 15,
      "maxSlides": 10,
      "styleKits": [
        "editorial",
        "bold_statement",
        "soft_mesh",
        "mono_report",
        "clean_sans"
      ],
      "stillAllowance": {
        "freeRenders": 5,
        "windowHours": 72
      }
    },
    "render": {
      "maxDurationSeconds": 3600,
      "creditsPerSecond": 0.9615384615384616,
      "minCredits": 55,
      "chunked": true,
      "progressGranularity": "parts",
      "includedOn": [
        "connect",
        "pro",
        "team"
      ],
      "longForm": {
        "enabled": true,
        "maxDurationSeconds": 5400,
        "plans": [
          "pro",
          "team"
        ]
      }
    }
  },
  "models": [
    {
      "id": "veo-3.1-fast",
      "engine": "auto",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Veo 3.1 Fast",
      "bestFor": "photoreal",
      "provider": "google",
      "providerModel": "veo-3.1-fast-generate-001",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": true,
      "keyGated": false,
      "billingModelIds": [
        "veo-3.1-fast-generate-preview",
        "veo-3.1-fast-generate-001"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": true,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 300,
          "max": 600
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 300
          },
          {
            "label": "6s",
            "credits": 450
          },
          {
            "label": "8s",
            "credits": 600
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 8,
        "fixedDurations": [
          4,
          6,
          8
        ],
        "nativeAudio": true,
        "acceptsRealFaces": true,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": true,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": true
      }
    },
    {
      "id": "seedance-2-5",
      "engine": "seedance-2-5",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Seedance 2.5",
      "bestFor": "photoreal",
      "provider": "replicate",
      "providerModel": "bytedance/seedance-2.5",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "seedance-2.5-replicate"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": true,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 1175,
          "max": 2325
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 1175
          },
          {
            "label": "8s",
            "credits": 2325
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 30,
        "fixedDurations": null,
        "nativeAudio": true,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": true,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "kling-v3",
      "engine": "kling-v3",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Kling 3",
      "bestFor": "cinematic",
      "provider": "replicate",
      "providerModel": "kwaivgi/kling-v3-video",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "kling-v3-replicate"
      ],
      "delivers": {
        "resolution": "1080p",
        "audio": true,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 1700,
          "max": 3375
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 1700
          },
          {
            "label": "8s",
            "credits": 3375
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "1080p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 15,
        "fixedDurations": null,
        "nativeAudio": true,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": true,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "vidu-q3-pro",
      "engine": "vidu-q3-pro",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Vidu Q3 Pro",
      "bestFor": "multishot",
      "provider": "replicate",
      "providerModel": "vidu/q3-pro",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "vidu-q3-pro-replicate"
      ],
      "delivers": {
        "resolution": "1080p",
        "audio": false,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 800,
          "max": 1600
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 800
          },
          {
            "label": "8s",
            "credits": 1600
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "1080p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 16,
        "fixedDurations": null,
        "nativeAudio": false,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": true,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "runway-gen-4-5",
      "engine": "runway-gen-4-5",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Runway Gen-4.5",
      "bestFor": "photoreal",
      "provider": "replicate",
      "providerModel": "runwayml/gen-4.5",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "runway-gen-4-5-replicate"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": false,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 750,
          "max": 1500
        },
        "ladder": [
          {
            "label": "5s",
            "credits": 750
          },
          {
            "label": "10s",
            "credits": 1500
          }
        ]
      },
      "basisSeconds": [
        5,
        10
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 5,
        "maxDurationSeconds": 10,
        "fixedDurations": [
          5,
          10
        ],
        "nativeAudio": false,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": false,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "luma-ray-3-2",
      "engine": "luma-ray-3-2",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Luma Ray 3.2",
      "bestFor": "cinematic",
      "provider": "replicate",
      "providerModel": "luma/ray-3.2",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "luma-ray-3-2-replicate"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": false,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "clip",
        "perClip": {
          "min": 375,
          "max": 375
        },
        "ladder": [
          {
            "label": "5s",
            "credits": 375
          }
        ]
      },
      "basisSeconds": [
        5,
        5
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 5,
        "maxDurationSeconds": 5,
        "fixedDurations": [
          5
        ],
        "nativeAudio": false,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": false,
        "acceptsLastFrame": false,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "hailuo-2-3-fast",
      "engine": "hailuo-2-3-fast",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Hailuo 2.3 Fast",
      "bestFor": "speed",
      "provider": "replicate",
      "providerModel": "minimax/hailuo-2.3-fast",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "hailuo-2-3-fast-replicate"
      ],
      "delivers": {
        "resolution": "768p",
        "audio": false,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "clip",
        "perClip": {
          "min": 250,
          "max": 250
        },
        "ladder": [
          {
            "label": "6s",
            "credits": 250
          }
        ]
      },
      "basisSeconds": [
        6,
        6
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "768p"
        ],
        "minDurationSeconds": 6,
        "maxDurationSeconds": 6,
        "fixedDurations": [
          6
        ],
        "nativeAudio": false,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": true,
        "acceptsLastFrame": false,
        "requiresFirstFrame": true,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "pixverse-v6",
      "engine": "pixverse-v6",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "PixVerse V6",
      "bestFor": "speed",
      "provider": "replicate",
      "providerModel": "pixverse/pixverse-v6",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "pixverse-v6-replicate"
      ],
      "delivers": {
        "resolution": "576p",
        "audio": true,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 575,
          "max": 900
        },
        "ladder": [
          {
            "label": "5s",
            "credits": 575
          },
          {
            "label": "8s",
            "credits": 900
          },
          {
            "label": "10s",
            "credits": 1125
          },
          {
            "label": "15s",
            "credits": 1700
          }
        ]
      },
      "basisSeconds": [
        5,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "576p"
        ],
        "minDurationSeconds": 5,
        "maxDurationSeconds": 15,
        "fixedDurations": [
          5,
          8,
          10,
          15
        ],
        "nativeAudio": true,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": false,
        "acceptsLastFrame": false,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "wan-2-7-t2v",
      "engine": "wan-2-7-t2v",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Wan 2.7",
      "bestFor": "budget",
      "provider": "replicate",
      "providerModel": "wan-video/wan-2.7-t2v",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "wan-2-7-t2v-replicate"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": false,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 500,
          "max": 1000
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 500
          },
          {
            "label": "8s",
            "credits": 1000
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 10,
        "fixedDurations": null,
        "nativeAudio": false,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": false,
        "acceptsLastFrame": false,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "p-video",
      "engine": "p-video",
      "tool": "generate_video",
      "modality": "video",
      "displayName": "Pruna P-Video",
      "bestFor": "draft",
      "provider": "replicate",
      "providerModel": "prunaai/p-video",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "p-video-replicate"
      ],
      "delivers": {
        "resolution": "720p",
        "audio": true,
        "outputFormat": "mp4"
      },
      "credits": {
        "unit": "second",
        "perClip": {
          "min": 100,
          "max": 200
        },
        "ladder": [
          {
            "label": "4s",
            "credits": 100
          },
          {
            "label": "8s",
            "credits": 200
          }
        ]
      },
      "basisSeconds": [
        4,
        8
      ],
      "capabilities": {
        "kind": "video",
        "resolutions": [
          "720p"
        ],
        "minDurationSeconds": 4,
        "maxDurationSeconds": 16,
        "fixedDurations": null,
        "nativeAudio": true,
        "acceptsRealFaces": false,
        "acceptsConditioningInputs": false,
        "acceptsLastFrame": false,
        "requiresFirstFrame": false,
        "acceptsReferencesWithFrames": false,
        "acceptsVideoConditioning": false
      }
    },
    {
      "id": "gemini-2.5-flash-image",
      "engine": "auto",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "Nano Banana",
      "bestFor": "budget",
      "provider": "google",
      "providerModel": "gemini-2.5-flash-image",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": true,
      "selector": {
        "argument": "quality",
        "value": "fast"
      },
      "keyGated": false,
      "billingModelIds": [
        "gemini-2.5-flash-image"
      ],
      "delivers": null,
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 50,
          "max": 50
        },
        "ladder": [
          {
            "label": "1K",
            "credits": 50
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K"
        ],
        "transparency": true,
        "nativeText": true,
        "maxReferenceImages": 6,
        "acceptsRealFaces": true
      }
    },
    {
      "id": "gemini-3.1-flash-image",
      "engine": "auto",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "Nano Banana 2",
      "bestFor": "speed",
      "provider": "google",
      "providerModel": "gemini-3.1-flash-image",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "selector": {
        "argument": "quality",
        "value": "standard"
      },
      "keyGated": false,
      "billingModelIds": [
        "gemini-3.1-flash-image"
      ],
      "delivers": null,
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 85,
          "max": 200
        },
        "ladder": [
          {
            "label": "1K",
            "credits": 85
          },
          {
            "label": "2K",
            "credits": 150
          },
          {
            "label": "4K",
            "credits": 200
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K",
          "2K",
          "4K"
        ],
        "transparency": true,
        "nativeText": true,
        "maxReferenceImages": 6,
        "acceptsRealFaces": true
      }
    },
    {
      "id": "gemini-3-pro-image",
      "engine": "auto",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "Nano Banana Pro",
      "bestFor": "typography",
      "provider": "google",
      "providerModel": "gemini-3-pro-image",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "selector": {
        "argument": "quality",
        "value": "ultra"
      },
      "keyGated": false,
      "billingModelIds": [
        "gemini-3-pro-image"
      ],
      "delivers": null,
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 175,
          "max": 300
        },
        "ladder": [
          {
            "label": "1K",
            "credits": 175
          },
          {
            "label": "2K",
            "credits": 175
          },
          {
            "label": "4K",
            "credits": 300
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K",
          "2K",
          "4K"
        ],
        "transparency": true,
        "nativeText": true,
        "maxReferenceImages": 6,
        "acceptsRealFaces": true
      }
    },
    {
      "id": "gpt-image-2",
      "engine": "openai",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "GPT Image 2",
      "bestFor": "editing",
      "provider": "openai",
      "providerModel": "gpt-image-2",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "gpt-image-2-low",
        "gpt-image-2-medium",
        "gpt-image-2-high"
      ],
      "delivers": null,
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 10,
          "max": 300
        },
        "ladder": [
          {
            "label": "low",
            "credits": 10
          },
          {
            "label": "medium",
            "credits": 70
          },
          {
            "label": "high",
            "credits": 275
          },
          {
            "label": "high with reference images",
            "credits": 300
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K"
        ],
        "transparency": false,
        "nativeText": true,
        "maxReferenceImages": 6,
        "acceptsRealFaces": true
      }
    },
    {
      "id": "flux-2-pro",
      "engine": "flux-2-pro",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "FLUX.2 Pro",
      "bestFor": "photoreal",
      "provider": "replicate",
      "providerModel": "black-forest-labs/flux-2-pro",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "flux-2-pro-replicate"
      ],
      "delivers": {
        "resolution": "1K",
        "outputFormat": "png"
      },
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 40,
          "max": 40
        },
        "ladder": [
          {
            "label": "1K",
            "credits": 40
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K"
        ],
        "transparency": false,
        "nativeText": false,
        "maxReferenceImages": 0,
        "acceptsRealFaces": false
      }
    },
    {
      "id": "seedream-4-5",
      "engine": "seedream-4-5",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "Seedream 4.5",
      "bestFor": "cinematic",
      "provider": "replicate",
      "providerModel": "bytedance/seedream-4.5",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "seedream-4-5-replicate"
      ],
      "delivers": {
        "resolution": "2K",
        "outputFormat": "jpeg"
      },
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 50,
          "max": 50
        },
        "ladder": [
          {
            "label": "2K",
            "credits": 50
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "2K"
        ],
        "transparency": false,
        "nativeText": false,
        "maxReferenceImages": 0,
        "acceptsRealFaces": false
      }
    },
    {
      "id": "ideogram-v3-turbo",
      "engine": "ideogram-v3-turbo",
      "tool": "generate_image",
      "modality": "image",
      "displayName": "Ideogram V3 Turbo",
      "bestFor": "typography",
      "provider": "replicate",
      "providerModel": "ideogram-ai/ideogram-v3-turbo",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "ideogram-v3-turbo-replicate"
      ],
      "delivers": {
        "resolution": "1K",
        "outputFormat": "png"
      },
      "credits": {
        "unit": "image",
        "perImage": {
          "min": 40,
          "max": 40
        },
        "ladder": [
          {
            "label": "1K",
            "credits": 40
          }
        ]
      },
      "capabilities": {
        "kind": "image",
        "resolutions": [
          "1K"
        ],
        "transparency": false,
        "nativeText": true,
        "maxReferenceImages": 0,
        "acceptsRealFaces": false
      }
    },
    {
      "id": "gemini-3.1-flash-image-edit",
      "engine": "auto",
      "tool": "edit_image",
      "modality": "image_edit",
      "displayName": "Nano Banana 2",
      "bestFor": "editing",
      "provider": "google",
      "providerModel": "gemini-3.1-flash-image",
      "direct": true,
      "status": "active",
      "reachable": true,
      "isDefault": true,
      "keyGated": false,
      "billingModelIds": [
        "gemini-3.1-flash-image"
      ],
      "delivers": null,
      "credits": {
        "unit": "image",
        "perOperation": 85,
        "ladder": [
          {
            "label": "edit",
            "credits": 85
          }
        ]
      },
      "capabilities": {
        "kind": "image_edit",
        "acceptsMask": true,
        "acceptsRealFaces": true
      }
    },
    {
      "id": "flux-kontext-pro",
      "engine": "flux-kontext-pro",
      "tool": "edit_image",
      "modality": "image_edit",
      "displayName": "FLUX.1 Kontext Pro",
      "bestFor": "editing",
      "provider": "replicate",
      "providerModel": "black-forest-labs/flux-kontext-pro",
      "direct": false,
      "status": "active",
      "reachable": true,
      "isDefault": false,
      "keyGated": true,
      "billingModelIds": [
        "flux-kontext-pro-replicate"
      ],
      "delivers": {
        "resolution": "1K",
        "outputFormat": "png"
      },
      "credits": {
        "unit": "image",
        "perOperation": 50,
        "ladder": [
          {
            "label": "edit",
            "credits": 50
          }
        ]
      },
      "capabilities": {
        "kind": "image_edit",
        "acceptsMask": false,
        "acceptsRealFaces": false
      }
    },
    {
      "id": "real-esrgan",
      "engine": null,
      "tool": "upscale_image",
      "modality": "image_upscale",
      "displayName": "Real-ESRGAN",
      "bestFor": "budget",
      "provider": "replicate",
      "providerModel": "nightmareai/real-esrgan",
      "direct": false,
      "status": "planned",
      "reachable": true,
      "isDefault": true,
      "selector": {
        "argument": "quality",
        "value": "default"
      },
      "keyGated": true,
      "billingModelIds": [
        "real-esrgan-replicate"
      ],
      "delivers": {
        "resolution": "4K",
        "outputFormat": "png"
      },
      "credits": {
        "unit": "image",
        "perOperation": 5,
        "ladder": [
          {
            "label": "upscale",
            "credits": 5
          }
        ]
      },
      "capabilities": {
        "kind": "image_upscale",
        "minTargetLongEdge": 64,
        "maxTargetLongEdge": 4096,
        "acceptsRealFaces": false
      }
    },
    {
      "id": "topaz-image-upscale",
      "engine": null,
      "tool": "upscale_image",
      "modality": "image_upscale",
      "displayName": "Topaz Image Upscale",
      "bestFor": "photoreal",
      "provider": "replicate",
      "providerModel": "topazlabs/image-upscale",
      "direct": false,
      "status": "planned",
      "reachable": false,
      "isDefault": false,
      "selector": {
        "argument": "quality",
        "value": "max"
      },
      "keyGated": true,
      "billingModelIds": [
        "topaz-image-upscale-replicate"
      ],
      "delivers": {
        "resolution": "4K",
        "outputFormat": "png"
      },
      "credits": {
        "unit": "image",
        "perOperation": 100,
        "ladder": [
          {
            "label": "upscale",
            "credits": 100
          }
        ]
      },
      "capabilities": {
        "kind": "image_upscale",
        "minTargetLongEdge": 64,
        "maxTargetLongEdge": 4096,
        "acceptsRealFaces": false
      }
    }
  ],
  "plans": [
    {
      "id": "connect",
      "name": "Connect",
      "priceUsd": 29,
      "billingInterval": "month",
      "includedCreditsPerMonth": 12000,
      "usdPerCreditEffective": 0.00242,
      "maxProfiles": 1,
      "mcpAccess": true,
      "includesWebApp": true,
      "tagline": "Understand what works on your channel. Give your agent the tools to create more of it.",
      "recommendedForAgents": true
    },
    {
      "id": "pro",
      "name": "Pro",
      "priceUsd": 79,
      "billingInterval": "month",
      "includedCreditsPerMonth": 50000,
      "usdPerCreditEffective": 0.00158,
      "maxProfiles": 3,
      "mcpAccess": true,
      "includesWebApp": true,
      "tagline": "Three profiles, the competitor watchlist and the deeper daily digest.",
      "recommendedForAgents": false
    },
    {
      "id": "team",
      "name": "Hype",
      "priceUsd": 129,
      "billingInterval": "month",
      "includedCreditsPerMonth": 80000,
      "usdPerCreditEffective": 0.00161,
      "maxProfiles": 5,
      "mcpAccess": true,
      "includesWebApp": true,
      "tagline": "Five profiles and the largest credit grant.",
      "recommendedForAgents": false
    }
  ],
  "addons": [],
  "creditPacks": [
    {
      "id": "pack_5000",
      "credits": 5000,
      "priceUsdCents": 1000,
      "discountPercent": 0,
      "priceUsd": 10
    },
    {
      "id": "pack_15000",
      "credits": 15000,
      "priceUsdCents": 2500,
      "discountPercent": 17,
      "popular": true,
      "priceUsd": 25
    },
    {
      "id": "pack_35000",
      "credits": 35000,
      "priceUsdCents": 5000,
      "discountPercent": 29,
      "priceUsd": 50
    }
  ],
  "toolCredits": [
    {
      "tool": "analyze_url",
      "scope": "research:run",
      "requiresConfirmation": true,
      "background": true,
      "credits": 55,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 55,
        "quotedCeilingCredits": 350,
        "note": "The quote is a ceiling for the longest video this tool accepts (60 minutes). You are charged 50 credits plus 5 per started minute of the video; the confirmation card shows that real price when the platform answers with the length in time, and the ceiling otherwise. typicalCredits here is a 60-second video.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "analyze_video_structure",
      "scope": "intel:read",
      "requiresConfirmation": true,
      "background": false,
      "credits": 15,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 15,
        "quotedCeilingCredits": 225,
        "note": "The quote is a ceiling for the longest source this tool accepts. You are charged per second of SOURCE analysed, so a shorter clip costs proportionally less. typicalCredits here is a 30-second clip.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "autofix_asset",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "best_posting_times",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "get_best_posting_times"
    },
    {
      "tool": "cancel_job",
      "scope": "jobs:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "check_goals",
      "scope": "account:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "check_similarity_to_history",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "complete_upload",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "upload_complete"
    },
    {
      "tool": "compose_layers",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "computed",
        "minCredits": 0,
        "typicalCredits": 0,
        "maxCredits": 2,
        "examples": [
          {
            "label": "a four-layer thumbnail",
            "credits": 0
          },
          {
            "label": "a six-layer end card",
            "credits": 2
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "create_carousel",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 25,
      "pricing": {
        "model": "computed",
        "minCredits": 15,
        "typicalCredits": 25,
        "maxCredits": 50,
        "examples": [
          {
            "label": "2 slides",
            "credits": 15
          },
          {
            "label": "5 slides",
            "credits": 25
          },
          {
            "label": "10 slides",
            "credits": 50
          }
        ],
        "note": "Prices the slides this call renders. Sending `slides` quotes exactly this; sending a `brief` instead adds an allowance for the copy drafter this tool then runs, and you are charged what the call actually cost, up to the quote at most.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "job_raw_tokens"
        }
      },
      "aliasOf": "generate_carousel"
    },
    {
      "tool": "describe_project",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "video_project"
    },
    {
      "tool": "edit_carousel",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 5,
      "pricing": {
        "model": "computed",
        "minCredits": 0,
        "typicalCredits": 5,
        "maxCredits": 50,
        "examples": [
          {
            "label": "caption only",
            "credits": 0
          },
          {
            "label": "one slide rewritten",
            "credits": 5
          },
          {
            "label": "style kit changed",
            "credits": 50
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "edit_image",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 85,
      "pricing": {
        "model": "computed",
        "minCredits": 50,
        "typicalCredits": 85,
        "maxCredits": 85,
        "examples": [
          {
            "label": "One edit on the cheapest model",
            "credits": 50
          },
          {
            "label": "One edit, default engine",
            "credits": 85
          },
          {
            "label": "A masked edit, which always runs on the default model",
            "credits": 85
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "edit_thumbnail",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 85,
      "pricing": {
        "model": "computed",
        "minCredits": 0,
        "typicalCredits": 85,
        "maxCredits": 540,
        "examples": [
          {
            "label": "change the wording (free re-compose)",
            "credits": 0
          },
          {
            "label": "change the artwork",
            "credits": 85
          },
          {
            "label": "export to six canvases",
            "credits": 540
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "extract_frames",
      "scope": "uploads:write",
      "requiresConfirmation": true,
      "background": false,
      "credits": 5,
      "pricing": {
        "model": "fixed",
        "credits": 5,
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      },
      "aliasOf": "extract_video_frames"
    },
    {
      "tool": "extract_video_frames",
      "scope": "uploads:write",
      "requiresConfirmation": true,
      "background": false,
      "credits": 5,
      "pricing": {
        "model": "fixed",
        "credits": 5,
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "fork_project",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "format_performance",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "get_format_performance"
    },
    {
      "tool": "generate_b_roll",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 450,
      "pricing": {
        "model": "computed",
        "minCredits": 300,
        "typicalCredits": 450,
        "maxCredits": 600,
        "examples": [
          {
            "label": "4s",
            "credits": 300
          },
          {
            "label": "6s (default)",
            "credits": 450
          },
          {
            "label": "8s",
            "credits": 600
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "generate_carousel",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 25,
      "pricing": {
        "model": "computed",
        "minCredits": 15,
        "typicalCredits": 25,
        "maxCredits": 50,
        "examples": [
          {
            "label": "2 slides",
            "credits": 15
          },
          {
            "label": "5 slides",
            "credits": 25
          },
          {
            "label": "10 slides",
            "credits": 50
          }
        ],
        "note": "Prices the slides this call renders. Sending `slides` quotes exactly this; sending a `brief` instead adds an allowance for the copy drafter this tool then runs, and you are charged what the call actually cost, up to the quote at most.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "job_raw_tokens"
        }
      }
    },
    {
      "tool": "generate_digest",
      "scope": "research:run",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "generate_image",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 50,
      "pricing": {
        "model": "computed",
        "minCredits": 50,
        "typicalCredits": 50,
        "maxCredits": 1200,
        "examples": [
          {
            "label": "1 image, fast, 1K (default)",
            "credits": 50
          },
          {
            "label": "4 images, ultra, 4K",
            "credits": 1200
          }
        ],
        "quotedCeilingCredits": 95,
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 45,
          "mode": "job_raw_tokens"
        }
      }
    },
    {
      "tool": "generate_music",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": false,
      "credits": 50,
      "pricing": {
        "model": "computed",
        "minCredits": 50,
        "typicalCredits": 50,
        "maxCredits": 100,
        "examples": [
          {
            "label": "20s clip",
            "credits": 50
          },
          {
            "label": "60s pro",
            "credits": 100
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "generate_post_reports",
      "scope": "research:run",
      "requiresConfirmation": true,
      "background": true,
      "credits": 20,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 20,
        "quotedCeilingCredits": 3615,
        "note": "The quote is a ceiling for the longest post this tool accepts (12 hours). You are charged 15 credits plus 5 per started minute of the post, and the confirmation card already shows that real price. typicalCredits here is a 60-second post.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "generate_thumbnail",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 510,
      "pricing": {
        "model": "computed",
        "minCredits": 0,
        "typicalCredits": 510,
        "maxCredits": 940,
        "examples": [
          {
            "label": "re-compose an existing image",
            "credits": 0
          },
          {
            "label": "YouTube, 2 variations (default)",
            "credits": 510
          },
          {
            "label": "YouTube, 4 variations, native text",
            "credits": 940
          }
        ],
        "note": "The quote includes an allowance for the AI processing this call runs (the artwork critic per variation, one legibility judge per text variant, the headline drafter when no wording is given). Those calls are metered at token rates, and the total is capped at the quote: you are charged what the call actually cost, up to the number you were shown at most. This holds on a film-frame cover too, which has no artwork line to absorb an overrun.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "job_raw_tokens"
        }
      }
    },
    {
      "tool": "generate_video",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": true,
      "credits": 600,
      "pricing": {
        "model": "computed",
        "minCredits": 600,
        "typicalCredits": 600,
        "maxCredits": 3375,
        "examples": [
          {
            "label": "asking for 4s",
            "credits": 600
          },
          {
            "label": "8s (default)",
            "credits": 600
          },
          {
            "label": "the priciest model, 8s",
            "credits": 3375
          }
        ],
        "note": "Reference-conditioned clips are delivered at 8 seconds, so asking for a shorter duration does not lower the quote. This includes a text-only call: the server may attach the account's own reference images even when you send none. You are charged for the clip actually delivered. Naming a model in `engine` can raise the price to more than 5x the default. Call list_media_models before setting it.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "job_raw_tokens"
        }
      }
    },
    {
      "tool": "generate_voiceover",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": false,
      "credits": 75,
      "pricing": {
        "model": "computed",
        "minCredits": 5,
        "typicalCredits": 75,
        "maxCredits": 625,
        "examples": [
          {
            "label": "40 characters, flash",
            "credits": 5
          },
          {
            "label": "600 characters, v3",
            "credits": 75
          },
          {
            "label": "5,000 characters, v3",
            "credits": 625
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "get_asset_performance",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_best_posting_times",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_brand_kit",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_competitor_analysis",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_connection_info",
      "scope": "account:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_content_detail",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_content_settings",
      "scope": "account:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_digest",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_format_performance",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_growth_trends",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_intel_digest",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_job_status",
      "scope": "jobs:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_platform_spec",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_post_recipe",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_profile_summary",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_report",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "get_url_analysis",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "growth_trends",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "get_growth_trends"
    },
    {
      "tool": "hyviral_help",
      "scope": "account:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "inspect_media",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "link_profile",
      "scope": "account:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "lint_caption_and_hashtags",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_active_jobs",
      "scope": "jobs:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_broll_assets",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_calendar_entries",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_linked_profiles",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_media_models",
      "scope": "account:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_recent_content",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_reports",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_user_uploads",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_voices",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "list_watchlist",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "manage_calendar",
      "scope": "account:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "manage_watchlist",
      "scope": "account:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "overlay_text",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "plan_edits",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 485,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 485,
        "quotedCeilingCredits": 3575,
        "note": "Above a 4-minute source this chunks into a segmented pass: one ingest watch (charged once per source; nothing on an already-watched one) plus one planner call per segment plus a single whole-film call, plus a review-proxy reserve released if unused. typicalCredits here is a 10-minute source, already past that line; the ceiling is the 90-minute intake cap chunked at its own worst case. Applying the planned edits is free, and exporting is a separate, separately-priced call.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "preview_competitor",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "preview_profile",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "read_segment",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "video_project"
    },
    {
      "tool": "record_publish_outcome",
      "scope": "account:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "remove_background",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": false,
      "credits": 50,
      "pricing": {
        "model": "computed",
        "minCredits": 50,
        "typicalCredits": 50,
        "maxCredits": 50,
        "examples": [
          {
            "label": "Cut out an image you uploaded",
            "credits": 50
          },
          {
            "label": "Cut out an image generated earlier in the conversation",
            "credits": 50
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "render_project",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 65,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 65,
        "quotedCeilingCredits": 4020,
        "note": "The quote is a ceiling for the longest export this tool allows: 60 minutes, or 90 on Pro and Hype. An export is charged per second of finished video: at least 25 credits, then about 39 to 58 credits a minute up to an hour and about 45 a minute above an hour. The automatic quality check that runs after the export adds 5 to 20 credits up to three minutes, 20 to 45 up to ten minutes and 45 above. typicalCredits here is a 60-second project.",
        "examples": [
          {
            "label": "a 60-minute export",
            "outputSeconds": 3600,
            "credits": 2420
          },
          {
            "label": "a 90-minute export (Pro and Hype)",
            "outputSeconds": 5400,
            "credits": 4020
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      },
      "aliasOf": "video_export"
    },
    {
      "tool": "report_bug",
      "scope": "feedback:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "send_feedback"
    },
    {
      "tool": "request_upload",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "upload_request"
    },
    {
      "tool": "resize_and_pad",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "search_research_cache",
      "scope": "research:run",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "send_feedback",
      "scope": "feedback:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "source_preparation",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "suggest_variants",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "undo_edit",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      },
      "aliasOf": "video_project"
    },
    {
      "tool": "update_content_settings",
      "scope": "account:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "upload_complete",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "upload_request",
      "scope": "uploads:write",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "upscale_image",
      "scope": "creative:generate",
      "requiresConfirmation": true,
      "background": false,
      "credits": 5,
      "pricing": {
        "model": "computed",
        "minCredits": 5,
        "typicalCredits": 5,
        "maxCredits": 5,
        "examples": [
          {
            "label": "Upscale an image you uploaded to 2048 px",
            "credits": 5
          },
          {
            "label": "Upscale an image generated earlier in the conversation",
            "credits": 5
          },
          {
            "label": "Upscale to the 4096 px ceiling",
            "credits": 5
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "validate_asset",
      "scope": "intel:read",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_audio",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_captions",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_clean_talking_head",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 75,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 75,
        "quotedCeilingCredits": 895,
        "note": "The quote is the whole charge: one review of up to 30 seconds (the proxy and its watch). The family edit steps are free, and the recipe does not export.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "video_cut",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_export",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 65,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 65,
        "quotedCeilingCredits": 4020,
        "note": "The quote is a ceiling for the longest export this tool allows: 60 minutes, or 90 on Pro and Hype. An export is charged per second of finished video: at least 25 credits, then about 39 to 58 credits a minute up to an hour and about 45 a minute above an hour. The automatic quality check that runs after the export adds 5 to 20 credits up to three minutes, 20 to 45 up to ten minutes and 45 above. typicalCredits here is a 60-second project.",
        "examples": [
          {
            "label": "a 60-minute export",
            "outputSeconds": 3600,
            "credits": 2420
          },
          {
            "label": "a 90-minute export (Pro and Hype)",
            "outputSeconds": 5400,
            "credits": 4020
          }
        ],
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "video_ingest",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 80,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 80,
        "quotedCeilingCredits": 825,
        "note": "Priced from the source's length. typicalCredits here is a 10-minute source; the ceiling is the 90-minute intake cap. A source already transcribed costs nothing.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "video_look",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_make_short",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 250,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 250,
        "quotedCeilingCredits": 1535,
        "note": "The quote is the whole charge: the watch of a new source (0 if it was already watched), the moment selection when it cuts to length (0 when the same source, target and style were chosen in the last 7 days), and a 30-second review. typicalCredits here is a new 15-minute talk cut to 45 seconds; the ceiling is the 90-minute intake cap. The family edit steps are free, and the recipe does not export: video_export is a separate, separately-priced call.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 0,
          "mode": "none"
        }
      }
    },
    {
      "tool": "video_overlays",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_preview",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_project",
      "scope": "edit:render",
      "requiresConfirmation": false,
      "background": false,
      "credits": 0,
      "pricing": {
        "model": "free"
      }
    },
    {
      "tool": "video_review",
      "scope": "edit:render",
      "requiresConfirmation": true,
      "background": true,
      "credits": 35,
      "pricing": {
        "model": "ceiling",
        "typicalCredits": 35,
        "quotedCeilingCredits": 62,
        "note": "Priced at the capture term only: no encode, no storage, no egress, no retry allowance — a proxy is delivered to nobody. The ceiling is a 30-second window; typicalCredits here is a 20-second one. The watch's own tokens are covered by the quote's AI-processing allowance rather than billed on top.",
        "aiProcessing": {
          "billed": false,
          "minCredits": 0,
          "includedInQuote": true,
          "allowanceCredits": 12,
          "mode": "job_raw_tokens"
        }
      }
    }
  ]
}
