Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

multipart/form-data
model
enum<string>
default:distil-whisper/distil-large-v2
required

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).

Available options:
distil-whisper/distil-large-v2,
openai/whisper-large-v3-turbo,
deepgram/nova-2,
deepgram/nova-2-medical,
deepgram/nova-3,
deepgram/nova-3-medical
Example:

"distil-whisper/distil-large-v2"

file
file

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.

file_url
string

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.

Example:

"https://example.com/file.mp3"

response_format
enum<string>
default:json

The format of the transcript output. Use verbose_json to take advantage of timestamps.

Available options:
json,
verbose_json
Example:

"json"

timestamp_granularities[]
enum<string>

The timestamp granularities to populate for this transcription. response_format must be set verbose_json to use timestamp granularities. Currently segment is supported.

Available options:
segment
Example:

"segment"

language
string

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.

Example:

"en-US"

model_config
object

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.

Example:

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.

text
string
required

The transcribed text for the audio file.

duration
number

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
object[]

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.

words
object[]

Word-level timestamps and optional speaker labels. Only returned by the deepgram/* models when word-level output is enabled via model_config.