Transcribe
POST /v1/transcribe handles single files, URLs, async jobs, and batch jobs.
Send multipart/form-data with a file or url field for single
transcriptions—the API will return the text directly or route to async automatically. Send JSON with a
files array when you want async upload URLs, remote URL import, or batch processing.
exclude
exclude controls which fields are omitted from the response or downloaded result JSON. It can
contain text, vtt, segments, metadata,
billing, and detected_language. At least one transcript field must remain, so do
not exclude text, vtt, and segments together.
Examples: exclude=metadata,billing returns only transcript data. exclude=segments
removes word or sentence segment arrays when you only need text and vtt.
For single-file outputs, if exclude leaves only one transcript field and removes metadata,
billing, and detected language, the API returns that remaining value directly instead of a JSON object.
Text-only responses return a plain string, VTT-only responses return a plain string, and segments-only
responses return an array. Multi-file outputs still return JSON so each result stays associated with its
reference_id.
url
Pass a url instead of file in the multipart form. If the audio is within the
30 MB and 10-minute sync limits, the transcript is returned directly
in
the response. Otherwise a batch job is created and the response includes
job_id and job_status so you can poll for the result.