← Blog

Vendors Say They Support 99 Languages. They Don't.

Voice-AI vendors compete on language counts like phone makers once competed on megapixels. Their own docs tell a quieter story: 'supported' is a coverage word, and the floor it hides is a word error rate under 50% — one word wrong in every two.


Every voice-AI landing page leads with a number. 99 languages. 100+. 147. We went looking for what that number means once you send it real audio. It turns out “supported” is not a quality claim. It is a coverage claim, and the floor is lower than anyone says out loud.

The most honest sentence in the industry is buried in a Microsoft Azure doc describing OpenAI’s gpt-realtime:

“While the underlying model was trained on 98 languages, OpenAI only lists the languages that exceeded <50% word error rate (WER)… The model returns results for languages not listed but the quality will be low.”Azure Voice Live docs

So the bar for the list is a word error rate under 50%: one word wrong in every two. Anything below that bar still returns text, still bills, still demos. That is the whole article. The rest is evidence.

The gap

050100150AWS Transcribe5claims 100AssemblyAI6claims 99ElevenLabs Scribe v2 Realtime6claims 90OpenAI Whisper10claims 98Azure Voice Live15claims 100Resemble AI23claims 142Grok Voice20claims 100OpenAI gpt-realtime57claims 98languages
Hover a vendor to see what its docs actually say.
“Supported” is a coverage claim, not a quality claim. Faint bar = the headline number; solid bar = the count the vendor’s own docs actually stand behind (a quality/latency tier or a non-fallback model). The red gap is the marketing. Hover a row for the source note.

Each vendor’s headline sits next to the count its own docs actually stand behind. AssemblyAI’s “99 languages” is 6 on its current model; the other 93 fall back to the older one. Resemble cites 23, 100, and 142 across three different pages. Of the 24 vendors we catalogued, three publish per-language WER. The rest give you one aggregate number or nothing — because a per-language table would make “99 languages” indefensible.

The cliff

The academic benchmarks stopped pretending. They report the worst-language error rate, not an average, because that is the number that decides whether a stack ships in a given market.

Whisper large-v3 stays under 10% WER on roughly 30 languages, then falls off. By Khmer, Lao, Burmese, Sinhala, and Amharic you are at 40–55%. The Whisper paper says why in one line: the amount of training audio for a language predicts its accuracy. Pashto is the extreme — zero-shot WER runs 90% to 297%, and the medium model hits 461%, meaning it inserts more words than the reference contains. It is hallucinating, not transcribing.

The field has formally given up on averages: the 2025 Interspeech challenge now scores models on their worst-performing 15 languages. The long tail is the benchmark now.

Round numbers: about 20–30 languages where ASR is production-ready, another 30 or so workable with cleanup, and a long tail where “supported” means the model returns characters when you send it sound.

What it looks like in production

The benchmarks give you the shape of the cliff. GitHub issues tell you how it feels at the bottom.

Whisper outputs Hindi audio in Urdu or Persian script, language correctly detected and text rendered wrong (#1662, open since 2023). It was trained partly on YouTube subtitles, so in some languages it transcribes the subtitles that were never subtitles — a Vietnamese clip comes back as a request to subscribe to a channel. And it breaks quietly: Deepgram’s Chinese stopped working overnight in March 2025, and Whisper’s API silently broke Malayalam, Nepali, and Telugu in October 2024. Both teams heard it from users first.

TTS speaks the language with an American accent

Here the model says the right words but says them wrong. The canonical bug: in Spanish, the number 11 comes out as “eleven” instead of “once”, because numbers pass through English normalization before the voice sees them (ElevenLabs #253). Native speakers reacting to the ElevenLabs v3 launch on Hacker News were blunt: the Russian was “absolute murder of the Russian language,” the French “sounded like an Alabaman who took a semester of college French,” the Norwegian “literally just Danish.”

Listening tests confirm it. A 35-listener study (ICLR 2024) scored naturalness for the same six languages in default multilingual mode versus a model tuned per language:

123453.014.35German2.854.26French2.734.11Spanish2.444.15Dutch2.324.01Hindi2.123.85Tamil
default multilingualtuned per language
Naturalness MOS for the same six languages — default multilingual mode vs. a model actually tuned per language (35-listener study, ICLR 2024). 3 is “fair”. Tamil, routinely listed as “supported”, sits at 2.12 out of the box.

Tamil, which vendors routinely list as supported, comes out of the box at 2.12 — below “fair.”

S2S gets weird

Speech-to-speech models fail in ways a cascaded stack never would. OpenAI’s Realtime API infers a language from names: ask for Anastasia and it answers in Russian, ask for Amir and it switches to Hebrew. System prompts telling it to ignore names were bypassed. Non-English input also trips the content filter where the same audio in English passes.

The exception that proves the rule is Sesame, whose README simply says its non-English ability “likely won’t do well.” It is the only vendor we found whose docs match the behavior.

What “supported” should mean

Five things, none of which a single number captures:

  1. Per-language WER, on a public test set (Common Voice or FLEURS), not the vendor’s own audio.
  2. Per-language MOS, with a documented listener panel.
  3. Behavior under code-switching — does it transcribe, translate, or collapse?
  4. Script and dialect coverage, explicit. Arabic is a family, not a language. So is Mandarin.
  5. No silent English fallback in numbers, dates, or proper nouns.

If you are shipping today: pick the five to ten languages you actually need, benchmark them on your own audio, budget for per-language text normalization before the TTS, and run a weekly regression on a fixed audio bank — because vendors break languages without telling you.

The verdict

Voice AI is in its megapixel phase. Everyone competes on one big number because no shared benchmark forces per-language disclosure, and without disclosure there is no penalty for the gap between the marketing and the model. Headline counts are noise. The signal is per-language WER, per-language MOS, and per-language behavior — and almost nobody publishes it. Until they do, we run our own benchmarks. So should you.