LMNTTTSConfig
Configuration for the LMNTTTS provider.
Defined in: src/providers/tts/lmnt/LMNTTTS.ts:88
Configuration for the LMNTTTS 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 voice is always required.
Example
// Direct API access
const config: LMNTTTSConfig = {
apiKey: 'xxxxxxxxxxxx',
voice: 'leah',
model: 'blizzard',
format: 'mp3',
};
// Via proxy server
const proxyConfig: LMNTTTSConfig = {
proxyUrl: 'http://localhost:3001/api/proxy/lmnt',
voice: 'leah',
};
See
- LMNTTTSModel - Available model options.
- LMNTTTSFormat - Available audio format options.
Extends
Properties
| Property | Type | Default value | Description | Overrides | Inherited from | Defined in |
|---|---|---|---|---|---|---|
apiKey? | string | () => Promise<string> | undefined | API key or authentication token for the provider. Remarks Can be a static string or an async factory function that returns a fresh token on each call. Use a factory for short-lived tokens (e.g. Deepgram JWTs) so each WebSocket connection gets a valid credential. 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:71 |
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:115 |
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:126 |
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:79 |
format? | LMNTTTSFormat | 'mp3' | The audio output format. See LMNTTTSFormat | - | - | src/providers/tts/lmnt/LMNTTTS.ts:112 |
language? | string | undefined (automatic detection) | Language of the input text. Remarks A two-letter ISO 639-1 code (e.g. 'en'), or 'auto' for automatic detection. Specifying the language is recommended for faster generation. | - | - | src/providers/tts/lmnt/LMNTTTS.ts:135 |
maxRetries? | number | 3 | Maximum number of retries for failed API requests. | - | - | src/providers/tts/lmnt/LMNTTTS.ts:166 |
model? | "blizzard" | 'blizzard' | The TTS model to use. See LMNTTTSModel | TTSProviderConfig.model | - | src/providers/tts/lmnt/LMNTTTS.ts:104 |
outputFormat? | string | undefined | Output audio format identifier. Remarks Provider-specific format string (e.g., 'linear16', 'mp3', 'opus'). | - | TTSProviderConfig.outputFormat | src/core/types/providers.ts:1190 |
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:1182 |
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:97 |
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:1174 |
sampleRate? | LMNTTTSSampleRate | undefined (API default) | The desired output sample rate in Hz. Remarks When omitted, the LMNT API defaults to 24000 for all formats except ulaw, which defaults to 8000. See LMNTTTSSampleRate | TTSProviderConfig.sampleRate | - | src/providers/tts/lmnt/LMNTTTS.ts:124 |
temperature? | number | undefined (API default) | Influences how expressive and emotionally varied the speech becomes. Remarks Lower values (like 0.3) create more neutral, consistent speaking styles. Higher values (like 1.0) allow for more dynamic emotional range and speaking styles. | - | - | src/providers/tts/lmnt/LMNTTTS.ts:147 |
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:135 |
topP? | number | undefined (API default) | Controls the stability of the generated speech. Remarks A lower value (like 0.3) produces more consistent, reliable speech. A higher value (like 0.9) gives more flexibility in how words are spoken, but might occasionally produce unusual intonations. | - | - | src/providers/tts/lmnt/LMNTTTS.ts:159 |
voice | string | undefined | The voice to use for synthesis. Remarks Required. A voice ID from LMNT’s GET /v1/ai/voice/list endpoint (e.g. 'leah'), or the ID of a cloned voice. | TTSProviderConfig.voice | - | src/providers/tts/lmnt/LMNTTTS.ts:96 |