Models
Every provider, model, voice, language and setting the router accepts, with the LiveKit plugin’s name for each setting.
The same list as JSON, no authentication
GET https://api.ttscacherouter.devSarvam#
Sarvam API referenceProtocol "provider": "sarvam"LiveKit plugin tcr.TTS(model="sarvam/…")
- Models
- bulbul:v3, bulbul:v4-flash
- Languages
- 11
- Speed
- 0.5 – 2.0
- Sample rates
- 8, 16, 22.05, 24, 32, 44.1, 48 kHz
- Formats
- pcm, wav, mp3, aac, mulaw, alaw
Models and voices#
bulbul:v337 voices
Click a voice to copy its id.
bulbul:v4-flash222 voices
Click a voice to copy its id.
Languages#
- Bangla
bn-IN - English
en-IN - Gujarati
gu-IN - Hindi
hi-IN - Kannada
kn-IN - Malayalam
ml-IN - Marathi
mr-IN - Odia
od-IN - Punjabi
pa-IN - Tamil
ta-IN - Telugu
te-IN
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "sarvam/<model>" and the options in options.
modelstringRequiredOne of bulbul:v3, bulbul:v4-flash
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Sarvam as given. See models and voices.
languagestringRequired- A Sarvam language code from languages, passed through as given.
speednumberDefault1.0Range 0.5 – 2.0
Speech speed. 1.0 is normal speed.sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000
Of the audio you receive, in Hz. /v1/audio/speech also takes 32000, 44100, 48000.formatstringDefault"pcm"One of pcm, wav, mp3, aac, mulaw, alaw
The audio format, produced by Sarvam itself.wavisresponse_formaton /v1/audio/speech only.options.temperaturenumberDefault0.6Range 0.01 – 1.0
Sampling temperature: lower is steadier, higher is more expressive.options.dict_idstring | nullDefaultnull- A Sarvam pronunciation dictionary to apply.
options.bitratestringDefault"128k"One of 32k, 64k, 96k, 128k, 192k
Bitrate ofmp3andaacaudio.options.pitchnumberbulbul:v4-flashonly. Default0.0Range -0.5 – 0.5
Pitch: lower is deeper, higher is sharper.options.loudnessnumberbulbul:v4-flashonly. Default1.0Range 0.1 – 2.5
Loudness: lower is quieter, higher is louder.options.enable_preprocessingbooleanbulbul:v4-flashonly. Defaultfalse- Normalize numbers and English words in the text before synthesis.
options.min_buffer_sizeinteger | nullDefaultnullRange 30 – 200
Characters Sarvam buffers before it starts synthesizing. Null: the router's choice, the least Sarvam allows.options.max_chunk_lengthinteger | nullDefaultnullRange 50 – 500
The longest text Sarvam synthesizes in one piece; it splits longer sentences. Null: the router's choice, the most Sarvam allows, so each sentence is synthesized whole.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="sarvam/bulbul:v3", voice="shubh", language="bn-IN", speed=1.0, options={"temperature": 0.6, "dict_id": None, "min_buffer_size": None, "max_chunk_length": None}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "sarvam", "model": "bulbul:v3", "voice": "shubh", "language": "bn-IN", "speed": 1.0, "sample_rate": 24000, "format": "pcm", "options": {"temperature": 0.6, "dict_id": null, "min_buffer_size": null, "max_chunk_length": null}}Protocol "provider": "raya"LiveKit plugin tcr.TTS(model="raya/…")
- Models
- m1, standard
- Languages
- 14
- Speed
- 0.5 – 1.5
- Sample rates
- 8, 16, 22.05, 24 kHz
- Formats
- pcm, wav, mulaw
Models and voices#
Languages#
- Hindi
hi - Marathi
mr - Telugu
te - Kannada
kn - Bangla
bn - Assamese
as - Gujarati
gu - Nepali
ne - Malayalam
ml - Tamil
ta - English (India)
en-in - English (United States)
en-us - Englishm1 only
en - Punjabim1 only
pa
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "raya/<model>" and the options in options. Raya takes no options: send {} or leave it out.
modelstringRequiredOne of m1, standard
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Raya as given. See models and voices.
languagestringRequired- A Raya language code from languages, passed through as given.
speednumberDefault1.0Range 0.5 – 1.5
Speech speed. 1.0 is normal speed.sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mulaw
The audio format, produced by Raya itself.wavisresponse_formaton /v1/audio/speech only.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="raya/m1", voice="<voice id>", language="hi", speed=1.0, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "raya", "model": "m1", "voice": "<voice id>", "language": "hi", "speed": 1.0, "sample_rate": 24000, "format": "pcm", "options": {}}ElevenLabs#
ElevenLabs API referenceProtocol "provider": "elevenlabs"LiveKit plugin tcr.TTS(model="elevenlabs/…")
- Models
- eleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_flash_v2, eleven_turbo_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo
- Languages
- 94
- Speed
- set in voice_settings
- Sample rates
- 8, 16, 22.05, 24, 32, 44.1, 48 kHz
- Formats
- pcm, wav, mp3, mulaw, alaw
Models and voices#
Languages#
- English
en - Japaneseeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ja - Chineseeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
zh - Germaneleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
de - Hindieleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
hi - Frencheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
fr - Koreaneleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ko - Portugueseeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
pt - Italianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
it - Spanisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
es - Russianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ru - Indonesianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
id - Dutcheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
nl - Turkisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
tr - Filipinoeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
fil - Polisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
pl - Swedisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sv - Bulgarianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
bg - Romanianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ro - Arabiceleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ar - Czecheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
cs - Greekeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
el - Finnisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
fi - Croatianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
hr - Malayeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ms - Slovakeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sk - Danisheleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
da - Tamileleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ta - Ukrainianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
uk - Hungarianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
hu - Norwegianeleven_flash_v2_5, eleven_turbo_v2_5, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
no - Vietnameseeleven_flash_v2_5, eleven_turbo_v2_5, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
vi - Afrikaanseleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
af - Armenianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
hy - Assameseeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
as - Azerbaijanieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
az - Belarusianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
be - Banglaeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
bn - Bosnianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
bs - Catalaneleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ca - Cebuanoeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ceb - Nyanjaeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ny - Estonianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
et - Galicianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
gl - Georgianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ka - Gujaratieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
gu - Hausaeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ha - Hebreweleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
he - Icelandiceleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
is - Irisheleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ga - Javaneseeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
jv - Kannadaeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
kn - Kazakheleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
kk - Kyrgyzeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ky - Latvianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
lv - Lingalaeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ln - Lithuanianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
lt - Luxembourgisheleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
lb - Macedonianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
mk - Malayalameleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ml - Marathieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
mr - Nepalieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ne - Pashtoeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ps - Persianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
fa - Punjabieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
pa - Serbianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sr - Sindhieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sd - Slovenianeleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sl - Somalieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
so - Swahilieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
sw - Telugueleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
te - Thaieleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
th - Urdueleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
ur - Welsheleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo only
cy - Amhariceleven_v4, eleven_v4_turbo only
am - Asturianeleven_v4, eleven_v4_turbo only
ast - Burmeseeleven_v4, eleven_v4_turbo only
my - Cantoneseeleven_v4, eleven_v4_turbo only
yue - Fulaeleven_v4, eleven_v4_turbo only
ff - Kambaeleven_v4, eleven_v4_turbo only
kam - Laoeleven_v4, eleven_v4_turbo only
lo - Gandaeleven_v4, eleven_v4_turbo only
lg - Malteseeleven_v4, eleven_v4_turbo only
mt - Māorieleven_v4, eleven_v4_turbo only
mi - Mongolianeleven_v4, eleven_v4_turbo only
mn - Occitaneleven_v4, eleven_v4_turbo only
oc - Odiaeleven_v4, eleven_v4_turbo only
or - Shonaeleven_v4, eleven_v4_turbo only
sn - Central Kurdisheleven_v4, eleven_v4_turbo only
ckb - Tajikeleven_v4, eleven_v4_turbo only
tg - Uzbekeleven_v4, eleven_v4_turbo only
uz - Wolofeleven_v4, eleven_v4_turbo only
wo - Yorubaeleven_v4, eleven_v4_turbo only
yo - Zulueleven_v4, eleven_v4_turbo only
zu
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "elevenlabs/<model>" and the options in options.
modelstringRequiredOne of eleven_flash_v2_5, eleven_turbo_v2_5, eleven_multilingual_v2, eleven_flash_v2, eleven_turbo_v2, eleven_v3, eleven_v3_conversational, eleven_v4, eleven_v4_turbo
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to ElevenLabs as given. See models and voices.
languagestring | nullOptional- A ElevenLabs language code from languages, passed through as given. Leave it out and ElevenLabs detects the language.
sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000, 32000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, mulaw, alaw
The audio format, produced by ElevenLabs itself.wavisresponse_formaton /v1/audio/speech only.options.voice_settingsobject | nullDefaultnull- Any of stability, similarity_boost and style (0–1), speed (0.7–1.2) and use_speaker_boost; one left out keeps the voice's stored setting. Null: the voice's stored settings. Dialogue models (eleven_v3, eleven_v4) use stability only.
options.apply_text_normalizationstringDefault"auto"One of auto, on, off
Spell out numbers, dates and the like before speaking.options.apply_language_text_normalizationboolean | nullDefaultnull- Language-specific normalization (Japanese); adds latency.
options.enable_ssml_parsingbooleanDefaultfalse- Parse SSML tags in the text.
options.enable_loggingbooleanDefaulttrue- false: ElevenLabs' zero-retention mode (enterprise accounts).
options.pronunciation_dictionary_locatorsarray | nullDefaultnull- Up to 3 {pronunciation_dictionary_id, version_id}.
options.bitratestring | nullDefaultnullOne of 32k, 48k, 64k, 96k, 128k, 192k
Bitrate ofmp3: 32k at 22050 Hz, 48k at 24000 Hz, 32k–192k at 44100 Hz (default 128k).options.sync_alignmentbooleanDefaulttrue- /v1/stream: send each sentence's word timings (
wordsmessages). options.preferred_alignmentstring | nullDefaultnullOne of normalized, original
/v1/stream: words of the text as sent (original) or as ElevenLabs normalized it. Null:originalfor Japanese, Korean and Chinese, elsenormalized.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="elevenlabs/eleven_flash_v2_5", voice="<voice id>", options={"apply_text_normalization": "auto", "apply_language_text_normalization": None, "enable_ssml_parsing": False, "enable_logging": True, "sync_alignment": True, "preferred_alignment": None}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "elevenlabs", "model": "eleven_flash_v2_5", "voice": "<voice id>", "sample_rate": 24000, "format": "pcm", "options": {"voice_settings": null, "apply_text_normalization": "auto", "apply_language_text_normalization": null, "enable_ssml_parsing": false, "enable_logging": true, "pronunciation_dictionary_locators": null, "sync_alignment": true, "preferred_alignment": null}}OpenAI#
OpenAI API referenceProtocol "provider": "openai"LiveKit plugin tcr.TTS(model="openai/…")
- Models
- gpt-4o-mini-tts, gpt-4o-mini-tts-2025-12-15, tts-1, tts-1-hd
- Languages
- 57
- Speed
- 0.25 – 4.0
- Sample rates
- 24 kHz
- Formats
- pcm, wav, mp3, aac
Models and voices#
gpt-4o-mini-tts13 voices
Click a voice to copy its id.
gpt-4o-mini-tts-2025-12-1513 voices
Click a voice to copy its id.
tts-19 voices
Click a voice to copy its id.
tts-1-hd9 voices
Click a voice to copy its id.
Languages#
OpenAI takes no language setting: it speaks the language of the text.
- Afrikaans
af - Arabic
ar - Armenian
hy - Azerbaijani
az - Belarusian
be - Bosnian
bs - Bulgarian
bg - Catalan
ca - Chinese
zh - Croatian
hr - Czech
cs - Danish
da - Dutch
nl - English
en - Estonian
et - Finnish
fi - French
fr - Galician
gl - German
de - Greek
el - Hebrew
he - Hindi
hi - Hungarian
hu - Icelandic
is - Indonesian
id - Italian
it - Japanese
ja - Kannada
kn - Kazakh
kk - Korean
ko - Latvian
lv - Lithuanian
lt - Macedonian
mk - Malay
ms - Marathi
mr - Māori
mi - Nepali
ne - Norwegian
no - Persian
fa - Polish
pl - Portuguese
pt - Romanian
ro - Russian
ru - Serbian
sr - Slovak
sk - Slovenian
sl - Spanish
es - Swahili
sw - Swedish
sv - Filipino
tl - Tamil
ta - Thai
th - Turkish
tr - Ukrainian
uk - Urdu
ur - Vietnamese
vi - Welsh
cy
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "openai/<model>" and the options in options.
modelstringRequiredOne of gpt-4o-mini-tts, gpt-4o-mini-tts-2025-12-15, tts-1, tts-1-hd
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to OpenAI as given. See models and voices.
speednumberDefault1.0Range 0.25 – 4.0
Speech speed. 1.0 is normal speed.sample_rateintegerRequiredOne of 24000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, aac
The audio format, produced by OpenAI itself.wavisresponse_formaton /v1/audio/speech only.options.instructionsstring | nullDefaultnull- How to speak: tone, accent, emotion, pace. gpt-4o-mini-tts follows them; tts-1 and tts-1-hd ignore them.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="openai/gpt-4o-mini-tts", voice="alloy", speed=1.0, options={"instructions": None}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "openai", "model": "gpt-4o-mini-tts", "voice": "alloy", "speed": 1.0, "sample_rate": 24000, "format": "pcm", "options": {"instructions": null}}Deepgram#
Deepgram API referenceProtocol "provider": "deepgram"LiveKit plugin tcr.TTS(model="deepgram/…")
- Models
- aura-2, aura-1, flux
- Languages
- 7
- Speed
- 0.7 – 1.5
- Sample rates
- 8, 16, 22.05, 24, 32, 44.1, 48 kHz
- Formats
- pcm, wav, mulaw, alaw, mp3
Models and voices#
aura-290 voices
Click a voice to copy its id.
aura-112 voices
Click a voice to copy its id.
flux36 voices
Click a voice to copy its id.
Languages#
Deepgram takes no language setting: it speaks the language of the text.
- English
en - Spanishaura-2 only
es - Germanaura-2 only
de - Frenchaura-2 only
fr - Italianaura-2 only
it - Japaneseaura-2 only
ja - Dutchaura-2 only
nl
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "deepgram/<model>" and the options in options.
modelstringRequiredOne of aura-2, aura-1, flux
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Deepgram as given. See models and voices.
speednumberOptionalRange 0.7 – 1.5
Speech speed, aura-2 only. 1.0 is normal speed; left out, the provider's default.sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000, 32000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mulaw, alaw, mp3
The audio format, produced by Deepgram itself.wavisresponse_formaton /v1/audio/speech only.options.mip_opt_outbooleanDefaultfalse- Opt out of Deepgram's Model Improvement Program.
options.bit_rateinteger | nullaura-2,aura-1only. DefaultnullRange 32000 – 48000
MP3's bit rate in bits per second: 32000 or 48000. Null: Deepgram's default (48000).
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="deepgram/aura-2", voice="agathe-fr", options={"mip_opt_out": False}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "deepgram", "model": "aura-2", "voice": "agathe-fr", "sample_rate": 24000, "format": "pcm", "options": {"mip_opt_out": false}}Protocol "provider": "xai"LiveKit plugin tcr.TTS(model="xai/…")
- Models
- xai-tts
- Languages
- 21
- Speed
- 0.7 – 1.5
- Sample rates
- 8, 16, 22.05, 24, 44.1, 48 kHz
- Formats
- pcm, wav, mp3, mulaw, alaw
Models and voices#
xai-tts28 voices
Click a voice to copy its id.
Languages#
- Detected
auto - English
en - Arabic (Egypt)
ar-EG - Arabic (Saudi Arabia)
ar-SA - Arabic (United Arab Emirates)
ar-AE - Bangla
bn - Chinese
zh - French
fr - German
de - Hindi
hi - Indonesian
id - Italian
it - Japanese
ja - Korean
ko - Portuguese (Brazil)
pt-BR - Portuguese (Portugal)
pt-PT - Russian
ru - Spanish (Mexico)
es-MX - Spanish (Spain)
es-ES - Turkish
tr - Vietnamese
vi
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "xai/<model>" and the options in options.
modelstringRequiredOne of xai-tts
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to xAI as given. See models and voices.
languagestring | nullOptional- A xAI language code from languages, passed through as given. Leave it out and xAI detects the language.
speednumberOptionalRange 0.7 – 1.5
Speech speed. 1.0 is normal speed; left out, the provider's default.sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, mulaw, alaw
The audio format, produced by xAI itself.wavisresponse_formaton /v1/audio/speech only.options.optimize_streaming_latencyinteger | nullDefaultnullRange 0 – 2
0: best quality (xAI's default); 1 and 2: a smaller first chunk for lower time to first audio, with a quality tradeoff at chunk boundaries. Null: xAI's default.options.text_normalizationboolean | nullDefaultnull- Normalize written forms (numbers, abbreviations, symbols) into spoken forms before synthesis. Null: xAI's default (false).
options.bit_rateinteger | nullDefaultnullRange 32000 – 192000
MP3's bit rate in bits per second: 32000, 64000, 96000, 128000 or 192000. Null: xAI's default (128000).
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="xai/xai-tts", voice="altair", options={"optimize_streaming_latency": None, "text_normalization": None}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "xai", "model": "xai-tts", "voice": "altair", "sample_rate": 24000, "format": "pcm", "options": {"optimize_streaming_latency": null, "text_normalization": null}}Soniox#
Soniox API referenceProtocol "provider": "soniox"LiveKit plugin tcr.TTS(model="soniox/…")
- Models
- tts-rt-v2
- Languages
- 63
- Speed
- 0.7 – 1.3
- Sample rates
- 8, 16, 24, 32, 44.1, 48 kHz
- Formats
- pcm, wav, mp3, mulaw, alaw
Models and voices#
tts-rt-v2200 voices
Click a voice to copy its id.
Languages#
- Afrikaans
af - Arabic
ar - Azerbaijani
az - Belarusian
be - Bulgarian
bg - Bangla
bn - Bosnian
bs - Catalan
ca - Czech
cs - Welsh
cy - Danish
da - German
de - Greek
el - English
en - Spanish
es - Estonian
et - Basque
eu - Persian
fa - Finnish
fi - French
fr - Galician
gl - Gujarati
gu - Hebrew
he - Hindi
hi - Croatian
hr - Hungarian
hu - Indonesian
id - Icelandic
is - Italian
it - Japanese
ja - Kazakh
kk - Kannada
kn - Korean
ko - Lithuanian
lt - Latvian
lv - Macedonian
mk - Malayalam
ml - Marathi
mr - Malay
ms - Dutch
nl - Norwegian
no - Punjabi
pa - Polish
pl - Portuguese
pt - Romanian
ro - Russian
ru - Slovak
sk - Slovenian
sl - Albanian
sq - Serbian
sr - Sundanese
su - Swedish
sv - Swahili
sw - Tamil
ta - Telugu
te - Thai
th - Filipino
tl - Turkish
tr - Ukrainian
uk - Urdu
ur - Uzbek
uz - Vietnamese
vi - Chinese
zh
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "soniox/<model>" and the options in options.
modelstringRequiredOne of tts-rt-v2
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Soniox as given. See models and voices.
languagestringRequired- A Soniox language code from languages, passed through as given.
speednumberDefault1.0Range 0.7 – 1.3
Speech speed. 1.0 is normal speed.sample_rateintegerRequiredOne of 8000, 16000, 24000, 32000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, mulaw, alaw
The audio format, produced by Soniox itself.wavisresponse_formaton /v1/audio/speech only.options.bitrateinteger | nullDefaultnullRange 32000 – 320000
MP3's bit rate in bits per second: 32000, 64000, 96000, 128000, 192000, 256000 or 320000. Null: Soniox's default (128000).options.reduce_silenceboolean | nullDefaultnull- Shorten the pauses between words. Null: Soniox's default (false).
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="soniox/tts-rt-v2", voice="Daniel", language="af", speed=1.0, options={"reduce_silence": None}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "soniox", "model": "tts-rt-v2", "voice": "Daniel", "language": "af", "speed": 1.0, "sample_rate": 24000, "format": "pcm", "options": {"reduce_silence": null}}Smallest AI#
Smallest AI API referenceProtocol "provider": "smallestai"LiveKit plugin tcr.TTS(model="smallestai/…")
- Models
- lightning_v3.1, lightning_v3.1_pro
- Languages
- 33
- Speed
- 0.5 – 2.0
- Sample rates
- 8, 16, 24, 44.1 kHz
- Formats
- pcm, wav, mp3, mulaw, alaw
Models and voices#
lightning_v3.1234 voices
Click a voice to copy its id.
lightning_v3.1_pro269 voices
Click a voice to copy its id.
Languages#
- Detected
auto - English
en - Hindi
hi - Marathi
mr - Kannada
kn - Tamil
ta - Bangla
bn - Gujarati
gu - German
de - French
fr - Spanish
es - Italian
it - Polish
pl - Dutch
nl - Russian
ru - Arabic
ar - Hebrewlightning_v3.1 only
he - Swedish
sv - Malayalam
ml - Telugu
te - Portuguese
pt - Punjabi
pa - Odia
or - Greeklightning_v3.1_pro only
el - Finnishlightning_v3.1_pro only
fi - Norwegianlightning_v3.1_pro only
no - Chineselightning_v3.1_pro only
zh - Indonesianlightning_v3.1_pro only
id - Japaneselightning_v3.1_pro only
ja - Koreanlightning_v3.1_pro only
ko - Malaylightning_v3.1_pro only
ms - Turkishlightning_v3.1_pro only
tr - Vietnameselightning_v3.1_pro only
vi
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "smallestai/<model>" and the options in options. Smallest AI takes no options: send {} or leave it out.
modelstringRequiredOne of lightning_v3.1, lightning_v3.1_pro
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Smallest AI as given. See models and voices.
languagestringDefault"en"- A Smallest AI language code from languages, passed through as given.
speednumberDefault1.0Range 0.5 – 2.0
Speech speed. 1.0 is normal speed.sample_rateintegerRequiredOne of 8000, 16000, 24000, 44100
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, mulaw, alaw
The audio format, produced by Smallest AI itself.wavisresponse_formaton /v1/audio/speech only.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="smallestai/lightning_v3.1", voice="lakshya", language="en", speed=1.0, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "smallestai", "model": "lightning_v3.1", "voice": "lakshya", "language": "en", "speed": 1.0, "sample_rate": 24000, "format": "pcm", "options": {}}Cartesia#
Cartesia API referenceProtocol "provider": "cartesia"LiveKit plugin tcr.TTS(model="cartesia/…")
- Models
- sonic-3.6, sonic-3.5, sonic-3
- Languages
- 44
- Speed
- 0.6 – 1.5
- Sample rates
- 8, 16, 22.05, 24, 44.1, 48 kHz
- Formats
- pcm, wav, mp3, mulaw, alaw
Models and voices#
Languages#
- English
en - French
fr - German
de - Spanish
es - Portuguese
pt - Chinese
zh - Japanese
ja - Hindi
hi - Italian
it - Korean
ko - Dutch
nl - Polish
pl - Russian
ru - Swedish
sv - Turkish
tr - Filipino
tl - Bulgarian
bg - Romanian
ro - Arabic
ar - Czech
cs - Greek
el - Finnish
fi - Croatian
hr - Malay
ms - Slovak
sk - Danish
da - Tamil
ta - Ukrainian
uk - Hungarian
hu - Norwegian
no - Vietnamese
vi - Bangla
bn - Thai
th - Hebrew
he - Georgian
ka - Indonesian
id - Telugu
te - Gujarati
gu - Kannada
kn - Malayalam
ml - Marathi
mr - Punjabi
pa - Odiasonic-3.6 only
or - Urdusonic-3.6 only
ur
Settings#
Fields of the start message (top-level fields on /v1/audio/speech). The LiveKit plugin’s TTS and the Pipecat service’s Settings take them in the same names, with model as "cartesia/<model>" and the options in options.
modelstringRequiredOne of sonic-3.6, sonic-3.5, sonic-3
Which model synthesizes the segment.voicestringRequired- A voice of the chosen model, passed to Cartesia as given. See models and voices.
languagestringDefault"en"- A Cartesia language code from languages, passed through as given.
speednumberOptionalRange 0.6 – 1.5
Speech speed. 1.0 is normal speed; left out, the provider's default.sample_rateintegerRequiredOne of 8000, 16000, 22050, 24000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"One of pcm, wav, mp3, mulaw, alaw
The audio format, produced by Cartesia itself.wavisresponse_formaton /v1/audio/speech only.options.volumenumber | nullDefaultnullRange 0.5 – 2.0
Loudness relative to the voice's own. Null: Cartesia's default (1.0).options.emotionstring | nullDefaultnull- Guide the delivery (English): neutral, calm, angry, content, sad, scared, and the others Cartesia lists. Null: Cartesia reads the emotion from the text.
options.pronunciation_dict_idstring | nullDefaultnull- A Cartesia pronunciation dictionary's id. Cached takes keep the dictionary as it was when they were synthesized, until they expire.
options.bit_rateinteger | nullDefault128000Range 32000 – 192000
MP3's bit rate in bits per second: 32000, 64000, 96000, 128000 or 192000.options.word_timestampsbooleanDefaulttrue- /v1/stream: send each sentence's word timings (
wordsmessages). Not with mp3.
from livekit.plugins import tts_cache_router as tcrtts = tcr.TTS( model="cartesia/sonic-3.6", voice="<voice id>", language="en", options={"volume": None, "emotion": None, "pronunciation_dict_id": None, "word_timestamps": True}, sample_rate=24000,){ "type": "start", "segment_id": "c0ffee", "provider": "cartesia", "model": "sonic-3.6", "voice": "<voice id>", "language": "en", "sample_rate": 24000, "format": "pcm", "options": {"volume": null, "emotion": null, "pronunciation_dict_id": null, "word_timestamps": true}}