{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/autoshort-org/json-schema/autoshort-org-update-draft-request-schema.json",
  "title": "UpdateDraftRequest",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/autoshort-org-openapi.json#/components/schemas/UpdateDraftRequest",
  "type": "object",
  "properties": {
    "edits": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "scene"
        ],
        "properties": {
          "scene": {
            "type": "integer",
            "description": "1-based scene number."
          },
          "narration": {
            "type": "string",
            "maxLength": 1000
          },
          "visual": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 600
          },
          "seconds": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 1,
            "maximum": 30
          }
        }
      }
    },
    "insert": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "after",
          "narration"
        ],
        "properties": {
          "after": {
            "type": "integer",
            "description": "Insert after this scene number (0 = at the start)."
          },
          "narration": {
            "type": "string",
            "maxLength": 1000
          },
          "visual": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 600
          },
          "seconds": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 1,
            "maximum": 30
          }
        }
      }
    },
    "remove": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "Scene numbers to remove."
    },
    "reorder": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "New order as scene numbers."
    },
    "title": {
      "type": "string",
      "maxLength": 100
    },
    "targetDuration": {
      "type": [
        "integer",
        "null"
      ]
    },
    "aspectRatio": {
      "type": "string",
      "enum": [
        "9:16",
        "1:1",
        "16:9"
      ]
    },
    "language": {
      "type": "string"
    },
    "artStyle": {
      "type": "string",
      "enum": [
        "AUTOSHORTS",
        "LEGO",
        "COMIC_BOOK",
        "DISNEY_TOON",
        "STUDIO_GHIBLI",
        "PIXEL_ART",
        "WATERCOLOR",
        "OIL_PAINTING",
        "CYBERPUNK",
        "FANTASY",
        "ANIME",
        "STICKMAN"
      ]
    }
  }
}