Reference
Models, voices and formats
Every provider, model, voice, language, sample rate, format and option the router accepts.
Each setting is a field of start on the WebSocket and a top-level field of /v1/audio/speech, with the LiveKit plugin’s name and default beside it. The router checks models, formats, sample rates and options against these lists; voices and languages go to the provider as given, so a wrong one gets the provider’s own error. The drop-ins take whatever the provider’s own API takes.
The same list as JSON, with no authentication:
curl https://api.ttscacherouter.dev/v1/modelsSarvam#
Sarvam API referenceProtocol "provider": "sarvam"Plugin tts_cache_router.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.
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), with the LiveKit plugin’s name and default for each.
modelstringRequired- LiveKit model
One of bulbul:v3, bulbul:v4-flash
Which model synthesizes the segment.voicestringRequired- LiveKit speaker
- A voice of the chosen model, passed to Sarvam as given. See models and voices.
languagestringRequired- LiveKit language
- A Sarvam language code from languages, passed through as given.
speednumberDefault1.0- LiveKit pace=1.0
Range 0.5 – 2.0
Speech speed. 1.0 is normal speed.sample_rateintegerRequired- LiveKit TTS(sample_rate=24000)
One of 8000, 16000, 22050, 24000
Of the audio you receive, in Hz. /v1/audio/speech also takes 32000, 44100, 48000.formatstringDefault"pcm"- LiveKit PCM
One of pcm, wav, mp3, aac, mulaw, alaw
The audio format, produced by Sarvam itself.wavisresponse_formaton /v1/audio/speech only.options.temperaturenumberDefault0.6- LiveKit temperature=0.6
Range 0.01 – 1.0
Sampling temperature: lower is steadier, higher is more expressive.options.dict_idstring | nullDefaultnull- LiveKit dict_id=None
- A Sarvam pronunciation dictionary to apply.
options.bitratestringDefault"128k"- LiveKit —
One of 32k, 64k, 96k, 128k, 192k
Bitrate ofmp3andaacaudio.options.pitchnumberbulbul:v4-flashonly. Default0.0- LiveKit pitch=0.0
Range -0.5 – 0.5
Pitch: lower is deeper, higher is sharper.options.loudnessnumberbulbul:v4-flashonly. Default1.0- LiveKit loudness=1.0
Range 0.1 – 2.5
Loudness: lower is quieter, higher is louder.options.enable_preprocessingbooleanbulbul:v4-flashonly. Defaultfalse- LiveKit enable_preprocessing=False
- Normalize numbers and English words in the text before synthesis.
options.min_buffer_sizeinteger | nullDefaultnull- LiveKit min_buffer_size=None
Range 30.0 – 200.0
Characters Sarvam buffers before it starts synthesizing. Null: the router's choice, the least Sarvam allows.options.max_chunk_lengthinteger | nullDefaultnull- LiveKit max_chunk_length=None
Range 50.0 – 500.0
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_routertts = tts_cache_router.TTS( provider=tts_cache_router.Sarvam( model="bulbul:v3", speaker="shubh", language="bn-IN", pace=1.0, 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, "bitrate": "128k", "min_buffer_size": null, "max_chunk_length": null}}Protocol "provider": "raya"Plugin tts_cache_router.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), with the LiveKit plugin’s name and default for each. Raya takes no options: send {} or leave it out.
modelstringRequired- LiveKit model
One of m1, standard
Which model synthesizes the segment.voicestringRequired- LiveKit voice_id
- A voice of the chosen model, passed to Raya as given. See models and voices.
speednumberDefault1.0- LiveKit speed=1.0
Range 0.5 – 1.5
Speech speed. 1.0 is normal speed.sample_rateintegerRequired- LiveKit TTS(sample_rate=24000)
One of 8000, 16000, 22050, 24000
Of the audio you receive, in Hz.formatstringDefault"pcm"- LiveKit 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_routertts = tts_cache_router.TTS( provider=tts_cache_router.Raya( model="m1", voice_id="<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"Plugin tts_cache_router.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), with the LiveKit plugin’s name and default for each.
modelstringRequired- LiveKit model
One 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- LiveKit voice_id
- A voice of the chosen model, passed to ElevenLabs as given. See models and voices.
languagestring | nullOptional- LiveKit language
- A ElevenLabs language code from languages, passed through as given. Leave it out and ElevenLabs detects the language.
sample_rateintegerRequired- LiveKit TTS(sample_rate=24000)
One of 8000, 16000, 22050, 24000, 32000, 44100, 48000
Of the audio you receive, in Hz.formatstringDefault"pcm"- LiveKit 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- LiveKit voice_settings=None
- stability and similarity_boost (0–1, both required), and optionally style (0–1), speed (0.7–1.2) and use_speaker_boost. Null: the voice's stored settings. Dialogue models (eleven_v3, eleven_v4) use stability only.
options.apply_text_normalizationstringDefault"auto"- LiveKit apply_text_normalization="auto"
One of auto, on, off
Spell out numbers, dates and the like before speaking.options.apply_language_text_normalizationboolean | nullDefaultnull- LiveKit apply_language_text_normalization=None
- Language-specific normalization (Japanese); adds latency.
options.enable_ssml_parsingbooleanDefaultfalse- LiveKit enable_ssml_parsing=False
- Parse SSML tags in the text.
options.enable_loggingbooleanDefaulttrue- LiveKit enable_logging=True
- false: ElevenLabs' zero-retention mode (enterprise accounts).
options.pronunciation_dictionary_locatorsarray | nullDefaultnull- LiveKit pronunciation_dictionary_locators=None
- Up to 3 {pronunciation_dictionary_id, version_id}.
options.bitratestring | nullDefaultnull- LiveKit —
One 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- LiveKit sync_alignment=True
- /v1/stream: send each sentence's word timings (
wordsmessages). options.preferred_alignmentstring | nullDefaultnull- LiveKit preferred_alignment=None
One 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_routertts = tts_cache_router.TTS( provider=tts_cache_router.ElevenLabs( model="eleven_flash_v2_5", voice_id="<voice id>", 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, "bitrate": null, "sync_alignment": true, "preferred_alignment": null}}