Features & formats

Every request can enable the full feature set — there are no paid add-ons.

Transcription options

OptionDefaultDescription
word_timestampstrueStart and end time of each word, in seconds
speaker_labelstrueSpeaker diarization (who spoke when)
diarize—Deepgram-compatible alias for speaker_labels
nltktrueRestore punctuation & capitalization
custom_vocabulary—Names and terms to recognize
languageautoISO 639-1 code (e.g. en) to skip detection and transcribe the whole file in that language — see pinning the language
tierstandardstandard — the only tier currently available
output_typejsonResult file format

Output types

TypeUse for
jsonStructured words, plus diarization when enabled. The SDKs parse this into text, words, and utterances.
txtPlain transcript, in speaker blocks when speaker_labels is on
srt / vttSubtitles / captions
docx / pdfShareable documents

JSON shape (native)

The default JSON output looks like this:

{
  "words": [
    {"word": "Hello,", "start": 0.12, "end": 0.40, "speaker": "SPEAKER_1", "language": "en"},
    {"word": "world.", "start": 0.41, "end": 0.70, "speaker": "SPEAKER_1", "language": "en"}
  ],
  "diarization": [
    {"start": 0.12, "end": 0.70, "speaker": "SPEAKER_1"}
  ],
  "languages": [
    {"start": 0.12, "end": 0.70, "language": "en"}
  ]
}

Live progress

Every SDK reports progress for both the file upload and the transcription, either as console bars (the progress option) or through onProgress / onUploadProgress callbacks. Each callback receives completed, total, step, and a computed percent. The values come from the job SSE stream's completed/total counts, so they track completed work, not an estimate.

SDK adapters

The Python and JavaScript SDKs expose AssemblyAI-style result.text and result.utterances, plus result.to_deepgram() for code that expects Deepgram's response shape.