ElevenLabsTTSConfig
Configuration for the ElevenLabsTTS provider.
Defined in: src/providers/tts/elevenlabs/ElevenLabsTTS.ts:97
Configuration for the ElevenLabsTTS 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. The voiceId is always required.
Example
// Direct API access
const config: ElevenLabsTTSConfig = {
apiKey: 'el-xxxxxxxxxxxx',
voiceId: '21m00Tcm4TlvDq8ikWAM',
modelId: 'eleven_turbo_v2_5',
stability: 0.5,
similarityBoost: 0.75,
outputFormat: 'pcm_24000',
};
// Via proxy server
const proxyConfig: ElevenLabsTTSConfig = {
proxyUrl: 'http://localhost:3001/api/proxy/elevenlabs',
voiceId: '21m00Tcm4TlvDq8ikWAM',
};
See
- ElevenLabsTTSModel - Available model options.
- ElevenLabsOutputFormat - Available output format options.
Extends
Properties
| Property | Type | Default value | Description | Overrides | Inherited from | Defined in |
|---|---|---|---|---|---|---|
apiKey? | string | undefined | ElevenLabs API key for direct authentication. Remarks Required when connecting directly to ElevenLabs (no proxy). Omit when using proxyUrl — the proxy server supplies the key server-side. | TTSProviderConfig.apiKey | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:105 |
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:86 |
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:975 |
modelId? | ElevenLabsTTSModel | 'eleven_turbo_v2_5' | Model ID to use for synthesis. See ElevenLabsTTSModel | - | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:134 |
outputFormat? | ElevenLabsOutputFormat | 'pcm_16000' | Output audio format string that encodes both encoding and sample rate. See ElevenLabsOutputFormat | TTSProviderConfig.outputFormat | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:164 |
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:992 |
proxyUrl? | string | undefined | URL of the CompositeVoice proxy server’s ElevenLabs endpoint. Remarks When set, the WebSocket connection is routed through the proxy and the apiKey is not required on the client side. The HTTP URL is automatically converted to a WebSocket URL (ws:// or wss://). Example 'http://localhost:3001/api/proxy/elevenlabs' | - | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:117 |
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:984 |
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:1009 |
similarityBoost? | number | 0.75 | Similarity boost (0 to 1). Remarks Higher values make the synthesized voice more closely match the original voice sample. Lower values allow more creative variation. | - | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:156 |
stability? | number | 0.5 | Voice stability (0 to 1). Remarks Higher values produce more consistent, predictable output. Lower values introduce more variation and expressiveness. | - | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:145 |
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:95 |
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:967 |
voiceId | string | undefined | ElevenLabs voice ID (required). Remarks Find voice IDs via the ElevenLabs Voice Library or the API’s list voices endpoint. | - | - | src/providers/tts/elevenlabs/ElevenLabsTTS.ts:126 |