Transcriptions
POST /api/v1/transcriptions
Send upload_id after the file PUT, or send url for a public https link to an audio or video file. Do not send both. Private network addresses are rejected.
Body
| Field | Required | Notes |
|---|---|---|
| upload_id | One of | Id from POST /uploads. |
| url | One of | Public https URL of the media file. |
| language | No | Defaults to auto. See Languages. |
| duration_seconds | No | Used for the credit check up front. |
| file_hash | No | sha256 hex of the file. Repeating the same hash returns the existing transcript unless force is true. |
| force | No | true creates another transcript even when the hash matches. |
| options | No | Booleans: speakerLabels, timestamps, summarize, sentiment, topics, and the other editor toggles. |
Status
A new job returns 201. status moves from queued to processing, then completed or failed. Poll with GET. List with GET /transcriptions?limit=20&offset=0. Delete with DELETE. Delete moves the file to trash the same way the library does.
When status is completed, the object includes summary (English), segments with start, end, speaker, and text, exports, and editor_url.