Capabilities
Language Support
Realtime TTS built for multilingual applications.
Bring your product to a global audience: synthesize speech with the same voice across a wide range of languages.
The Realtime TTS-2 models — inworld-tts-2 and inworld-tts-2-flash — share the same language support. For multilingual applications, inworld-tts-2 is the most capable choice, with the most accurate pronunciation and intonation; inworld-tts-2-flash offers the same language coverage at the lowest latency and cost.
Supported languages
The Realtime TTS-2 models support 200+ unique languages and locales (BCP-47 codes) — from broad languages like es (Spanish) to regional locales like es-MX (Mexican Spanish). Supported languages fall into two tiers, listed below.
Tier 1
Tier 1 languages are the most extensively evaluated, offering the highest, most consistent quality and the most natural pronunciation:
| Language | Code |
|---|---|
| Arabic | ar |
| Chinese | zh |
| Dutch | nl |
| English | en |
| French | fr |
| German | de |
| Hebrew | he |
| Hindi | hi |
| Italian | it |
| Japanese | ja |
| Korean | ko |
| Polish | pl |
| Portuguese | pt |
| Russian | ru |
| Spanish | es |
Tier 2
Tier 2 languages are fully supported for synthesis. Results can vary more by language and voice than in Tier 1; however, the model often exceeds expectations. We encourage you to try your target language in the TTS Playground. For best results, design or clone a voice in your target language.
| Language | Code * |
|---|---|
| Afrikaans | af |
| Albanian | sq |
| Amharic | am |
| Armenian | hy |
| Assamese | as |
| Azerbaijani | az |
| Basque | eu |
| Belarusian | be |
| Bengali | bn |
| Bulgarian | bg |
| Burmese | my |
| Cantonese | yue |
| Catalan | ca |
| Cebuano | ceb |
| Croatian | hr |
| Czech | cs |
| Danish | da |
| Eastern Yiddish | yih |
| Egyptian Arabic | arz |
| Estonian | et |
| Filipino | fil |
| Finnish | fi |
| Galician | gl |
| Garhwali | gbm |
| Georgian | ka |
| Greek | el |
| Gujarati | gu |
| Gulf Arabic | afb |
| Haitian Creole | ht |
| Hijazi Arabic | acw |
| Hungarian | hu |
| Icelandic | is |
| Indonesian | id |
| Javanese | jv |
| Kannada | kn |
| Kazakh | kk |
| Konkani | kok |
| Lao | lo |
| Latvian | lv |
| Libyan Arabic | ayl |
| Lithuanian | lt |
| Luxembourgish | lb |
| Macedonian | mk |
| Maithili | mai |
| Malagasy | mg |
| Malay | ms |
| Malayalam | ml |
| Marathi | mr |
| Mongolian | mn |
| Najdi Arabic | ars |
| Nepali | ne |
| Northern Uzbek | uzn |
| Norwegian Bokmål | nb |
| Norwegian Nynorsk | nn |
| Odia | or |
| Omani Arabic | acx |
| Pashto | ps |
| Persian | fa |
| Piedmontese | pms |
| Punjabi | pa |
| Romanian | ro |
| Serbian | sr |
| Sindhi | sd |
| Sinhala | si |
| Slovak | sk |
| Slovenian | sl |
| Swahili | sw |
| Swedish | sv |
| Tamil | ta |
| Telugu | te |
| Thai | th |
| Tunisian Arabic | aeb |
| Turkish | tr |
| Ukrainian | uk |
| Urdu | ur |
| Uzbek | uz |
| Vietnamese | vi |
| Võro | vro |
| Welsh | cy |
* These are base language subtags (ISO 639-1, or ISO 639-3 for less common languages).
Accents and regional variants: A voice reproduces the specific accent it was cloned in (e.g., a voice cloned in British English speaks en-GB natively). If your voice wasn't cloned in the accent you need, pass the matching BCP-47 regional code in the language field (e.g., en-GB, es-MX, pt-BR) to steer it. See Specifying a language below.
Text normalization is language-specific, not locale-specific — English is normalized the same way whether you target en-US or en-GB, even though conventions for dates, currencies, and the like can differ. If you need locale-specific formatting, normalize that text yourself.
Cross-lingual support
A voice delivers the best speaker similarity when it speaks the language it was cloned in — its native tongue.
The Realtime TTS-2 models support cross-lingual synthesis. When synthesizing a different language, the model makes a best-effort attempt to speak the target language natively, without carrying over the accent of the voice's original language. If you want the voice to keep its original accent, prompt for it explicitly (e.g., with steering on inworld-tts-2).
For the most natural, consistent cross-lingual results, we recommend specifying the language to synthesize in and localizing the voice.
Specifying a language
Use the language field to tell the model which language (as specified by a BCP-47 language tag) the voice should speak the text in. When set, the service will:
- Apply text normalization (if enabled) for the target language (e.g., speaking numbers in the target language).
- Use the voice's localized prompt for that language, if one exists. If no localized prompt is available, the model will be steered to speak in the target language.
When language is omitted, the original voice prompt is used and the language for normalization (if enabled) is auto-detected from the input text.
If you are sending short requests with only numbers or dates (e.g., 123-456-7890), auto-detection may not have enough context to detect the right language. In those cases, we recommend specifying a language for most consistent results.
Voice localization
Voice localization adapts a voice to a target language so it sounds like a native speaker of that language — delivering fluent, natural speech without carrying over the accent of the voice's original language. (By contrast, specifying a language on an un-localized voice may retain the original accent.) It is supported for all Inworld TTS models.
Open the Voices page in Portal
In Inworld Portal, go to Voices and select the My voices tab. Hover over an English voice to open its details panel on the right.
Review candidates
After generation, you'll see a few localized prompt candidates. Listen to each and pick the one that sounds most natural and native, then click Save.
If none sound right, you can click Regenerate. You may want to change the script before regenerating, since the script influences the generated voice.



