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

Response model for speech-to-text transcription results.

This model represents the output of an STT transcription request, including the transcribed text, diarization data, and metadata.

Fields

  • audio_transcription — The transcribed text from the audio.
  • diarization_output — Speaker diarization data as a dictionary.
  • formatted_diarization_output — Human-readable diarization output.
  • audio_transcription_id — Database ID of the saved transcription.
  • audio_url — URL or path to the processed audio file.
  • language — The language code used for transcription.
  • was_audio_trimmed — Whether the audio was trimmed to max duration.
  • original_duration_minutes — Original duration if audio was trimmed.
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)