Features & formats
Every request can enable the full feature set — there are no paid add-ons.
Transcription options
| Option | Default | Description |
|---|---|---|
word_timestamps | true | Start/end time per word (seconds) |
speaker_labels | true | Diarization / speaker turns |
diarize | — | Deepgram-compatible alias for speaker_labels |
nltk | true | Restore punctuation & capitalization |
custom_vocabulary | — | List of names / jargon to recover |
tier | standard | standard — the only tier currently available |
output_type | json | Result file format |
Output types
| Type | Use for |
|---|---|
json | Structured words (+ optional diarization). SDKs parse this into text, words, utterances. |
txt | Plain transcript (speaker blocks when labels on) |
srt / vtt | Subtitles / captions |
docx / pdf | Shareable 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.