Skip to content

DeepgramSTTConfig

Configuration options for the DeepgramSTT provider.

Defined in: src/providers/stt/deepgram/DeepgramSTT.ts:192

Configuration options for the DeepgramSTT provider.

Remarks

Extends STTProviderConfig with Deepgram-specific settings. You must provide either apiKey (for direct browser-to-Deepgram connections) or proxyUrl (for server-side proxy that injects the API key). If both are provided, proxyUrl takes precedence.

Example

// Direct connection (API key exposed to browser -- development only)
const config: DeepgramSTTConfig = {
  apiKey: 'dg_abc123...',
  options: { model: 'nova-3', smartFormat: true },
};

// Proxy connection (recommended for production)
const config: DeepgramSTTConfig = {
  proxyUrl: 'http://localhost:3001/api/proxy/deepgram',
  options: { model: 'nova-3', punctuation: true },
};

See

Extends

Properties

PropertyTypeDefault valueDescriptionInherited fromDefined in
apiKey?stringundefinedAPI key or authentication token for the provider. Remarks For client-side usage, consider using a proxy server to keep API keys secure. The SDK provides Express, Next.js, and Node adapters for this purpose.STTProviderConfig.apiKeysrc/core/types/providers.ts:67
authType?"token" | "bearer"Provider-specific (typically 'token' for Deepgram, ignored for REST providers)Authentication type for providers that support multiple auth mechanisms. Remarks Controls how the apiKey is sent to the provider: - 'token' — WebSocket subprotocol ['token', apiKey] or header Authorization: Token <key>. This is the default for Deepgram providers. - 'bearer' — WebSocket subprotocol ['bearer', token] or header Authorization: Bearer <token>. Use this for OAuth tokens or providers that expect Bearer auth. REST/SDK providers (Anthropic, OpenAI) handle auth through their SDK constructors and ignore this field.STTProviderConfig.authTypesrc/core/types/providers.ts:111
debug?booleanfalseWhether to enable debug logging for this provider. Remarks When true, the provider emits detailed internal logs. This is separate from the SDK-level LoggingConfig.STTProviderConfig.debugsrc/core/types/providers.ts:122
endpoint?stringundefinedCustom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments.STTProviderConfig.endpointsrc/core/types/providers.ts:75
interimResults?booleanundefinedWhether to enable interim (partial) transcription results. Remarks When true, the provider emits results as the user speaks, before the utterance is complete. Only applicable to live/WebSocket providers.STTProviderConfig.interimResultssrc/core/types/providers.ts:388
keywords?string[]undefinedCustom vocabulary or keyword phrases to boost recognition accuracy. Remarks Useful for domain-specific terminology, product names, or proper nouns that the model might not recognize well by default.STTProviderConfig.keywordssrc/core/types/providers.ts:402
language?stringundefinedLanguage code for transcription. Remarks Uses BCP 47 language tags (e.g., 'en-US', 'es-ES', 'fr-FR'). The supported languages depend on the provider and model.STTProviderConfig.languagesrc/core/types/providers.ts:371
model?stringundefinedModel to use for transcription. Remarks Provider-specific model identifier (e.g., 'nova-3' for Deepgram).STTProviderConfig.modelsrc/core/types/providers.ts:379
options?DeepgramTranscriptionOptionsundefinedDeepgram transcription options-src/providers/stt/deepgram/DeepgramSTT.ts:194
proxyUrl?stringundefinedURL of a CompositeVoice proxy server endpoint for this provider. Remarks When set, requests are routed through the proxy which injects the real API key server-side. This keeps API keys out of the browser. For WebSocket providers the HTTP URL is automatically converted to ws(s)://. At least one of apiKey or proxyUrl must be set for providers that require authentication (all except NativeSTT, NativeTTS, and WebLLM). Example proxyUrl: 'http://localhost:3000/api/proxy/deepgram'STTProviderConfig.proxyUrlsrc/core/types/providers.ts:93
punctuation?booleanundefinedWhether to enable automatic punctuation in transcription results.STTProviderConfig.punctuationsrc/core/types/providers.ts:393
timeout?numberundefinedRequest timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout.STTProviderConfig.timeoutsrc/core/types/providers.ts:131

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency