Documentation Index
Fetch the complete documentation index at: https://docs.getpatter.com/llms.txt
Use this file to discover all available pages before exploring further.
Deepgram STT
DeepgramSTT streams PCM (or mulaw / opus / flac) audio to Deepgram’s v1 /listen WebSocket endpoint. Pure websockets transport, no vendor SDK required. Handles KeepAlive pings, Finalize / CloseStream graceful shutdown, and surfaces both Results transcripts and SpeechStarted / UtteranceEnd VAD events.
Install
deepgram ships in the base install — no extra needed.
Usage
Use the namespaced import (
getpatter.stt.deepgram) or the flat alias
(getpatter.DeepgramSTT). Both auto-resolve DEEPGRAM_API_KEY from the
environment when api_key= is omitted.Models and rates
Deepgram bills per minute of streamed audio. Per-model rates (defaults fromgetpatter.pricing):
| Model | Rate / min |
|---|---|
nova-3 (default) | $0.0077 |
nova-3-multilingual | $0.0092 |
nova-2 | $0.0058 |
nova | $0.0043 |
whisper-large | $0.0048 |
whisper-medium | $0.0048 |
Patter(pricing={"deepgram": {"models": {"nova-2": {"price": ...}}}}).
Languages
language="en" by default. Pass any Deepgram-supported BCP-47 code (e.g. "es", "fr", "de", "it"). For mixed-language calls use nova-3-multilingual.
Telephony optimization
For Twilio (mulaw 8 kHz) use the carrier-aware factory so audio reaches Deepgram natively without an extra resample step:Options
| Option | Default | Notes |
|---|---|---|
api_key | None | Reads from DEEPGRAM_API_KEY when omitted. |
model | "nova-3" | Any Deepgram model id. |
language | "en" | BCP-47 code. |
encoding | "linear16" | "linear16", "mulaw", "alaw", "opus", "flac". |
sample_rate | 16000 | 8000, 16000, 24000, 44100, 48000 Hz. |
endpointing_ms | 150 | Silence (ms) before Deepgram closes a turn. |
utterance_end_ms | 1000 | Server-side endpoint detection (min 1000). |
smart_format | True | Punctuation + numerals. |
interim_results | True | Stream partial transcripts. |
vad_events | True | Emit SpeechStarted / UtteranceEnd. |

