Cut.ProDocs
Transcriptions

Transcribe a media file

Starts a transcription for a media file you uploaded via POST /transcriptions/upload. Credits are charged per minute of audio, plus a surcharge when speaker_labels is requested. Check the balance at GET /balance first.

Responds 202 with status: processing when the ASR worker was dispatched: poll GET /transcriptions/{transcription_id} until status is ready (or failed / no_speech), then fetch the text.

Responds 200 when nothing had to run. That happens when the same audio was already transcribed (the transcript is shared per media, so a re-run is a cache hit and credits_charged is 0), or when the audio is silent, which comes back as no_speech and is not billed.

Passing a media_id that is already in your library re-runs it. That is how a transcript created without diarization is upgraded: ask again with speaker_labels: true and the audio is reprocessed, because the speaker column cannot be added after the fact.

X-Api-Key<token>

In: header

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

POST
/transcriptions
curl -X POST "https://example.com/transcriptions" \  -H "Content-Type: application/json" \  -d '{    "media_id": "string"  }'
{  "transcription_id": "string",  "status": "ready",  "credits_charged": 0}