A voice agent can run a call in one language, offer several and switch when asked, or work out which language the caller is speaking and follow them without being told. All three are configured from the Setup and Voice tabs.
agents:voice:manage permission.On the Setup tab, Default Language sets the language the agent starts in and the language speech recognition is tuned for.
Six languages can be a Default Language: English, Spanish, French, German, Italian and Portuguese.
Hindi and Punjabi appear in the same list but are supported as additional languages rather than as the default — set the default to one of the six and add Hindi or Punjabi under Additional Languages (below). Choosing either as the Default Language is refused when the agent is saved.
Being a valid Default Language is not the same as having a voice built for it. The table under What is supported, language by language has the full picture; the short version is that English, French and Spanish are covered end to end, while German, Italian and Portuguese need you to choose the voice with care.
Leave Multi-Lingual Support off and you are done; the agent speaks one language in one voice.
flowchart TB
A["Multi-Lingual Support: on"] --> B["Default Language<br/>+ primary voice"]
A --> C["Additional Languages<br/>one voice per language"]
B --> D["Agent starts in the default"]
C --> E["Caller asks in, or asks for,<br/>another language"]
E --> F["Agent switches language<br/>and swaps to that language's voice"]
G["Auto-Detect Language: on"] --> H["Every turn is recognised<br/>language-agnostically"]
H --> F
Daniella (Cartesia · ES · Female).Turning on multilingual support also gives the agent its language-switching ability: it can move between the languages you configured when a caller asks, or when it hears the caller has changed. Each switch swaps the voice to that language's voice, so the accent follows the language rather than staying in the default's.
Three things have to line up for a language, and they do not line up the same way for all eight in the picker: whether it can be the Default Language, whether speech recognition is set to it, and whether a voice tuned for it exists.
| Language | As Default Language | Dedicated voices | What you get |
|---|---|---|---|
English (en) |
Yes | 16 (incl. US and UK) + 10 emotive | Full support |
French (fr) |
Yes | 8 | Full support |
Spanish (es) |
Yes | 2 | Full support |
German (de) |
Yes | none | Works, but in a voice not tuned for German — see below |
Italian (it) |
Yes | none | Same |
Portuguese (pt) |
Yes | none | Same |
Hindi (hi) |
No — use it as an additional language | 4 | Full support as an additional language |
Punjabi (pa) |
No — use it as an additional language | 2 | Full support as an additional language |
Plus 10 OpenAI Realtime voices (Alloy, Ash, Ballad, Coral, Echo, Fable, Onyx, Nova, Sage, Shimmer) which carry no language tag of their own and speak whichever language the call is set to.
All three save as the Default Language and speech recognition is set to them, so the agent understands callers fine. What is missing is a voice built for the language: the picker has none, so the agent speaks through whichever voice you selected.
That leaves two sensible choices:
Either way, preview in the actual language rather than the default English phrase. That is the only way to hear what your callers will hear.
On the Setup tab, Auto-Detect Language ("Automatically detect the user's language each turn and switch voices on the fly") changes how speech recognition runs: instead of listening for one specific language, the agent recognises each turn language-agnostically and switches to the caller's language as it hears it.
Use it when:
Leave it off when:
Auto-detect pairs with Multi-Lingual Support: detection decides what the caller said, and the configured voices decide how the agent answers. Turn on detection without configuring an additional voice for a language and the agent may answer in a language it has no dedicated voice for, in the primary voice.