Skip to content

MurfTTSConfig

Configuration for the MurfTTS provider.

Defined in: src/providers/tts/murf/MurfTTS.ts:83

Configuration for the MurfTTS 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: MurfTTSConfig = {
  apiKey: 'your-murf-api-key',
  voiceId: 'en-US-natalie',
  format: 'mp3',
  style: 'Conversational',
};

// Via proxy server
const proxyConfig: MurfTTSConfig = {
  proxyUrl: 'http://localhost:3001/api/proxy/murf',
  voiceId: 'en-US-natalie',
};

See

Extends

Properties

PropertyTypeDefault valueDescriptionOverridesInherited fromDefined in
apiKey?string | () => Promise<string>undefinedAPI 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.apiKeysrc/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.authTypesrc/core/types/providers.ts:115
channelType?MurfTTSChannelTypeundefined (Murf’s server default, 'MONO')Channel type of the output audio.--src/providers/tts/murf/MurfTTS.ts:125
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.-TTSProviderConfig.debugsrc/core/types/providers.ts:126
endpoint?stringundefinedCustom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments.-TTSProviderConfig.endpointsrc/core/types/providers.ts:79
format?MurfTTSFormat'mp3'The audio output format. See MurfTTSFormat--src/providers/tts/murf/MurfTTS.ts:108
locale?stringundefined (the voice’s native locale)Locale of the input text for native multilingual synthesis. Remarks A language code such as 'en-US' or 'es-ES'. When omitted, the voice’s native locale is used.--src/providers/tts/murf/MurfTTS.ts:181
maxRetries?number3Maximum number of retries for failed API requests.--src/providers/tts/murf/MurfTTS.ts:188
model?stringundefinedModel to use for text-to-speech synthesis. Remarks Provider-specific model identifier (e.g., 'aura-2' for Deepgram).-TTSProviderConfig.modelsrc/core/types/providers.ts:1165
modelVersion?"GEN2"'GEN2'The Murf model generation used for synthesis. See MurfTTSModelVersion--src/providers/tts/murf/MurfTTS.ts:100
outputFormat?stringundefinedOutput audio format identifier. Remarks Provider-specific format string (e.g., 'linear16', 'mp3', 'opus').-TTSProviderConfig.outputFormatsrc/core/types/providers.ts:1190
pitch?numberundefined (natural pitch)Voice pitch adjustment. Remarks An integer from -50 (lowest) to 50 (highest), where 0 is the voice’s natural pitch. Note: Murf uses this -50..50 scale rather than the semitone scale documented on the base TTS config.TTSProviderConfig.pitch-src/providers/tts/murf/MurfTTS.ts:160
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'-TTSProviderConfig.proxyUrlsrc/core/types/providers.ts:97
rate?numberundefined (normal speed)Speech rate adjustment. Remarks An integer from -50 (slowest) to 50 (fastest), where 0 is normal speed. Note: Murf uses this -50..50 scale rather than the generic multiplier documented on the base TTS config.TTSProviderConfig.rate-src/providers/tts/murf/MurfTTS.ts:148
sampleRate?MurfTTSSampleRateundefined (Murf’s server default, 44100 Hz)Sample rate of the output audio in Hz. Remarks Murf supports 8000, 24000, 44100, and 48000 Hz.TTSProviderConfig.sampleRate-src/providers/tts/murf/MurfTTS.ts:118
style?stringundefined (the voice’s default style)Speaking style for the voice. Remarks Available styles vary per voice (e.g. 'Conversational', 'Promo'). Check the voice’s supported styles via Murf’s voices endpoint.--src/providers/tts/murf/MurfTTS.ts:136
timeout?numberundefinedRequest timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout.-TTSProviderConfig.timeoutsrc/core/types/providers.ts:135
variation?numberundefined (Murf’s server default, 1)Variation in pause, pitch, and speed across the generated speech. Remarks An integer from 0 (least variation) to 5 (most variation).--src/providers/tts/murf/MurfTTS.ts:170
voice?stringundefinedVoice 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.voicesrc/core/types/providers.ts:1157
voiceIdstringundefinedThe voice to use for synthesis. Remarks Required. Murf voice IDs follow a {locale}-{name} pattern (e.g. 'en-US-natalie'). List available voices via Murf’s GET /v1/speech/voices endpoint.--src/providers/tts/murf/MurfTTS.ts:92

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency