{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/adsturbo-ai/json-schema/adsturbo-ai-open-ad-clone-create-body-schema.json",
  "title": "OpenAdCloneCreateBody",
  "description": "Create an AdClone draft. The source clip (after clipping) must be 15 seconds or shorter.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/adsturbo-ai-openapi.json#/components/schemas/OpenAdCloneCreateBody",
  "type": "object",
  "required": [
    "video_url"
  ],
  "properties": {
    "video_url": {
      "type": "string",
      "description": "Source video URL. Must be publicly accessible."
    },
    "clip_start": {
      "type": "number",
      "format": "double",
      "minimum": 0,
      "description": "Clip start in seconds. When both `clip_start` and `clip_end` are 0 (or omitted), the whole video is used."
    },
    "clip_end": {
      "type": "number",
      "format": "double",
      "description": "Clip end in seconds. Must be greater than `clip_start`. The server clips on whole seconds (start rounded down, end rounded up); the rounded range must be 15 seconds or shorter."
    },
    "lang": {
      "type": "string",
      "description": "Language for writing the prompt. Empty = `en`. Lines always keep their original language."
    },
    "house_model": {
      "type": "string",
      "description": "Reserved. No values are available yet; **any non-empty value returns `10000`**. Leave empty."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Optional idempotency key (UUID recommended). Repeated requests with the same key return the same `clone_id`."
    }
  }
}