Features & formats

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

Transcription options

OptionDefaultDescription
word_timestampstrueStart/end time per word (seconds)
speaker_labelstrueDiarization / speaker turns
diarizeDeepgram-compatible alias for speaker_labels
nltktrueRestore punctuation & capitalization
custom_vocabularyList of names / jargon to recover
tierstandardstandard — the only tier currently available
output_typejsonResult file format

Output types

TypeUse for
jsonStructured words (+ optional diarization). SDKs parse this into text, words, utterances.
txtPlain transcript (speaker blocks when labels on)
srt / vttSubtitles / captions
docx / pdfShareable documents

JSON shape (native)

Default JSON looks like:

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

Live progress

Every SDK reports real-time progress for both the file upload and the transcription — as console bars (progress toggle) or as onProgress / onUploadProgress callbacks that carry completed, total, step, and a computed percent. It is derived from the job SSE stream's completed/total counts, and neither AssemblyAI nor Deepgram exposes it for pre-recorded audio.

SDK adapters

Python/JS SDKs expose AssemblyAI-style result.text / result.utterances, plus result.to_deepgram() for Deepgram-shaped migrations.