A file in, cut, rendered, delivered
1. Upload. Request an upload URL, PUT the bytes, confirm.upload_id is the item’s id from here on.
2. Transcribe. Media under five minutes is transcribed within the call. Longer media returns a job, and once get_jobs reports it done, the same call returns the stored words.
source is the stretch of the file in seconds. Leaving out from places the clip after the last one on that track, and a fresh timeline has one visual track, visual-main. A fresh document nobody has edited accepts a write without if_revision.
check_timeline is free and reports what a render would show wrong. The render takes an idempotency key generated for this call.
One call over many items
The CLI is the same API from a shell, and--json returns the full envelope. A read tool also answers GET with query parameters.
update_items applies item by item. A failure on one item is reported beside the results of the rest, and set names what changed on each. A page’s next_cursor, passed back with the same filters, continues the list.
A charged call, retried
A generation is charged when it is dispatched, so the idempotency key is what makes a retry safe.503 unavailable or a dropped connection is retried with the same body and the same key. The answer is the job already dispatched, and nothing is charged twice. A 402 insufficient_credits is not retried. get_balance says what is left and where more can be added, and get_checkout_link returns a link where the user pays.
estimate_cost quotes the same call before it runs, free, from the same rates.
