DeepgramTTSConfig
Configuration for the DeepgramTTS provider.
Defined in: src/providers/tts/deepgram/DeepgramTTS.ts:90
Configuration for the DeepgramTTS provider.
Remarks
Provide either apiKey (for direct API access) or proxyUrl (for server-side proxy). At least one must be set. If both are provided, proxyUrl takes precedence and the API key is not sent to the client.
Example
// Direct API access
const config: DeepgramTTSConfig = {
apiKey: 'dg-xxxxxxxxxxxx',
voice: 'aura-2-thalia-en',
sampleRate: 24000,
outputFormat: 'linear16',
};
// Via proxy server
const proxyConfig: DeepgramTTSConfig = {
proxyUrl: 'http://localhost:3001/api/proxy/deepgram',
voice: 'aura-2-andromeda-en',
};
See
DeepgramTTSOptions - Additional Deepgram-specific synthesis options.
Extends
Properties
| Property | Type | Default value | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
apiKey? | string | undefined | API 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. | TTSProviderConfig.apiKey | src/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. | TTSProviderConfig.authType | src/core/types/providers.ts:111 |
debug? | boolean | false | Whether to enable debug logging for this provider. Remarks When true, the provider emits detailed internal logs. This is separate from the SDK-level LoggingConfig. | TTSProviderConfig.debug | src/core/types/providers.ts:122 |
endpoint? | string | undefined | Custom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments. | TTSProviderConfig.endpoint | src/core/types/providers.ts:75 |
model? | string | undefined | Model to use for text-to-speech synthesis. Remarks Provider-specific model identifier (e.g., 'aura-2' for Deepgram). | TTSProviderConfig.model | src/core/types/providers.ts:1063 |
options? | DeepgramTTSOptions | undefined | Additional Deepgram-specific TTS options. Remarks Options here override the top-level voice, sampleRate, and outputFormat values when both are provided. See DeepgramTTSOptions | - | src/providers/tts/deepgram/DeepgramTTS.ts:100 |
outputFormat? | string | undefined | Output audio format identifier. Remarks Provider-specific format string (e.g., 'linear16', 'mp3', 'opus'). | TTSProviderConfig.outputFormat | src/core/types/providers.ts:1088 |
pitch? | number | undefined | Pitch adjustment in semitones. Remarks Values from -20 to +20 semitones. Not all providers support pitch adjustment. | TTSProviderConfig.pitch | src/core/types/providers.ts:1080 |
proxyUrl? | string | undefined | URL 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' | TTSProviderConfig.proxyUrl | src/core/types/providers.ts:93 |
rate? | number | undefined | Speech rate multiplier. Remarks Values from 0.25 (quarter speed) to 4.0 (quadruple speed), where 1.0 is normal speed. Not all providers support rate adjustment. | TTSProviderConfig.rate | src/core/types/providers.ts:1072 |
sampleRate? | number | undefined | Sample rate for the output audio in Hz. Remarks Common values are 16000, 24000, and 48000. Must match the format capabilities of the chosen voice and model. | TTSProviderConfig.sampleRate | src/core/types/providers.ts:1097 |
timeout? | number | undefined | Request timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout. | TTSProviderConfig.timeout | src/core/types/providers.ts:131 |
voice? | string | undefined | Voice ID or name to use for synthesis. Remarks Provider-specific voice identifier. For example, Deepgram uses identifiers like 'aura-asteria-en', while ElevenLabs uses voice IDs. | TTSProviderConfig.voice | src/core/types/providers.ts:1055 |