Transcribe speech to text
Transcribe speech to text. This endpoint is consistent with the OpenAI Transcription API and may be used with the OpenAI JS or Python SDK.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
ID of the model to use. distil-whisper/distil-large-v2 is lower latency but English-only. openai/whisper-large-v3-turbo is multi-lingual but slightly higher latency. The deepgram/* models only accept mp3/wav files: deepgram/nova-3 covers ~49 languages plus multi and deepgram/nova-2 covers ~33, while the -medical variants are tuned for clinical vocabulary and accept English only (en and its regional variants, e.g. en-US, en-GB).
distil-whisper/distil-large-v2, openai/whisper-large-v3-turbo, deepgram/nova-2, deepgram/nova-2-medical, deepgram/nova-3, deepgram/nova-3-medical "distil-whisper/distil-large-v2"
The audio file object to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. File uploads are limited to 100 MB. Cannot be used together with file_url. Note: the deepgram/* models only support mp3 and wav formats.
Link to audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. Support for hosted files is limited to 100MB. Cannot be used together with file. Note: the deepgram/* models only support mp3 and wav formats.
"https://example.com/file.mp3"
The format of the transcript output. Use verbose_json to take advantage of timestamps.
json, verbose_json "json"
The timestamp granularities to populate for this transcription. response_format must be set verbose_json to use timestamp granularities. Currently segment is supported.
segment "segment"
The language of the audio to be transcribed. deepgram/nova-3 supports ~49 languages plus multi, and deepgram/nova-2 supports ~33 plus multi; the -medical variants are English only (en and its regional variants, e.g. en-US, en-GB). Deepgram models validate on the base language and forward the full tag, so regional variants such as de-CH and pt-BR are accepted where the base language is supported; an unsupported language returns a 400. For openai/whisper-large-v3-turbo, supports multiple languages. distil-whisper/distil-large-v2 does not support language parameter.
"en-US"
Additional model-specific configuration parameters. Only allowed with the deepgram/* models. Can include Deepgram-specific options such as smart_format, punctuate, diarize, utterance, numerals, and language. If language is provided both as a top-level parameter and in model_config, the top-level parameter takes precedence.
Response
Successful Response
Response fields vary by model. distil-whisper/distil-large-v2 returns text, duration, and segments in verbose_json mode. openai/whisper-large-v3-turbo returns text only. The deepgram/* models return text and, depending on model_config, may include words with per-word timestamps and speaker labels.
The transcribed text for the audio file.
The duration of the audio file in seconds. Returned by distil-whisper/distil-large-v2 and the deepgram/* models when response_format is verbose_json. Not returned by openai/whisper-large-v3-turbo.
Segments of the transcribed text and their corresponding details. Returned by distil-whisper/distil-large-v2 and the deepgram/* models when response_format is verbose_json; Deepgram segments also carry nested words and speakers. Not returned by openai/whisper-large-v3-turbo.
Word-level timestamps and optional speaker labels. Only returned by the deepgram/* models when word-level output is enabled via model_config.