{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/autoshort-org/json-schema/autoshort-org-create-motion-clip-request-schema.json",
  "title": "CreateMotionClipRequest",
  "description": "Unknown fields are refused with 400 INVALID_INPUT. image_url is currently refused too (400 IMAGE_INPUT_NOT_AVAILABLE), so it is not part of this schema.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/autoshort-org-openapi.json#/components/schemas/CreateMotionClipRequest",
  "type": "object",
  "required": [
    "prompt"
  ],
  "additionalProperties": false,
  "properties": {
    "prompt": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2000,
      "description": "Sent to the video model as written."
    },
    "duration": {
      "type": "integer",
      "minimum": 4,
      "maximum": 12,
      "default": 5,
      "description": "Seconds."
    },
    "resolution": {
      "type": "string",
      "description": "One of the tiers offered to your plan; GET /api/v1/motion-clips/quote?mode=motion_clip prices it."
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "9:16",
        "1:1",
        "16:9"
      ],
      "default": "9:16"
    },
    "seed": {
      "type": "integer",
      "minimum": 0
    },
    "character_id": {
      "type": "string",
      "description": "The id of one of YOUR OWN READY character sheets (made with the MCP tool autoshort_create_character_sheet or on the series page): the clip starts from that sheet's chosen image. Same price. Not yours or not ready: 404 CHARACTER_NOT_FOUND, nothing charged. Cannot be combined with image_url."
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Same key = same clip, never a second charge."
    }
  }
}