Product
POST /v1/tts
Text to speech
Voices that pronounce Indian names correctly, switch scripts mid-sentence, and sound the same next month as they do today. One published version, so there is no tier to choose wrong.
Models
| Version | Aliases | Rate / 1M chars |
|---|---|---|
orphix-multilingual-1.0.1 The only published version — every public voice runs on it. | echo-1 | $0.0189 / min |
Aliases move when a new version ships. Exact versions never do — pin one to a key and that key is frozen until you change it.
Languages
78 voices, unevenly — and that is the useful part.
A flag row would imply ten equal libraries. English and Hindi carry most of the catalogue, which is worth knowing before you build a Portuguese IVR on two voices.
| Language | Voices | Accents |
|---|---|---|
| English en | 44 | American · Indian · British · Australian |
| Hindi hi | 18 | Indian · Gujarati · Bengali · Marathi |
| Spanish es | 4 | Latin American · Peruvian |
| Tamil ta | 3 | Indian |
| Korean ko | 2 | Seoul |
| Arabic ar | 2 | Saudi · Jordanian |
| Portuguese pt | 2 | Brazilian |
| Italian it | 1 | Tuscan |
| French fr | 1 | African |
| Chinese zh | 1 | Beijing Mandarin |
The model itself understands thirteen — German, Dutch, Japanese and Russian have no public voice yet, so reaching them today means cloning one.
Controls
| text | 1 – 5 000 characters, whitespace collapsed |
| voice_id | 78 public voices, plus your org's own |
| speed | 0.25 – 4.0× · out of range is rejected, not clamped |
| seed | any integer · same seed, same bytes |
| output_format | wav_<rate> · pcm_<rate> · mulaw_<rate> |
✓ mulaw_8000 for telephony✓ pcm for streaming into your own mixer✓ mp3 and opus are not available yet
Example
One request, one wav file.
import requests r = requests.post( "https://api.vocalix.ai/v1/tts", headers={"Authorization": f"Bearer {KEY}"}, json={ "text": "आपका parcel आज शाम तक deliver हो जाएगा।", "voice_id": "anika-hi", "model": "echo-1", "output_format": "wav_22050", "speed": 1.0, "seed": 42, }, ) r.raise_for_status() open("reply.wav", "wb").write(r.content) print(r.headers["X-Vocalix-Model-Version"]) # echo-1.0.0