Quick answer: No single API wins; your real coverage is the shortest of four lists: recognition, turn detection, voice and switching. As at 4 October 2026, pin one language per call where you can. For barge-in across several languages, look at Deepgram Flux Multilingual or Azure Voice Live if every language is on their 10-language turn-detection lists; beyond that, Gemini Live (99 listed) or OpenAI (57). For a voice per language, ElevenLabs, Twilio, Retell, Azure or Vapi; for per-language provider routing, Retell or Vapi.
“Best voice agent API for multilingual customer support agents” sounds like a question with one winner. It is not, because every vendor publishes a language number for a different layer of the stack. A recognition list, a voice list and a turn-detection list are three different numbers, and the one that decides whether your Vietnamese caller gets a usable agent is the shortest of them. Below are eight APIs that developers actually shortlist for this job: the OpenAI Realtime API, ElevenLabs Agents, Vapi, Retell AI, the Deepgram Voice Agent API, Twilio ConversationRelay, Google’s Gemini Live API and Microsoft’s Azure Voice Live API. Every count was taken from that vendor’s own documentation as at 4 October 2026, with the unit named, because a list of locales and a list of languages are not the same size.
The narrowest-layer rule: what “supports 50 languages” has to mean for a support line
A voice agent handles a language properly only when that language appears on four separate lists. We call this the narrowest-layer rule: your real language coverage is the intersection of the four lists, never the largest of them.
- Recognition. Can the speech-to-text layer transcribe the caller in that language, and can it do so while other languages are enabled? Several vendors support far more languages one at a time than they do in an auto-detect mode.
- Turn detection. Does the component that decides when the caller has finished speaking work in that language? This is where lists collapse. Deepgram’s turn-aware Flux Multilingual model names 10 languages. Microsoft’s multilingual semantic turn detection names 10. A support caller who pauses mid-sentence in an unsupported language gets talked over.
- Voice. Is there a voice that speaks the language natively, and can the agent change voice when the language changes? Some stacks fix the voice for the whole session.
- Switching. When a caller starts in English and moves to Arabic, what actually changes the language: a model decision, a tool call, a message your server sends, or nothing at all?
Language support by voice agent API, counted from each vendor’s docs (as at 4 October 2026)
Read each row in two passes: the headline column tells you what the vendor’s widest list covers, and the turn-detection and switching columns tell you how much of that list survives a live, multilingual support call. Counts in this table were made by us from each vendor’s published table on 4 October 2026; where a vendor gives only a “70+” or “90+” style figure, that is what we print.
| API | Widest published list (unit) | Narrower list that matters on a live call | Turn-detection language scope | How the language changes mid-call |
|---|---|---|---|---|
| Gemini Live API (Google) | 99 rows in the Live API supported-languages table (languages, with Chinese and Portuguese each split into two rows) | Native audio models “automatically choose the appropriate language” and do not accept a language code | No per-language scope stated on the Live API capabilities page | Model switches “naturally during conversation”; restrict it in system instructions |
| OpenAI Realtime API | 57 languages on OpenAI’s text-to-speech guide, which “generally follows the Whisper model” | No per-language list specific to gpt-realtime-2 on the OpenAI pages we read; OpenAI says its voices are “currently optimized for English” | No per-language scope stated on OpenAI’s voice activity detection page | Model decides, steered by a written language policy in the prompt |
| Azure Voice Live API (Microsoft) | 60 languages in the MAI-Transcribe-2 table and 57 listed for gpt-realtime and gpt-realtime-mini, both on the Voice Live language page | 15 locales (9 base languages) in the automatic multilingual speech model; up to 10 defined languages otherwise | azure_semantic_vad_multilingual names 10 languages; azure_semantic_vad “primarily supports English” | Automatic within the multilingual model, or a declared list of up to 10 |
| Retell AI | 55 language rows in Retell’s provider table (base languages; English alone carries 5 locale codes) | Speech recognition per provider: Azure 55, Soniox 51, Deepgram 34, AssemblyAI 18 | Not stated per language on Retell’s three language pages or its background-noise page | Multiselect languages: recognition detects among them, voice pronunciation follows each response; or swap agents |
| ElevenLabs Agents | 31 languages when “All” is selected in the agent’s Additional Languages dropdown; ElevenLabs’ help centre separately says every language supported by its v3 Conversational and Flash v2.5 models can be used | Depends on the voice model you select: Flash v2.5, 32 languages; Eleven v3 Conversational, 70+; Multilingual v2, 29 | No per-language scope stated on the conversation-flow page | A language_detection system tool, optionally limited to the first two user turns |
| Deepgram Voice Agent API | 63 language entries for Nova-3 (entries include variants such as Flemish and Swiss German) | Flux Multilingual: 10 languages; Deepgram’s own voices: Aura-2 in 7 languages, Flux TTS English only | 10 languages, model-integrated, in Flux Multilingual | Auto-detect per turn with a languages field; UpdateListen and UpdateSpeak messages mid-session |
| Twilio ConversationRelay | 36 locale codes in the default-voice table (29 base languages); Twilio points to its TTS voices list for the complete set | Automatic detection (“multi”) only with Deepgram recognition plus ElevenLabs voices | Backchannel filtering described for “multiple languages including English, Spanish, French, German, and others” | Your server sends a switch-language message, or sets a language per text token |
| Vapi | Depends on the transcriber and voice you plug in; Vapi’s own voices list 40+ languages | Auto-detect only with Deepgram (Multi), Google STT (Multilingual), Gladia or AssemblyAI Universal 3.5 Pro, per Vapi’s table | Inherited from the transcriber you choose | Transcriber auto-detects; Vapi Voices V2 can set language to auto, or fallback voices per language |
Two things stand out. First, the widest lists (Gemini’s 99 rows, Deepgram’s 63 Nova-3 entries, Azure’s 60 MAI-Transcribe-2 languages, OpenAI’s 57 languages, Retell’s 55 rows) are model, recognition or routing lists, while the narrowest lists (10 for Flux Multilingual, 10 for Azure’s multilingual semantic turn detection) belong to the components that decide when the caller has stopped talking. Second, the unit changes from row to row: Twilio counts locale codes, Retell counts base languages, Deepgram’s Nova-3 table counts entries that include regional variants. Counting the same unit, Twilio’s 36 locale codes are 29 languages.
One note on second-hand counts. Vapi’s provider table lists Deepgram at “100+” languages for transcription. Deepgram’s own Models and Languages page lists 63 Nova-3 entries, and its code-switching “multi” mode covers 10. Vapi’s table may be counting a different unit, but the lesson is the same as everywhere else on this page: count a vendor’s languages on that vendor’s own page.
Which voice agent APIs can switch language mid-call?
All eight can be made to handle more than one language in a session. They differ in who makes the switch and how much control you keep.
Model-decided (Gemini Live, OpenAI Realtime). Google’s Live API documentation says native audio output models “can switch between languages naturally during conversation” and that you can restrict the languages in the system instructions, but those models “don’t support explicitly setting the language code”. OpenAI’s prompting guide for its realtime models goes further in the other direction: it warns against broad instructions such as “Switch languages when appropriate” because “the model may interpret accent, filler words, backchannels, or isolated foreign words as a reason to switch languages”, and it gives a policy template that switches only on an explicit request or “a substantive utterance in another language”. For a support line that is the right default. A caller who says “gracias” at the end of an English call should not get a Spanish reply.
Tool-decided (ElevenLabs Agents). ElevenLabs uses a language_detection system tool. It triggers when the user speaks a different language from the current output language, or asks to change, and the agent “will automatically switch voice and responses”. The tool is off by default, and an only_at_conversation_start option confines switching to the first two user turns. One caution, from ElevenLabs’ own docs: its separate Language page states that “Language selection is fixed for the duration of the call – users cannot switch languages mid-conversation”. That sentence sits in the section about the widget asking the caller for a language before the call starts, so read both pages and test the exact configuration you deploy.
Server-decided (Twilio ConversationRelay, Deepgram Voice Agent API). Twilio lets your application send a switch-language message during the session, or put a lang value on each text token, with one <Language> element per language holding that language’s recognition provider, speech model and voice. Automatic detection is a separate “multi” mode, and Twilio’s warning is blunt: using providers other than Deepgram for recognition and ElevenLabs for voice in multi mode “will result in an error and end the ConversationRelay session”. Deepgram’s Voice Agent API reports the detected languages on each turn when you use Flux Multilingual, and lets you change the speech-to-text model, language and language hints with an UpdateListen message and the voice with UpdateSpeak, without restarting the session. Deepgram documents a “detect-then-lock” pattern: start broad, read the first detected language, then pin it.
Configuration-decided (Retell AI, Azure Voice Live, Vapi). In Retell, you multiselect the languages an agent supports; recognition detects which of them the caller is speaking and pronunciation follows the language of each response, falling back to the first selected language if detection fails. Azure Voice Live’s default is an automatic multilingual model; alternatively you declare up to 10 languages, with the first treated as primary. Vapi delegates detection to the transcriber you pick.
Per-language voices: where one voice per call is the rule
The voice layer is where a multilingual support agent is most audibly wrong, and the constraints sit in each vendor’s detail pages rather than in its headline count.
- OpenAI Realtime: 10 built-in realtime voices, and “once the model has emitted audio in a session, the voice cannot be modified for that session.” The same voice therefore speaks every language in the call, and OpenAI’s text-to-speech guide says its voices are tuned for English first.
- Gemini Live: native audio models can use the voices available to Google’s text-to-speech models. The TTS guide lists 30 featured prebuilt voices plus an Extended Voice Library of hundreds more, filterable by language code. The Live API page shows one voice set in the session configuration, and the model chooses the language.
- ElevenLabs Agents: each additional language can be given its own language-specific voice, and ElevenLabs recommends doing so “for optimal pronunciation”.
- Twilio ConversationRelay: each <Language> element carries its own voice. In the default table, 31 locales default to an ElevenLabs voice and 5 (Kannada, Malayalam, Marathi, Telugu and Thai) default to a Google Standard voice.
- Retell AI: “The chosen voice must support the chosen language”, and the dashboard greys out combinations the voice cannot speak. For a multilingual agent, one voice provider must cover the whole language set.
- Deepgram: Aura-2 voices exist in 7 languages, and five Spanish voices (Aquila, Carina, Diana, Javier and Selena) codeswitch between English and Spanish inside one response. For any other mix, Deepgram points you to Cartesia, OpenAI or ElevenLabs voices with language set to “multi”. Its newer Flux TTS, which is the default if you omit the voice setting, is English-only.
- Azure Voice Live: “The supported language is tied to the voice used”, with monolingual, multilingual and custom voice types; multilingual voices can be steered with SSML.
- Vapi: configure fallback voices per language, or use Vapi Voices V2 with language set to auto.
If your support team cares that the Spanish agent sounds like a native Spanish speaker rather than an English voice speaking Spanish, the stacks that let you assign a voice per language (ElevenLabs, Twilio, Retell, Azure, and Vapi through fallback voices) are the ones to shortlist.
Worked example: scoring a five-language support line, layer by layer
Here is the narrowest-layer rule applied to one realistic language set: English, Spanish, Arabic, Vietnamese and Cantonese. Each cell counts how many of the five appear on that vendor’s list for that layer.
| API | Recognition | Turn-aware or auto-detect layer | Voice | Narrowest layer |
|---|---|---|---|---|
| Deepgram Voice Agent API | 5 of 5 on Nova-3 single-language entries (Cantonese as zh-HK) | 2 of 5 in Flux Multilingual (English, Spanish) | 2 of 5 in Aura-2 (English, Spanish); others need a third-party voice | 2 of 5 |
| Azure Voice Live | 5 of 5 on MAI-Transcribe-2 | 2 of 5 in the automatic multilingual model and in the multilingual semantic turn-detection list (English, Spanish; Chinese is listed, Cantonese is not named) | Tied to the Azure voice you choose (not counted here) | 2 of 5 in automatic mode; declare languages to go further |
| Twilio ConversationRelay | Not counted (Google and Deepgram lists apply) | Multi mode requires Deepgram, whose auto-detect list is the 10 above | 3 of 5 have a default voice (English, Spanish, Vietnamese) | 3 of 5 by default; Arabic and Cantonese need an explicit <Language> voice |
| ElevenLabs Agents | Not counted per language | Not stated per language | 4 of 5 in Flash v2.5 (Cantonese is not named in Flash v2.5 or v3 lists) | 4 of 5 |
| Gemini Live API | 4 of 5 named (Cantonese is not a named row; Chinese appears as Simplified and Traditional script rows) | Model-decided | Model-decided; 30 featured voices plus an Extended Voice Library | 4 of 5 named |
| OpenAI Realtime API | gpt-transcribe accepts the yue code for Cantonese | Model-decided | 4 of 5 on the 57-language TTS list (Chinese is listed, Cantonese is not named) | 4 of 5 named |
| Retell AI | 5 of 5 together on Deepgram or Soniox, which both code-switch | Multiselect detection across the set | 5 of 5 on Retell’s Platform and MiniMax voices | 5 of 5 on paper; confirm in the dashboard picker |
| Vapi | Depends on transcriber | Depends on transcriber | Depends on voice provider | Not scoreable without a chosen stack |
The arithmetic is deliberately simple: a stack scores the minimum of its columns, not the average. Deepgram has excellent recognition coverage for this set (all five as single languages) but only two survive in its turn-aware multilingual model, so for this particular line Deepgram’s best fit is one pinned language per call rather than auto-detect. Retell scores five of five on paper because it routes recognition to whichever provider covers the whole set, yet Retell’s own guidance is that Cantonese mixed with Mandarin or English is exactly the case where auto-detection struggles. The example does not crown a winner; it tells you which stacks deserve a real test.
Decision table: which voice agent API fits which language profile
This is the threshold version of everything above. Find the row that matches your support line, then shortlist the APIs in the second column.
| Your language profile | Shortlist | Why | Do not do this |
|---|---|---|---|
| You know the caller’s language before the call (dialled number, CRM field, IVR choice) | Any of the eight, pinned to one language per call | Retell calls single-language “the most accurate setup”; Deepgram says locking one hint is “comparable to using a dedicated monolingual model” | Turn on auto-detect “just in case” |
| 2 to 10 languages, all inside English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch, and barge-in matters | Deepgram Voice Agent API (Flux Multilingual) | Turn detection is model-integrated in all 10, with per-turn language reporting | Assume Deepgram’s own voices cover all 10: Aura-2 has no Hindi, Russian or Portuguese voice |
| Up to 10 languages, all inside English, Spanish, French, Italian, German, Japanese, Portuguese, Chinese, Korean and Hindi (so Chinese or Korean is in scope), on Microsoft infrastructure | Azure Voice Live with declared languages | Declare up to 10 languages; multilingual semantic turn detection names English, Spanish, French, Italian, German, Japanese, Portuguese, Chinese, Korean and Hindi | Leave the automatic model on for languages outside its 15 locales; Microsoft says quality is low |
| Telephony-first build where your own server already controls the conversation | Twilio ConversationRelay | A <Language> element per language, switch-language messages from your server | Use multi mode with Google recognition or non-ElevenLabs voices; Twilio ends the session |
| More than 10 languages, caller language unknown, and you accept the model choosing the language | Gemini Live API or OpenAI Realtime API | Large published lists (Gemini 99 rows; OpenAI 57 languages), with the model choosing the language | Ship without a written language policy and a test of accent-triggered switching |
| A mixed set where you want a router to pick providers per language | Retell AI or Vapi | Retell blocks combinations no single provider covers; Vapi lets you choose the transcriber and add fallback voices per language | Put Cantonese and Mandarin in one auto-detect agent; Retell says they “mix them up frequently” |
| A distinct native voice per language matters more than breadth | ElevenLabs Agents, Twilio, Retell, Azure, or Vapi with fallback voices | Each lets you assign a voice per language | Expect one OpenAI Realtime session to change voice when the language changes |
Whichever row you land on, the second step is the same: test the shortlisted stack in each language before you route real callers to it. Our 12-probe language parity test for multilingual AI agents is a fixed panel for exactly that, and it scores barge-in and mid-utterance pauses separately because turn detection is the layer that narrows first.
Who each option is wrong for
OpenAI Realtime API is wrong for a team that needs a different, native-sounding voice per language inside one call, because the voice cannot change once the session has spoken. It is also wrong for anyone who needs a published per-language list for the realtime model itself: the nearest OpenAI list is the 57-language text-to-speech list. If you are weighing it against Twilio’s speech layer, our comparison of Twilio ConversationRelay and OpenAI voice agents covers who owns recognition and voice on each route.
ElevenLabs Agents does not document Cantonese support for agents as at 4 October 2026: Cantonese is not named in the Flash v2.5 or v3 lists on ElevenLabs’ models page, and those are the model families its help centre says ElevenAgents can use (Cantonese does appear in the newer v4 family’s list). It is also wrong if you switch on only_at_conversation_start and your callers tend to change language late in the call.
Deepgram Voice Agent API is wrong when your languages fall outside Flux Multilingual’s 10 and you still need model-integrated turn detection; Nova-3 covers far more languages but Deepgram’s own table describes it as having no turn detection. It is also wrong if you want Deepgram to supply every voice, since Aura-2 covers 7 languages.
Twilio ConversationRelay is wrong if you want automatic detection with Google recognition or with Google or Amazon voices; multi mode needs Deepgram and ElevenLabs. It suits teams comfortable writing the switching logic on their own server.
Retell AI is wrong for a single agent that must separate Cantonese from Mandarin, and by Retell’s own two rules (every language in a multilingual agent needs one recognition provider for the whole set, and Azure is single-language only), the four languages only Azure covers in Retell’s table (Armenian, Filipino, Icelandic and Nepali) look limited to single-language agents. Retell calls its dashboard picker the source of truth, so confirm there.
Vapi is wrong for a team that wants one vendor to answer for every layer. Its coverage is the coverage of the providers you choose, and its own table marks Azure STT, OpenAI Whisper, Speechmatics and Talkscriber as single-language with no auto-detection.
Gemini Live API is wrong if a compliance script must be delivered in a language you pin in code, because native audio models do not accept a language code.
Azure Voice Live API is wrong for unknown-language callers outside its 15-locale automatic model unless you can declare the list (10 maximum) in advance, and Microsoft notes that declaring several languages “can incur extra latency”.
Ready to run multilingual phone, SMS, email and WhatsApp agents without assembling four language lists yourself? Zian AI is in partnership-application beta. Apply For Partnership
Should you build the multilingual stack yourself or hand it over?
Building on one of these APIs is entirely doable, and for one or two languages it is the sensible choice. The honest cost sits in the parts the language tables do not show. For each language you add, someone has to pick and test a voice, write and review the greeting and the required disclosures, tune the turn-detection thresholds, add keyterms for product and place names, and re-run the test panel after every model or prompt change. The models underneath move, too. As at 4 October 2026, Deepgram’s docs default the voice to the English-only Flux TTS when you omit it, OpenAI’s model page marks gpt-realtime as deprecated while its prompting guide calls gpt-realtime-2 its state-of-the-art voice model, and Google’s Live API page recommends updating to Gemini 3.8 Live. Each change like that is a re-test in every language you support.
A practical crossover: one or two languages on one channel, build it. Five or more languages across phone and messaging, with a monthly re-test cadence, is a standing job for an engineer and a bilingual reviewer per language. If your shortlist already spans two vendors, our page on when to switch from a voice agent platform to a framework sets out the trade.
Zian’s agents work in 30+ languages across live phone, SMS, email and WhatsApp, with voice cloning, and the broader picture is on our page about multilingual AI sales agents across phone, SMS, email and WhatsApp. Like every vendor above, we would rather you test us on your own five languages than take a count on trust.
Where every figure on this page comes from
| Figure | Who published it | Link | Date read |
|---|---|---|---|
| 99 rows in the Live API supported-languages table; native audio models choose the language automatically, do not accept a language code, and can switch languages during conversation; recommendation to update to Gemini 3.8 Live | Gemini API: Live API capabilities guide | 4 Oct 2026 | |
| 30 featured prebuilt voices; Extended Voice Library of hundreds of additional voices across languages, filterable by language code | Gemini API: Text-to-speech generation | 4 Oct 2026 | |
| 57 languages listed for text to speech (“generally follows the Whisper model”); 13 built-in TTS voices; voices “currently optimized for English” | OpenAI | OpenAI API: Text to speech | 4 Oct 2026 |
| 10 built-in realtime voices; voice cannot be modified once the model has emitted audio in a session | OpenAI | OpenAI API: Realtime conversations | 4 Oct 2026 |
| Language-policy guidance quoted (accent, filler words, backchannels; “substantive utterance”); gpt-realtime-2 described as state-of-the-art voice model | OpenAI | OpenAI API: Prompting Realtime models | 4 Oct 2026 |
| gpt-transcribe accepts selected ISO 639-3 codes including yue and cmn; Whisper supports 98 languages, accuracy varies | OpenAI | OpenAI API: Speech to text | 4 Oct 2026 |
| gpt-realtime marked deprecated | OpenAI | OpenAI API: GPT-Realtime model page | 4 Oct 2026 |
| Semantic VAD described with no per-language scope | OpenAI | OpenAI API: Voice activity detection | 4 Oct 2026 |
| 57 languages for gpt-realtime and gpt-realtime-mini in Voice Live; automatic multilingual model of 15 locales; up to 10 declared languages, first is primary, “can incur extra latency”; low quality for unsupported languages; MAI-Transcribe-2 table of 60 languages; language tied to the voice used | Microsoft | Microsoft Learn: Voice Live API language support | 4 Oct 2026 |
| azure_semantic_vad “primarily supports English”; azure_semantic_vad_multilingual names 10 languages | Microsoft | Microsoft Learn: How to use the Voice Live API | 4 Oct 2026 |
| 55 language rows; TTS coverage per provider (Platform 39, MiniMax 39, Cartesia 36, Inworld 15, Fish Audio 51, ElevenLabs 54, OpenAI 54); ASR coverage per provider (Azure 55, Soniox 51, Deepgram 34, AssemblyAI 18); Azure single-language only; Deepgram and Soniox code-switch; Armenian, Filipino, Icelandic, Nepali covered by Azure alone | Retell AI | Retell docs: Supported languages by provider | 4 Oct 2026 |
| Single language “the most accurate setup”; chosen voice must support the chosen language; dashboard picker is the source of truth | Retell AI | Retell docs: Set language for your agent | 4 Oct 2026 |
| Multilingual pipeline less accurate per language; Cantonese and Mandarin “mix them up frequently”; pronunciation falls back to first selected language | Retell AI | Retell docs: Configure a multilingual agent | 4 Oct 2026 |
| Agent transfer between agents for language switches | Retell AI | Retell docs: Agent Transfer Node | 4 Oct 2026 |
| Interruption sensitivity described with no per-language scope | Retell AI | Retell docs: Handle background speech and noise | 4 Oct 2026 |
| “All” option supports 31 languages; language-specific voices; “Language selection is fixed for the duration of the call” | ElevenLabs | ElevenLabs docs: Language | 4 Oct 2026 |
| language_detection system tool, off by default; only_at_conversation_start limits switching to the first two user turns | ElevenLabs | ElevenLabs docs: Language detection | 4 Oct 2026 |
| Flash v2.5: 32 languages; Multilingual v2: 29; v3 and v3 Conversational: 70+; Cantonese named in the v4 list only | ElevenLabs | ElevenLabs docs: Models | 4 Oct 2026 |
| All v3 Conversational and Flash v2.5 languages can be used with ElevenAgents | ElevenLabs | ElevenLabs help centre: Which languages can I use with ElevenAgents? | 4 Oct 2026 |
| Turn eagerness described with no per-language scope | ElevenLabs | ElevenLabs docs: Conversation flow | 4 Oct 2026 |
| 63 Nova-3 language entries; Nova-3 “no turn detection”; flux-general-multi and nova-3 multi cover the same 10 languages | Deepgram | Deepgram docs: Models and Languages Overview | 4 Oct 2026 |
| Flux Multilingual: 10 languages; detect-then-lock; single hint “comparable to using a dedicated monolingual model” | Deepgram | Deepgram docs: Flux Multilingual and Language Prompting | 4 Oct 2026 |
| Five Aura Spanish voices codeswitch English and Spanish; Cartesia, OpenAI or ElevenLabs with language “multi” for other mixes | Deepgram | Deepgram docs: Multilingual Voice Agents | 4 Oct 2026 |
| Aura-2 voices in 7 languages; Flux TTS English-only | Deepgram | Deepgram docs: TTS Models and Languages Overview | 4 Oct 2026 |
| Flux TTS is the default when agent.speak is omitted | Deepgram | Deepgram docs: Voice Agent TTS Models | 4 Oct 2026 |
| UpdateListen changes model, language and hints mid-session | Deepgram | Deepgram docs: Update Listen | 4 Oct 2026 |
| UpdateSpeak changes the voice mid-conversation | Deepgram | Deepgram docs: Update Speak | 4 Oct 2026 |
| 36 locale codes in the default-voice table; 31 default to ElevenLabs voices, 5 to Google; complete list in Twilio TTS voices docs | Twilio | Twilio docs: Picking a voice (Conversation Relay) | 4 Oct 2026 |
| multi mode requires Deepgram and ElevenLabs, other providers end the session; switch-language message; per-language <Language> element; backchannel language wording | Twilio | Twilio docs: TwiML Voice <ConversationRelay> | 4 Oct 2026 |
| Provider table: auto-detect transcribers, no-auto-detect transcribers, Deepgram listed at 100+, Vapi voices 40+ | Vapi | Vapi docs: Multilingual support | 4 Oct 2026 |
| 29 base languages behind Twilio’s 36 locale codes; 9 base languages behind Azure’s 15 automatic-model locales; every count in the comparison table; the five-language worked example | Zian AI, counted from the vendor tables above | Derived on this page | 4 Oct 2026 |
| Zian AI: 30+ languages across phone, SMS, email and WhatsApp; voice cloning | Zian AI (first-party) | zian.ai: multilingual AI sales agents | 4 Oct 2026 |
Frequently asked questions
What is the best voice agent API for multilingual customer support?
It depends on your language set, because each API’s real coverage is the shortest of four lists: recognition, turn detection, voice and switching. As at 4 October 2026, pin one language per call where you can. For barge-in across several languages, look at Deepgram Flux Multilingual or Azure Voice Live if every language is on their turn detection lists, which name 10 each and differ. Beyond that, Gemini Live lists 99 languages and OpenAI’s speech docs list 57. For a voice per language, shortlist ElevenLabs, Twilio, Retell, Azure or Vapi; for per-language provider routing, Retell or Vapi.
Which voice agent APIs can switch languages in the middle of a call?
All eight covered here can, by different routes. Gemini Live and OpenAI Realtime let the model decide. ElevenLabs uses a language detection system tool, which is off by default and can be limited to the first two user turns, as its language detection documentation explains. Twilio ConversationRelay and Deepgram let your server change the language with a message. Retell detects among the languages you select, Azure Voice Live uses an automatic multilingual model or up to 10 declared languages, and Vapi relies on the transcriber you choose.
How many languages does the OpenAI Realtime API support?
On the OpenAI pages we read as at 4 October 2026, we found no language list specific to gpt-realtime-2. The nearest is the 57-language list on OpenAI’s text to speech guide, which says its TTS model generally follows Whisper and that its voices are tuned for English first. Microsoft’s Voice Live documentation lists the same 57 languages for gpt-realtime and gpt-realtime-mini.
Does Deepgram’s Voice Agent API handle turn-taking in every language it transcribes?
No. Deepgram’s Nova-3 model has 63 language entries, but Deepgram’s own model table describes it as having no turn detection. Flux Multilingual, the turn-aware model built for voice agents, covers 10 languages: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian and Dutch. See the Flux Multilingual documentation.
Can one AI voice agent use a different voice for each language?
Yes on ElevenLabs Agents, Twilio ConversationRelay, Retell AI and Azure Voice Live, which all let you assign a voice per language, and on Vapi through fallback voices. Not within one OpenAI Realtime session: once the model has spoken, the voice cannot be changed for that session. Deepgram’s own voices cover 7 languages, with five Spanish voices that mix English and Spanish in one reply.
Should I turn on automatic language detection for my support line?
Only if you cannot know the caller’s language in advance. Retell calls a single-language agent the most accurate setup, and Deepgram says locking one language hint is comparable to a dedicated monolingual model. If the dialled number, a CRM field or an IVR choice tells you the language, pin it per call. Twilio’s automatic mode also has a hard requirement: it works only with Deepgram recognition and ElevenLabs voices, and other providers end the session.
Want a multilingual support or sales agent you can test on your own language set rather than trusting a vendor’s headline count? Zian AI is in partnership-application beta. Apply For Partnership