Break a video into shots
start_breakdownStart a shot breakdown of a video clip. Always measures every cut, each shot's length and camera motion, and extracts two keyframes per shot — free. With label:true an AI model also reads every shot (shot size, camera move, what the shot is for, a description, text prompts to recreate it) and writes an overview, a summary and the clip's structure — that SPENDS the user's coins: pass expected_total exactly as estimate_breakdown priced it (the model's coins, plus transcribe_coins when transcribe:true). If the price changed, nothing is spent. Runs in the background: poll get_breakdown.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | the language the descriptions are written in — omit for English | |
| label | No | true = add the AI read of every shot (costs coins); false or omitted = the free measured table | |
| title | No | a name for the breakdown — omit to have one written from the read | |
| funding | No | who pays: personal (the person's own coins) or team (their team's pool — only when the person allowed this connection to spend team coins and the team approved this app). Omit to use the payer the person chose when connecting | |
| purpose | No | why the clip is being read — steers the descriptions and the summary: remake (default), pacing or ads | |
| video_url | Yes | an https link straight to the video file, as passed to estimate_breakdown | |
| transcribe | No | also transcribe the speech so the read can use it (needs label; costs transcribe_coins) | |
| label_model | No | a model id from estimate_breakdown's label_models — omit for the default | |
| prompt_lang | No | the language the recreate prompts are written in — omit for lang | |
| expected_total | No | required with label:true — the total coins estimate_breakdown quoted for this choice | |
| idempotency_key | No | optional: repeat it on a retry so the retry answers the first breakdown instead of charging again |