Streaming ASR · NVIDIA Parakeet-TDT-0.6B-v3 · :4600 · Deepgram-shaped wire format (v1.0.0 frozen).
@deepgram/sdk base URL at the bare host. The SDK appends /v1/listen itself. Send a Deepgram credential (Authorization: Token <key> header, or the token, <key> subprotocol in the browser) and the connection routes to the Deepgram-compatible session. With no credential it falls through to the native handler. /v1/listen/dg and /deepgram/v1/listen are explicit aliases — not what you configure in the SDK.| Form | Wire | Used by |
|---|---|---|
| Header | Authorization: Token <key> (capital T, single space) | server SDK (Node, Python) |
| Subprotocol | Sec-WebSocket-Protocol: token, <key> | browser SDK (cannot set headers) |
16 kHz mono linear16 (int16 LE). Chunk 3200 bytes (=100 ms) every ~50 ms so live VAD/endpointing runs. Other rates/channels are resampled/downmixed server-side.
On a Deepgram session: Metadata (open) → Results (interim + final) → UtteranceEnd (on VAD speech-end) → Metadata (final, on CloseStream). SpeechStarted + UtteranceEnd require vad_events=true.
Full table with behaviour badges + notes: /v1/help/params. Rendered live from the dispatch registry — never drifts.
| Param | Behaviour | Note |
|---|---|---|
encoding | SUPPORTED | Parakeet expects PCM-16 (linear16); transcode mulaw/alaw/opus. |
sample_rate | SUPPORTED | Parakeet trained at 16 kHz; resample any declared rate. |
channels | PARTIAL | Accept up to 2; mix to mono internally. |
endpointing | SUPPORTED | Silero/WebRTC VAD; emit speech_final after silence>endpointing ms. |
model | PARTIAL | Accept any value, route to Parakeet, echo in metadata.model_info.name. |
version | NOOP | Legacy Deepgram field; accept silently, ignore. |
tier | NOOP | Legacy Deepgram field; accept silently, ignore. |
language | SUPPORTED | Parakeet-TDT-0.6B-v3 supports 25 languages; pass as model hint. |
punctuate | PARTIAL | Parakeet basic punctuation; post-processor for accuracy. |
profanity_filter | NOOP | Accept; return unfiltered initially. Regex pass deferred. |
redact | NOOP | Accept; return unredacted. Roadmap. |
diarize | PARTIAL | Baseline speaker:0. When DDX_STT_DIARIZE_ENABLED=1, real Sortformer speaker labels on words[] (en supported; de/fr/es EXPERIMENTAL). |
multichannel | ERROR | Reject if true with channels>1: close 1008 'multichannel not supported'. |
numerals | SUPPORTED | Parakeet TDT head includes ITN; enable via model config. |
smart_format | PARTIAL | Baseline: punctuate + numerals. When DDX_STT_SMART_FORMAT_ENABLED=1, engages WFST ITN on the FINAL transcript (en production; de/fr/es EXPERIMENTAL). |
replace | PARTIAL | Repeatable 'search:replace'; simple string-replace post-processor. |
keywords | PARTIAL | Repeatable 'kw[:intensifier]'; pass to NeMo hot-word biasing if avail. |
keyterm | PARTIAL | Nova-3 only; max 500 tokens; no-op initially. |
interim_results | SUPPORTED | Stream partial Results frames; if false buffer to final only. |
utterances | PARTIAL | Per-utterance segmentation via VAD + utterance_end_ms silence. |
utt_split | PARTIAL | Silence threshold seconds; map to VAD min_silence_ms. |
utterance_end_ms | SUPPORTED | Silence (ms) after last word before UtteranceEnd fires; drives SDK end-of-speech timing. None falls back to VAD default. |
no_delay | NOOP | DG smart_format no-delay flag; our streaming path emits without an endpointing buffer delay already, so honour-but-noop (echoed). |
turn_detection | PARTIAL | Dudoxx ext (shard 06). Silero endpointing is default. When DDX_STT_TURN_DETECTOR_ENABLED=1, a semantic EOU model REFINES each Silero speech_end (true turn-end vs mid-utterance pause); off = Silero only. |
vad_events | SUPPORTED | Silero/WebRTC VAD; emit SpeechStarted + UtteranceEnd frames. |
tag | NOOP | Repeatable opaque analytics tag; accept silently, log only. |
extra | NOOP | Opaque echo-back string; surface in opening Metadata transaction_key. |
mip_opt_out | NOOP | Model-improvement opt-out; honour silently (no audio retention anyway). |
callback | NOOP | Async callback URL; not applicable to streaming WS. |
callback_method | NOOP | POST/GET/PUT/DELETE for async callback; ignored in streaming. |
words | SUPPORTED | Parakeet provides word-level timestamps natively. |
paragraphs | NOOP | Accept; omit paragraph structure from response. |
summarize | NOOP | Invariant 8: NEVER call server-side LLM; return null/empty. |
detect_language | NOOP | Invariant 8: NEVER call server-side LLM; return null languages. |
detect_topics | NOOP | Invariant 8: NEVER call server-side LLM; return empty topics. |
detect_entities | NOOP | Invariant 8: NEVER call server-side LLM; return entities:[]. |
dictation | NOOP | Spoken commands as regular words; no command interpreter. |
search | NOOP | Repeatable; omit search_results from response. |
filler_words | PARTIAL | Parakeet drops fillers by default; toggling needs model-config change. |
alternatives | NOOP | Always return 1 alternative; SDK handles missing N-best gracefully. |
authorization | NOOP | SDK per-request key override; the WS handler reads Authorization header. |