GET /v1/transcript waits up to 25 seconds. Most caption requests finish well inside that. If the transcript isn’t ready, usually because a long video is being transcribed with AI, you get a job instead:
GET /v1/transcript/{jobId} about every 30 seconds until status is completed or failed.
Job status
A poll for your own job always returns200, even when the job failed, because the poll itself worked. Check status, not the HTTP code.
Pass
text=true on the poll to get the finished transcript as one string.
Full example
Retries are safe
Send the same request again (sameurl, lang and mode) within an hour and you get the same job back. You’re charged once, so retrying after a timeout or a dropped connection is safe.
Logs
Every request from the API, MCP or the Playground shows up on the Logs page for 30 days, with its status and the AI minutes it used.
The Logs page