AZURE_TTS_API_KEY |
unset |
Azure Speech key. |
Text to speech |
AZURE_TTS_PITCH |
0% |
Pitch shift. |
Text to speech |
AZURE_TTS_PITCH_<LANG> |
unset |
Speaking pitch for one language, for example AZURE_TTS_PITCH_ML_IN (full code, ML_IN form). |
Text to speech |
AZURE_TTS_RATE |
1.2 |
Speaking speed; 1.0 is normal. |
Text to speech |
AZURE_TTS_RATE_<LANG> |
unset |
Speaking speed for one language, for example AZURE_TTS_RATE_ML_IN. |
Text to speech |
AZURE_TTS_REGION |
centralindia |
Region of your Speech resource. |
Text to speech |
AZURE_TTS_STREAMING |
on |
Stream audio. Off uses REST batch, resampled from 24 kHz. |
Text to speech |
AZURE_TTS_STYLE_<LANG> |
unset |
Speaking style for one language, for example AZURE_TTS_STYLE_EN_US. |
Text to speech |
AZURE_TTS_TIMEOUT |
unset |
Cap on a request. |
Text to speech |
AZURE_TTS_VOICE_NAME |
en-US-JennyNeural |
Voice for every language. |
Text to speech |
AZURE_TTS_VOICE_STYLE |
unset |
Speaking style such as friendly or cheerful. |
Text to speech |
AZURE_TTS_VOICE_<LANG> |
unset |
Voice for one language, for example AZURE_TTS_VOICE_ML_IN. Beats the global voice. |
Text to speech |
DEEPGRAM_API_URL |
https://api.deepgram.com |
API endpoint, for routing through a proxy. |
Text to speech |
DEEPGRAM_MODEL |
aura-asteria-en |
Deepgram voice used when no language-specific voice applies. |
Text to speech |
DEEPGRAM_TIMEOUT |
unset |
Cap on a request. |
Text to speech |
DEEPGRAM_VOICE_DE_DE |
built-in |
Deepgram voice for de-DE. |
Text to speech |
DEEPGRAM_VOICE_EN_GB |
built-in |
Deepgram voice for en-GB. |
Text to speech |
DEEPGRAM_VOICE_EN_IN |
built-in |
Deepgram voice for en-IN. |
Text to speech |
DEEPGRAM_VOICE_EN_US |
built-in |
Deepgram voice for en-US. |
Text to speech |
DEEPGRAM_VOICE_ES_ES |
built-in |
Deepgram voice for es-ES. |
Text to speech |
DEEPGRAM_VOICE_ES_MX |
built-in |
Deepgram voice for es-MX. |
Text to speech |
DEEPGRAM_VOICE_FR_FR |
built-in |
Deepgram voice for fr-FR. |
Text to speech |
DEEPGRAM_VOICE_IT_IT |
built-in |
Deepgram voice for it-IT. |
Text to speech |
DEEPGRAM_VOICE_JA_JP |
built-in |
Deepgram voice for ja-JP. |
Text to speech |
DEEPGRAM_VOICE_KO_KR |
built-in |
Deepgram voice for ko-KR. |
Text to speech |
DEEPGRAM_VOICE_NL_NL |
built-in |
Deepgram voice for nl-NL. |
Text to speech |
DEEPGRAM_VOICE_PL_PL |
built-in |
Deepgram voice for pl-PL. |
Text to speech |
DEEPGRAM_VOICE_PT_BR |
built-in |
Deepgram voice for pt-BR. |
Text to speech |
DEEPGRAM_VOICE_RU_RU |
built-in |
Deepgram voice for ru-RU. |
Text to speech |
DEEPGRAM_VOICE_ZH_CN |
built-in |
Deepgram voice for zh-CN. |
Text to speech |
DEEPGRAM_VOICE_<LANG> |
per-language built-ins |
Voice for one language, for example DEEPGRAM_VOICE_EN_IN (full code, EN_IN form). Built-in voices apply to the languages listed below. |
Text to speech |
ELEVENLABS_API_KEY |
unset |
ElevenLabs key. |
Text to speech |
ELEVENLABS_API_URL |
https://api.elevenlabs.io |
REST endpoint, for routing through a proxy. |
Text to speech |
ELEVENLABS_AUTO_MODE |
on |
Skip chunk-schedule buffering on the socket, since input is whole sentences. |
Text to speech |
ELEVENLABS_FORCE_V3 |
unset |
Send every language to v3: best quality, slower first audio. |
Text to speech |
ELEVENLABS_INACTIVITY_TIMEOUT |
unset |
Idle timeout of the socket in seconds (the API caps it). |
Text to speech |
ELEVENLABS_MODEL |
eleven_flash_v2_5 |
Realtime voice model. |
Text to speech |
ELEVENLABS_OPTIMIZE_LATENCY |
unset |
Latency optimisation level on the realtime socket. v3 rejects it. |
Text to speech |
ELEVENLABS_OUTPUT_FORMAT |
pcm_22050 |
REST fallback output format. |
Text to speech |
ELEVENLABS_SIMILARITY_BOOST |
0.75 |
Clarity, 0.0 to 1.0. |
Text to speech |
ELEVENLABS_STABILITY |
0.5 |
Consistency of delivery, 0.0 to 1.0. |
Text to speech |
ELEVENLABS_STREAMING |
on |
Stream audio over the realtime socket. Off uses REST batch only. |
Text to speech |
ELEVENLABS_STREAM_FORMAT |
ulaw_8000 |
Streaming output format, decoded locally to 8 kHz. |
Text to speech |
ELEVENLABS_STYLE |
0.0 |
Style exaggeration, 0.0 to 1.0. |
Text to speech |
ELEVENLABS_TIMEOUT |
unset |
Cap on a request. |
Text to speech |
ELEVENLABS_USE_SPEAKER_BOOST |
on |
Speaker boost. Set false to disable. |
Text to speech |
ELEVENLABS_V3_ENABLED |
on |
Route languages the flash model cannot speak to v3. Off throws instead, and another provider takes over. |
Text to speech |
ELEVENLABS_V3_MODEL |
eleven_v3 |
Model used for those languages. |
Text to speech |
ELEVENLABS_VOICE_ID |
built-in voice |
Voice for every language. |
Text to speech |
ELEVENLABS_VOICE_ML_IN |
unset |
Voice id for ml-IN. Beats the global voice. |
Text to speech |
ELEVENLABS_VOICE_<LANG> |
unset |
Voice id for one language, for example ELEVENLABS_VOICE_ML_IN. Beats the global voice. |
Text to speech |
ELEVENLABS_WSS_URL |
wss://api.elevenlabs.io |
WebSocket endpoint, for routing through a proxy. |
Text to speech |
ELEVENLABS_WS_REUSE |
on |
Persistent socket so warm turns skip the handshake. Off opens a socket per request. |
Text to speech |
ENABLE_TTS_SPLITTING |
unset |
Split long replies into chunks for faster first audio. |
Text to speech |
GCLOUD_PROJECT |
unset |
Alternative name for the Google project id. |
Text to speech |
GEMINI_TTS_BACKEND |
auto |
auto, cloud-tts or vertex. Auto sends 3.8 models to Vertex AI and the rest to Cloud TTS. |
Text to speech |
GEMINI_TTS_MODEL |
gemini-2.5-flash-tts |
Gemini voice model, for example gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts. |
Text to speech |
GEMINI_TTS_PROMPT |
unset |
Style prompt for the Cloud TTS backend. Ignored on Vertex. |
Text to speech |
GEMINI_TTS_REGION |
unset |
Cloud TTS backend only: us, eu or northamerica-northeast1. |
Text to speech |
GEMINI_TTS_STREAMING |
on |
Stream sentences on Vertex. Cloud TTS models are never streamed. |
Text to speech |
GEMINI_TTS_TEMPERATURE |
1.0 |
Delivery variation. |
Text to speech |
GEMINI_TTS_VERTEX_LOCATION |
global |
Vertex location. Only global has the 3.8 models. |
Text to speech |
GEMINI_TTS_VERTEX_MODELS |
unset |
Pattern of model names that auto routes to Vertex. |
Text to speech |
GEMINI_TTS_VERTEX_PROJECT |
unset |
Vertex project when it differs from the credentials' project. |
Text to speech |
GEMINI_TTS_VERTEX_PROMPT |
off |
Prepend the style prompt on Vertex anyway. The 3.8 models read it aloud, so leave it off. |
Text to speech |
GEMINI_TTS_VOICE_NAME |
Kore |
Gemini voice for every language, or a custom voice_<id>. |
Text to speech |
GEMINI_TTS_VOICE_<LANG> |
unset |
Voice for one language, for example GEMINI_TTS_VOICE_ML_IN. |
Text to speech |
GOOGLE_APPLICATION_CREDENTIALS |
unset |
Path to the Google service-account JSON file. Used by Google speech recognition, Google voices and Gemini voices. |
Text to speech |
GOOGLE_CLOUD_PROJECT |
unset |
Google project id, for credentials that carry none. |
Text to speech |
GOOGLE_TTS_REGION |
unset |
Regional endpoint: asia, us or eu. Unset uses the global endpoint. |
Text to speech |
GOOGLE_TTS_STREAMING |
on |
Stream Chirp3-HD voices. Off uses REST batch only. |
Text to speech |
GOOGLE_TTS_TIMEOUT |
unset |
Cap on a request, so a stalled one fails over sooner. |
Text to speech |
GOOGLE_TTS_VOICE_NAME |
unset |
One Google voice for every language. Suits single-language bots only. |
Text to speech |
GOOGLE_VOICE_ML_IN |
built-in Chirp3-HD voice |
Voice for ml-IN. Beats the global voice name. |
Text to speech |
GOOGLE_VOICE_<LANG> |
built-in Chirp3-HD voice |
Voice for one language, for example GOOGLE_VOICE_ML_IN. Beats the global voice name. |
Text to speech |
LITEBOT_SENTENCE_PREBUFFER_MS |
600 |
Audio buffered before a streamed sentence starts playing. |
Text to speech |
LITEBOT_SENTENCE_STREAMING |
on |
Play each sentence as it arrives. Off renders each reply whole. |
Text to speech |
LITEBOT_STREAM_MIN_SENTENCE_CHARS |
12 |
Shorter pieces are merged into the next sentence. |
Text to speech |
LITEBOT_TTS_SYNTH_CONCURRENCY |
1 |
Sentences rendered at once. Keep 1. |
Text to speech |
MURF_API_KEY |
unset |
Murf key. |
Text to speech |
MURF_MODEL |
GEN2 |
Murf model. |
Text to speech |
MURF_SAMPLE_RATE |
24000 |
Output sample rate. The audio is converted to the call's rate either way. |
Text to speech |
MURF_STYLE |
Conversational |
Speaking style. |
Text to speech |
MURF_VOICE_ID |
en-US-natalie |
Voice for every language. |
Text to speech |
MURF_VOICE_<LANG> |
built-in per language |
Voice for one language, for example MURF_VOICE_HI_IN. Beats the global voice. |
Text to speech |
OPENROUTER_API_KEY |
unset |
OpenRouter key. Use a normal key; a management key fails. |
Text to speech |
OPENROUTER_TTS_INSTRUCTIONS |
unset |
Delivery directions. Some models honour them, others ignore them. |
Text to speech |
OPENROUTER_TTS_MAX_CHARS |
3000 |
Longer text is cut with a warning. |
Text to speech |
OPENROUTER_TTS_MODEL |
mistralai/voxtral-mini-tts-3-0 |
Voice model, written vendor/name. |
Text to speech |
OPENROUTER_TTS_SPEED |
unset |
Speaking speed. Sent only when set, because some models reject a non-default value. |
Text to speech |
OPENROUTER_TTS_TIMEOUT |
30000 |
Cap on a request. |
Text to speech |
OPENROUTER_TTS_URL |
unset |
Override the endpoint, for example a regional one. |
Text to speech |
OPENROUTER_TTS_VOICE |
unset |
Voice id. Ids are specific to the model. |
Text to speech |
OPENROUTER_TTS_VOICE_<LANG> |
unset |
Voice id for one language, for example OPENROUTER_TTS_VOICE_ML_IN. |
Text to speech |
SARVAM_TTS_MAX_CONCURRENT |
unset |
Limit on simultaneous Sarvam requests. |
Text to speech |
SARVAM_TTS_MODEL |
bulbul:v3 |
Sarvam voice model: bulbul:v3, bulbul:v4-flash or bulbul:v2. |
Text to speech |
SARVAM_TTS_PACE |
1.0 |
Speaking speed, clamped to 0.5 to 2.0 (v2 allows 0.3 to 3.0). |
Text to speech |
SARVAM_TTS_PREPROCESSING |
on |
Text normalisation of numbers and abbreviations. Set false to disable. |
Text to speech |
SARVAM_TTS_QUEUE_TIMEOUT |
unset |
How long a request waits in that limit before failing. |
Text to speech |
SARVAM_TTS_SPEAKER |
built-in: kavya (bulbul:v3), kavya_hi_conversational (bulbul:v4-flash) |
Sarvam voice. v3 takes a bare name; v4-flash takes a persona id. |
Text to speech |
SARVAM_TTS_SPEAKER_<LANG> |
unset |
Speaker for one language, for example SARVAM_TTS_SPEAKER_ML_IN. Beats the global speaker. |
Text to speech |
SARVAM_TTS_STREAMING |
on |
Stream each sentence as it is made. Off uses REST batch only. |
Text to speech |
SARVAM_TTS_STREAM_TRANSPORT |
ws |
Streaming transport: ws or http. Use http with bulbul:v4-flash. |
Text to speech |
SARVAM_TTS_STREAM_URL |
https://api.sarvam.ai/text-to-speech/stream |
HTTP stream endpoint, for routing through your own proxy. |
Text to speech |
SARVAM_TTS_TEMPERATURE |
unset |
Delivery variation, 0.01 to 1.0 (v3 and v4-flash). Unset uses Sarvam's default. |
Text to speech |
SARVAM_TTS_WS_CONNECT_TIMEOUT_MS |
unset |
Cap on opening a socket. |
Text to speech |
SARVAM_TTS_WS_IDLE_MAX |
unset |
Idle pooled sockets kept per configuration. |
Text to speech |
SARVAM_TTS_WS_IDLE_TTL_MS |
unset |
How long an idle pooled socket lives. |
Text to speech |
SARVAM_TTS_WS_PING_MS |
unset |
Keep-alive interval for pooled sockets. |
Text to speech |
SARVAM_TTS_WS_REUSE |
on |
Keep pooled sockets open between sentences. Off opens a fresh socket per sentence. |
Text to speech |
SARVAM_TTS_WS_TIMEOUT |
unset |
Cap on a streaming request, both transports. |
Text to speech |
SARVAM_TTS_WS_URL |
wss://api.sarvam.ai/text-to-speech/ws |
WebSocket endpoint, for routing through your own proxy. |
Text to speech |
SMALLEST_API_KEY |
unset |
Smallest.ai key. |
Text to speech |
SMALLEST_TTS_COMPLETE_BACKOFF_MS |
0 |
Delay before the end-of-text frame. Keep 0; the API default adds seconds to every sentence. |
Text to speech |
SMALLEST_TTS_MAX_CHARS |
5000 |
Longest text sent; longer text is cut with a warning. |
Text to speech |
SMALLEST_TTS_MODEL |
lightning_v3.1 |
Voice model. |
Text to speech |
SMALLEST_TTS_REST_URL |
https://api.smallest.ai/waves/v1/tts |
REST endpoint, for routing through a proxy. |
Text to speech |
SMALLEST_TTS_SAMPLE_RATE |
8000 |
Output sample rate. 8000 is native for telephony, so nothing is resampled. |
Text to speech |
SMALLEST_TTS_SPEED |
1.0 |
Speaking speed. |
Text to speech |
SMALLEST_TTS_STREAMING |
on |
WebSocket streaming. Off uses REST batch. |
Text to speech |
SMALLEST_TTS_TIMEOUT |
30000 |
Cap on a request, both transports. |
Text to speech |
SMALLEST_TTS_VOICE_ID |
avni |
Voice for every language. Avoid divya, which truncates long text. |
Text to speech |
SMALLEST_TTS_WS_URL |
wss://api.smallest.ai/waves/v1/tts/live |
WebSocket endpoint, for routing through a proxy. |
Text to speech |
SMALLEST_VOICE_<LANG> |
unset |
Voice for one language, for example SMALLEST_VOICE_ML_IN. Beats the global voice. |
Text to speech |
TTS_CACHE_CLEANUP_STRATEGY |
lru |
What is deleted when the cache is full: lru, size, ttl or none. |
Text to speech |
TTS_CACHE_DIR |
unset |
Cache folder; unset uses cache/tts under the working directory. |
Text to speech |
TTS_CACHE_ENABLED |
off |
Cache rendered speech on disk and reuse it. |
Text to speech |
TTS_CACHE_MAX_AGE_DAYS |
90 |
Entries not read for this long are removed. |
Text to speech |
TTS_CACHE_MAX_SIZE_MB |
5000 |
Largest cache size before clean-up runs. |
Text to speech |
TTS_CACHE_STATS_LOGGING |
unset |
Log the cache hit rate periodically. |
Text to speech |
TTS_CACHE_WARMUP_FILE |
unset |
Phrase file used for the boot warm-up. |
Text to speech |
TTS_CACHE_WARMUP_ON_START |
unset |
Pre-render the phrase file at boot. |
Text to speech |
TTS_CHUNK_SIZE |
unset |
Most characters in one speech request. |
Text to speech |
TTS_CROSSFADE_MS |
5 |
Fade between consecutive chunks of one reply. |
Text to speech |
TTS_FORCE_SPLIT_DELIMITERS |
unset |
Characters that always split text regardless of chunk size. |
Text to speech |
TTS_GENERATION_TIMEOUT_MS |
60000 |
Longest a whole reply may take to render. |
Text to speech |
TTS_MAX_PARALLEL |
unset |
Most speech requests rendered at once. ElevenLabs allows only one. |
Text to speech |
TTS_PHRASE_DELIMITERS |
,;: |
Characters used to split a sentence that is still too long. |
Text to speech |
TTS_PROVIDER |
sarvam |
Voice provider: sarvam, google, gemini, elevenlabs, deepgram, azure, murf, vexyl, smallest or openrouter. |
Text to speech |
TTS_QUEUE_PREBUFFER_MS |
80 |
Wait that lets chunks arriving together merge into one continuous segment. |
Text to speech |
TTS_SENTENCE_EDGE_FADE_MS |
5 |
Short fade where a sentence starts or ends mid-waveform, to remove clicks. 0 disables. |
Text to speech |
TTS_SENTENCE_MIN_GAP_MS |
200 |
Silence padded between sentences when the audio has too little. 0 disables. |
Text to speech |
TTS_SPLIT_DELIMITERS |
.!?ред |
Characters that end a sentence when splitting text. |
Text to speech |
TTS_TAIL_DELAY_MS |
40 |
Pause after playback ends so the last audio drains before listening resumes. |
Text to speech |
TTS_TX_DUMP |
unset |
Write outbound speech audio to a temporary file for diagnosis. Never leave on. |
Text to speech |
VEXYL_TTS_API_KEY |
unset |
Key, when the engine requires one. |
Text to speech |
VEXYL_TTS_SPEAKER |
unset |
Named speaker, for example Anjali or Harish. Beats style selection. |
Text to speech |
VEXYL_TTS_SPEAKER_<LANG> |
unset |
Speaker for one language, for example VEXYL_TTS_SPEAKER_ML_IN. Beats the global speaker. |
Text to speech |
VEXYL_TTS_STYLE |
default |
default, warm or formal. Default and warm pick a female speaker, formal a male one. |
Text to speech |
VEXYL_TTS_STYLE_AS_IN |
default |
Vexyl voice style for as-IN. |
Text to speech |
VEXYL_TTS_STYLE_BN_IN |
default |
Vexyl voice style for bn-IN. |
Text to speech |
VEXYL_TTS_STYLE_EN_IN |
default |
Vexyl voice style for en-IN. |
Text to speech |
VEXYL_TTS_STYLE_EN_US |
default |
Vexyl voice style for en-US. |
Text to speech |
VEXYL_TTS_STYLE_GU_IN |
default |
Vexyl voice style for gu-IN. |
Text to speech |
VEXYL_TTS_STYLE_HI_IN |
default |
Vexyl voice style for hi-IN. |
Text to speech |
VEXYL_TTS_STYLE_KN_IN |
default |
Vexyl voice style for kn-IN. |
Text to speech |
VEXYL_TTS_STYLE_ML_IN |
default |
Vexyl voice style for ml-IN. |
Text to speech |
VEXYL_TTS_STYLE_MR_IN |
default |
Vexyl voice style for mr-IN. |
Text to speech |
VEXYL_TTS_STYLE_OR_IN |
default |
Vexyl voice style for or-IN. |
Text to speech |
VEXYL_TTS_STYLE_PA_IN |
default |
Vexyl voice style for pa-IN. |
Text to speech |
VEXYL_TTS_STYLE_TA_IN |
default |
Vexyl voice style for ta-IN. |
Text to speech |
VEXYL_TTS_STYLE_TE_IN |
default |
Vexyl voice style for te-IN. |
Text to speech |
VEXYL_TTS_STYLE_UR_IN |
default |
Vexyl voice style for ur-IN. |
Text to speech |
VEXYL_TTS_STYLE_<LANG> |
default |
Style for one language, for example VEXYL_TTS_STYLE_ML_IN. Listed languages below. |
Text to speech |
VEXYL_TTS_TIMEOUT |
unset |
Cap on a request. |
Text to speech |
VEXYL_TTS_URL |
ws://localhost:8092 |
WebSocket address of your Vexyl TTS engine. |
Text to speech |