Skip to main content
When you build an agent through the dashboard, Bolna generates the multilingual configuration for you. If you create or update agents over the API instead, you provide that configuration directly through the 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:
The top-level 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

Two validation rules are enforced on agent create and update:
  1. languages must contain at least 2 entries.
  2. active_language must be one of the keys in languages.
Failing either returns Invalid multilingual config and the agent is not saved.

Per-language entry

Each value in languages is keyed by an ISO 639-1 code and has this shape:

How overrides layer onto the base

  • Transcriber: the per-language transcriber is merged onto the base transcriber, then the language field is resolved to the provider’s expected format (for example Sarvam hi becomes hi-IN). If you omit transcriber, the base transcriber is reused with the language code set to the entry’s key.
  • Synthesizer: if the per-language provider matches the base, only the differing keys (including a shallow merge of provider_config) are applied. If the provider differs, the per-language synthesizer replaces the base entirely. For sarvam, smallest, cartesia, openai, pixa, and polly, the language is resolved into provider_config.language automatically.
This lets each language use a different STT and TTS provider — see Per-Language Configuration for a worked example.

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 in languages. 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_trigger

Auto-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