Quickstart
Send one video and a schema, poll the job, read the rows. This page is the shortest complete path from an empty terminal to validated JSON.
Before you start
You need a key from the dashboard and a video whose captions are public. New accounts hold 100 credits, which is enough to work through this page about twenty times over.
no_captions and costs nothing.1. Submit a video
A schema is a list of columns, each with a name and a plain-language description. The description is the instruction, so write it the way you would brief a person.
Request body
name and a description.false.2. Read the job
Extraction is asynchronous, so the submit call answered with an id rather than rows. Poll every two seconds, or supply a webhook_url and skip polling entirely. A single video usually settles in twelve to fifteen seconds.
results stays null until every video in the job has settled, so polling is free and destroys nothing.
3. Handle the four outcomes
Every job settles into one of these. Treat anything else as a transport error and retry with the same idempotency key.
doneRows are ready and charged. Fetch once and store.
no_captionsNothing to read. Not charged, and retrying will not help.
schema_invalidA field name or description was rejected. The message names the field.
insufficient_creditsThe balance reached zero, or the hard cap. Top up or raise the cap, then resubmit.