Supported languages
The Instant Voice Cloning API supports synthesis in 12 Indian languages. Pass any of the following codes as language_code / target_language_code, or omit the field to detect the language from text.
Language codes
Codes follow the BCP-47 standard. If you need a language not listed here, contact your account manager.
Urdu (ur-IN) is not supported. An omitted or explicit Urdu request returns 400.
Omitting language_code
When you omit language_code (REST / HTTP stream) or target_language_code (WebSocket), the service detects the language from text:
- Unique Indic scripts (Tamil, Telugu, Kannada, Malayalam, Gujarati, Odia, Punjabi) map directly.
- Latin text is English if it is mostly dictionary English; romanized Indic such as
Aapka order ship ho gaya hai.returns400. - Hindi vs Marathi (Devanagari) and Bengali vs Assamese share a script, so those two pairs use a small detector.
- Short Assamese without the letters ৰ or ৱ is often detected as Bengali. Pass
as-INfor Assamese. - Detection can be wrong on short or code-mixed text. Pass the code when pronunciation has to be exact.
On the WebSocket, the first detection is locked for the rest of the session. Send a new config with an explicit target_language_code to change language.
Cross-lingual support
Every supported language can be synthesized from a reference clip in any other supported language. The reference clip’s language does not need to match language_code. See Clone Across Languages for details.
Script support
The text field accepts native scripts for each language. Always prefer the native script for the most accurate pronunciation:
Code-mixed text
Code-mixed input (e.g. Hindi with embedded English words written in Roman script) is supported, and frequently appears in real-world Indian content. The model handles common mixing patterns natively:
For best results with code-mixed text, set language_code to the dominant language (Hindi in the example above).
Pre-TTS text normalization (enable_text_normalization) converts numbers, currencies, and dates to their spoken form before synthesis. It is supported for all 12 languages listed above and is skipped silently for any other code.