Skip to main content
POST
Transcribe audio (unified STT endpoint)

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

multipart/form-data
audio
file
required

Audio file to transcribe.

language
enum<string>
required

Language of the audio (ISO 639-3). Required: this model reuses Whisper's language-token slots, so auto-detection is unreliable.

Available options:
ach,
afr,
aka,
amh,
bam,
bem,
ber,
cgg,
dag,
dga,
eng,
ewe,
fra,
ful,
hau,
ibo,
kab,
kau,
kik,
kin,
kln,
koo,
kpo,
led,
lgg,
lin,
lth,
lug,
luo,
luy,
mlg,
myx,
nbl,
nya,
nyn,
orm,
pcm,
ruc,
rwm,
sna,
som,
sot,
swa,
teo,
tsn,
ttj,
wol,
xho,
xog,
yor,
zul
timestamps
boolean
default:false

Return per-segment start/end timestamps in 'segments'.

Response

Successful Response

Result of a speech-to-text request: transcribed text, optional diarization and timestamps, and metadata.

audio_transcription
string | null

The transcribed text from the audio

diarization_output
Diarization Output · object | null

Speaker diarization data

formatted_diarization_output
string | null

Human-readable diarization output

audio_transcription_id
integer | null

Database ID of the saved transcription

audio_url
string | null

URL or path to the processed audio file

language
string | null

The language code used for transcription

was_audio_trimmed
boolean | null
default:false

Whether the audio was trimmed to max duration

original_duration_minutes
number | null

Original duration in minutes if audio was trimmed

segments
TranscriptionSegment · object[] | null

Timestamped segments. Only populated when the request sets timestamps=true

duration_seconds
number | null

Duration of the transcribed audio in seconds

usage
AudioUsage · object | null

Usage for this transcription (audio duration in seconds)