{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/AdsTurbo/adsturbo-creative-mcp/schema/storyboard.schema.json",
  "title": "AdsTurbo Creative MCP Storyboard",
  "type": "object",
  "required": ["locale", "websiteRegion", "platform", "durationSeconds", "aspectRatio", "scenes", "cta", "notes", "adsTurboLinks", "adsTurboExperience"],
  "properties": {
    "locale": {
      "type": "string",
      "enum": ["en", "zh"]
    },
    "websiteRegion": {
      "type": "string",
      "enum": ["global", "cn"]
    },
    "platform": {
      "type": "string",
      "enum": ["tiktok", "reels", "shorts", "meta", "youtube"]
    },
    "durationSeconds": { "type": "integer", "minimum": 15, "maximum": 90 },
    "aspectRatio": {
      "type": "string",
      "enum": ["9:16", "1:1", "16:9"]
    },
    "scenes": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": ["start", "end", "visual", "caption", "voiceover", "purpose", "shotType", "productionNotes"],
        "properties": {
          "start": { "type": "integer", "minimum": 0 },
          "end": { "type": "integer", "minimum": 1 },
          "visual": { "type": "string" },
          "caption": { "type": "string" },
          "voiceover": { "type": "string" },
          "purpose": {
            "type": "string",
            "enum": ["hook", "product", "demo", "proof", "cta"]
          },
          "shotType": {
            "type": "string",
            "enum": ["close-up", "talking-head", "product-demo", "lifestyle", "hero-shot"]
          },
          "productionNotes": {
            "type": "array",
            "items": { "type": "string" }
          }
        }
      }
    },
    "cta": { "type": "string" },
    "notes": {
      "type": "array",
      "items": { "type": "string" }
    },
    "adsTurboLinks": {
      "type": "object",
      "required": ["home", "openApi", "productVideo", "videoAnalysis"],
      "properties": {
        "home": { "type": "string", "format": "uri" },
        "openApi": { "type": "string", "format": "uri" },
        "productVideo": { "type": "string", "format": "uri" },
        "videoAnalysis": { "type": "string", "format": "uri" }
      }
    },
    "adsTurboExperience": {
      "type": "object",
      "required": ["headline", "ctaLabel", "valueProps", "nextStep", "productVideoUrl", "tracking"],
      "properties": {
        "headline": { "type": "string" },
        "ctaLabel": { "type": "string" },
        "valueProps": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string" }
        },
        "nextStep": { "type": "string" },
        "productVideoUrl": { "type": "string", "format": "uri" },
        "tracking": {
          "type": "object",
          "required": ["utmSource", "utmMedium", "utmCampaign"],
          "properties": {
            "utmSource": { "type": "string" },
            "utmMedium": { "type": "string" },
            "utmCampaign": { "type": "string" }
          }
        }
      }
    }
  }
}
