Streaming Hinglish text-to-speech¶
One API, two production voices, first audio in tens of milliseconds, at 20 paise per audio-minute. Hindi, English and the code-mixed Hinglish that Indian customers actually speak, with a normaliser that reads amounts, dates, OTPs and phone numbers the way a trained agent does.
QuickstartCreate a key, make the first call with curl, Python, Node or a browser. Streaming guideChunked REST vs WebSocket, the event timeline, buffering and playback. API referenceEvery field, status code and event, straight from the server source. Text normalisationWhat the Hinglish normaliser does to numbers, acronyms, dates and OTPs, with the 66 canonical cases. VoicesAnjura and Raj, with samples; how to limit a key to a voice. PricingOne number. How metering works and what a cancelled stream costs.
The sixty-second version¶
export VARTALAAP_API_KEY="vt_live_…" # from https://tts.vartalaap.si/keys
curl -sN -X POST https://api.vartalaap.si/v1/tts \
-H "x-api-key: $VARTALAAP_API_KEY" -H "content-type: application/json" \
-d '{"text":"आपकी EMI ₹12,450 है, जो 5 नवंबर को due है.","voice":"anjura","format":"wav"}' -o emi.wav
The response body is a WAV stream: the first bytes arrive after the first 80 ms frame is decoded, so a player can start before
synthesis finishes. For conversations, open a WebSocket once and send sentences as your LLM produces them; the
server tells you the exact moment of first audio (first_audio_ms) and the real-time factor for every utterance.
How the engine behaves¶
- Normalises first.
₹12,450→ बारह हज़ार चार सौ पचास रुपये,EMI→E M I,5 नवंबरstays a date,OTP 482913is read digit by digit. Preview it without synthesising. - Chunks on sentences, at most 50 tokens each, and streams chunk after chunk on one connection.
- Caches text prefills per (voice, chunk): a repeated IVR line starts in ~18 ms of engine time.
- Says no cleanly. When every worker is busy you get
503withRetry-After(or anerrorevent withretry_after), nothing is billed, and you retry. Limits & errors.
Where things live¶
| API | https://api.vartalaap.si (REST + WebSocket), Mumbai |
| Developer portal | tts.vartalaap.si: keys, playground with live TTFA, usage, billing, voice requests |
| Status | tts.vartalaap.si/status, GET /readyz |
| Changelog | changelog |
| Company | vartalaap.si |