Skip to main content

Languages and providers

To speak a language, a voice AI Agent needs two providers. A speech-to-text (STT) provider hears the language, and a text-to-speech (TTS) provider says it. You select the providers for each language in the voice settings of the AI Agent. This page lists the providers, their models, and the languages that each model supports in Moveo.

How a call picks its language​

  • The call starts in the primary language of the AI Agent. You select this language at the creation of the AI Agent.
  • With at least one entry in Additional languages, the AI Agent detects the language of the caller on each turn and replies in it. With none, every reply uses the primary language. See Languages.
  • Each reply is in one language. The AI Agent speaks it with the text-to-speech settings of that language. A language without settings uses its Moveo default, or else the voice of the primary language.
  • A regional code falls back to its base language. For example, a pt-br reply without pt-br settings uses the pt settings.
  • The voice changes between replies, never inside one reply.
  • The voice of another language connects the first time a reply uses it. If it is not ready within one second, that reply uses the next voice in the fallback order.
  • Speech-to-text is fixed for the call. It connects once, at the start of the call. It uses the speech-to-text settings of the primary language.
  • If a text-to-speech step fails during a call, the next step of the same language speaks. The AI Agent repeats the part of the reply that the caller did not hear. When the language has no step left, the * list speaks, then the voice of the primary language. See the API reference of the voice settings.
  • The primary language needs speech settings or a Moveo default. See Default settings.

Hear more than one language​

Because speech-to-text does not change during the call, select a model that hears every language your callers use:

  • Soniox takes up to 10 language_hints. Moveo adds the primary language and each language with text-to-speech settings to the hints. Languages with a Moveo default count too. With more than one hint, Moveo turns on language identification. Soniox then reports the language it hears, and Moveo connects the voice of that language early. The voice is then ready for the start of the reply.
  • Deepgram flux-general-multi hears 10 languages: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, and Dutch.
  • Deepgram nova-3 and nova-2 accept the multi language code.

Provider catalog​

ProviderSTT modelsTTS modelsMoveo-hostedSpeech model
ElevenLabsscribe_v2_realtimeeleven_multilingual_v2, eleven_flash_v2_5, eleven_turbo_v2_5YesYes
CartesiaNonesonic-3, sonic-3.5YesYes
MiniMaxNonespeech-2.8-hd, speech-2.8-turboYesYes
Sonioxstt-rt-v5, stt-rt-v4NoneYesYes
Deepgramnova-3, nova-3-medical, nova-2, flux-general-en, flux-general-multiaura-2YesYes
RimeNonecoda, mistv3YesYes
GoogleNonechirp3-hdYesYes
  • Moveo-hosted means that the AI Agent can use the provider with the key of Moveo. The column shows the default list. Your region can host fewer providers.
  • Speech model means that you can add your own provider key as a speech model.
  • GET /v1/speech-models/providers returns the providers, the models, and the hosted status of your region.

Languages by provider​

The table shows the languages of an AI Agent and the providers that support each one. In the Deepgram STT and Rime columns, a model name means that only this model supports the language. For ElevenLabs text-to-speech, "Flash, Turbo" means eleven_flash_v2_5 and eleven_turbo_v2_5 only. Google chirp3-hd speaks every locale of the Google Chirp 3: HD list, Greek and Brazilian Portuguese included.

LanguageSoniox STTDeepgram STTElevenLabs STTElevenLabs TTSCartesia TTSMiniMax TTSDeepgram TTSRime TTS
ArabicYesnova-3YesYesYesYesNocoda
BulgarianYesYesYesYesYesNoNoNo
ChineseYesnova-2YesYesYesYesNoNo
CroatianYesnova-3YesYesYesNoNoNo
CzechYesYesYesYesYesYesNoNo
DanishYesYesYesYesYesNoNoNo
Dutch and FlemishYesYesYesYesYesYesYescoda
EnglishYesYesYesYesYesYesYesYes
FrenchYesYesYesYesYesYesYesYes
GermanYesYesYesYesYesYesYesYes
GreekYesYesYesYesYesYesNoNo
IndonesianYesYesYesYesYesYesNoNo
ItalianYesYesYesYesYesYesYescoda
JapaneseYesYesYesYesYesYesYescoda
MalayYesYesYesYesYesNoNoNo
PolishYesYesYesYesYesYesNoNo
Portuguese (and BR)YesYesYesYesYesYesNocoda
RomanianYesYesYesYesYesYesNoNo
RussianYesYesYesYesYesYesNoNo
SpanishYesYesYesYesYesYesYesYes
SwedishYesYesYesYesYesNoNoNo
TagalogYesnova-3YesYesYesNoNoNo
ThaiYesnova-2YesNoYesYesNoNo
TurkishYesYesYesYesYesYesNoNo
VietnameseYesYesYesFlash, TurboYesYesNoNo

The console marks Serbian, Albanian, and Welsh as Text only in Additional languages. They get no row in Speech configurations, and a voice AI Agent cannot speak them.

Model limits​

  • flux-general-en is English only. A row for another language does not show it.
  • flux-general-multi hears only the 10 languages in Hear more than one language.
  • nova-3-medical is English only.
  • eleven_multilingual_v2 speaks 29 languages. eleven_flash_v2_5 and eleven_turbo_v2_5 add Hungarian, Norwegian, and Vietnamese.
  • MiniMax voices are multilingual. The language_boost setting selects one of 23 languages, or auto.
  • Cartesia speaks 42 languages.
  • Deepgram aura-2 speaks English, Spanish, German, French, Dutch, Italian, and Japanese. The voice ID includes the language, for example thalia-en.
  • Rime mistv3 speaks English, French, German, and Spanish. Rime coda adds Arabic, Hindi, Italian, Japanese, Dutch, and Portuguese.
  • A Google voice ID includes the locale, for example pt-BR-Chirp3-HD-Charon. The voice speaks the language of its locale.

Next steps​