Skip to main content

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. Uses the ws package — 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.
npm install getpatter

Usage

Use the namespaced import (getpatter/stt/deepgram) or the flat re-export (DeepgramSTT). Both auto-resolve DEEPGRAM_API_KEY from the environment when apiKey is omitted.
// Namespaced import
import * as deepgram from "getpatter/stt/deepgram";

const stt = new deepgram.STT();                                    // reads DEEPGRAM_API_KEY
const stt2 = new deepgram.STT({ apiKey: "dg_...", model: "nova-3", language: "en" });

// Flat alias (equivalent)
import { DeepgramSTT } from "getpatter";

const stt3 = new DeepgramSTT();
Plug it into an agent:
// npx tsx example.ts
import { Patter, Twilio, DeepgramSTT, ElevenLabsTTS } from "getpatter";

const phone = new Patter({ carrier: new Twilio(), phoneNumber: "+15550001234" });

const agent = phone.agent({
  stt: new DeepgramSTT(),                             // DEEPGRAM_API_KEY from env
  tts: new ElevenLabsTTS({ voiceId: "rachel" }),
  systemPrompt: "You are a helpful assistant.",
});

await phone.serve({ agent });

Models and rates

Deepgram bills per minute of streamed audio. Per-model rates (defaults from getpatter/pricing):
ModelRate / 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
Override via new 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.

Options

OptionDefaultNotes
apiKeyReads 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".
sampleRate160008000, 16000, 24000, 44100, 48000 Hz.
endpointingMs150Silence (ms) before Deepgram closes a turn.
utteranceEndMs1000Server-side endpoint detection (min 1000).
smartFormattruePunctuation + numerals.
interimResultstrueStream partial transcripts.
vadEventstrueEmit SpeechStarted / UtteranceEnd.