multilingual_config object.
This page documents the object: where it lives, every field, its validation rules, and how Bolna expands it for the call.
Where it lives
multilingual_config sits inside tools_config on the first task of the agent payload you send to POST /v2/agent:
transcriber and synthesizer act as the base. Each language in multilingual_config.languages starts from that base and applies its own overrides on top. The agent opens the call in active_language.
Top-level fields
Per-language entry
Each value inlanguages is keyed by an ISO 639-1 code and has this shape:
How overrides layer onto the base
- Transcriber: the per-language
transcriberis merged onto the base transcriber, then thelanguagefield is resolved to the provider’s expected format (for example Sarvamhibecomeshi-IN). If you omittranscriber, the base transcriber is reused with the language code set to the entry’s key. - Synthesizer: if the per-language
providermatches the base, only the differing keys (including a shallow merge ofprovider_config) are applied. If theproviderdiffers, the per-language synthesizer replaces the base entirely. Forsarvam,smallest,cartesia,openai,pixa, andpolly, the language is resolved intoprovider_config.languageautomatically.
Full example
A two-language agent (English default, Hindi additional) with a different STT and TTS provider per language:Supported languages
See the Multilingual Support guide for the full list of language codes valid as keys inlanguages.
Provider support varies by language. Pick an STT and TTS provider per language that covers it. For Indian languages, Sarvam covers the widest set.
Next Steps
Multilingual Support
Set up the same agent from the dashboard
How Language Switching Works
The detection engine behind
language_switch_triggerAuto-Switch Languages
Auto-detect and switch system messages by language
Non-English Prompts
Write per-language prompts in native scripts
Multilingual Agent Quickstart
Build a two-language agent over the API step by step

