New AssemblyAI-TTS-1: Text-to-speech for voice agents. Learn more
Solutions

Voice agents for multilingual global support

Build voice agents that understand 32 languages with automatic language detection and real-time code-switching, and reply in English, Spanish, French, German, Italian, or Portuguese — no per-language pipeline required.

Language detection

Live

Spanish detected

"Buenos días, necesito ayuda con mi cuenta..."

99.4%

French detected

"Bonjour, je voudrais vérifier mon solde..."

98.7%

German detected

"Ich brauche Hilfe mit meiner Bestellung..."

97.9%

Portuguese detected

"Olá, preciso cancelar minha assinatura..."

98.2%
Metaview
Aircall
Bland
Granola
Apollo.io
Ashby
Siro
Calabrio
Cluely
Genio
Commure
Retell
CallRail
LiveKit
EliseAI
ClickUp
HeyGen
Metaview
Aircall
Bland
Granola
Apollo.io
Ashby
Siro
Calabrio
Cluely
Genio
Commure
Retell
CallRail
LiveKit
EliseAI
ClickUp
HeyGen
Metaview
Aircall
Bland
Granola
Apollo.io
Ashby
Siro
Calabrio
Cluely
Genio
Commure
Retell
CallRail
LiveKit
EliseAI
ClickUp
HeyGen
Metaview
Aircall
Bland
Granola
Apollo.io
Ashby
Siro
Calabrio
Cluely
Genio
Commure
Retell
CallRail
LiveKit
EliseAI
ClickUp
HeyGen
The problem

One language per agent doesn't scale globally

Global companies spend millions operating separate support queues per language — hiring bilingual agents, routing through IVR menus, and accepting degraded accuracy from English-centric ASR. When a customer code-switches mid-sentence, most systems break. Longer handle times, higher staffing costs, and a fragmented experience for non-English speakers all follow. AssemblyAI's multilingual pipeline eliminates the per-language bottleneck with a single model that detects, transcribes, and supports 32 languages — including real-time code-switching.

Built for global-scale voice operations

Languages 32

Languages from one realtime model with automatic detection.

Code-switching 7.20%

Code-switching WER across five English↔European pairs — lowest of any streaming system tested.

New languages 14

Languages added in Universal-3.6 Pro Realtime, including Korean, Russian and Cantonese.

Uptime 99.9%

SLA with SOC 2 Type 2 certification.

Two ways to build

Pick the API that fits your multilingual stack

Run a full multilingual voice agent on AssemblyAI's speech-to-text, LLM Gateway, and Text-to-Speech, or drop industry-leading STT into the orchestration stack you already run.

Recommended

Full AssemblyAI voice stack

Universal-3.6 Pro Realtime detects the caller's language, the LLM Gateway answers in it, and the Text-to-Speech API speaks it — on one API key and one bill.

Best for

  • Voice support in English, Spanish, French, German, Italian, and Portuguese
  • Automatic language detection across 32 languages on every turn
  • 4,000+ voices, with the language setting controlling the accent
  • US and EU processing at the same price
$0.45/hr — STT, plus Text-to-Speech at $15 per 1M characters
Get started for free

Free tier available · No credit card required

Bring Your Own Stack

Universal-3.6 Pro Realtime STT API

The multilingual STT layer for your voice agent. Works natively with LiveKit, Pipecat, Vapi, and Twilio — 32 languages, native code-switching across all 32.

Best for

  • Teams using LiveKit, Pipecat, Vapi, or Twilio as their orchestrator
  • 32 languages on Universal-3.6 Pro Realtime, all with native code-switching
  • language_codes to pin a known language set
  • Real-time language detection with confidence scores
  • Keyterm prompting for domain-specific vocabulary
$0.45/hr — transcription only, unlimited streams
View integration docs

No concurrency caps · Autoscaling included

One pipeline handles every language your customers speak

Automatic language detection

The model identifies the dominant language in real time with confidence scores. Supports constrained detection with expected language lists — no IVR language menu required.

Multilingual transcription with code-switching

Universal-3.6 Pro Realtime natively handles code-switching across all 32 languages.

Language-aware LLM processing

Route transcripts through the LLM Gateway with the detected language code passed downstream, so the LLM responds in the caller's language without explicit prompting.

Localized voice response

The Text-to-Speech API replies in English, Spanish, French, German, Italian, or Portuguese, with the language setting controlling the accent and about 90 ms time to first audio.

language

Pipeline

Ingest multilingual audio

↓

Detect language + transcribe

↓

Route to language-aware LLM

↓

Respond in caller's language

Quickstart

Build a multilingual voice agent in minutes

Universal-3.6 Pro Realtime + LiveKit — BYO stack

# LiveKit + AssemblyAI STT in a multilingual voice agent pipeline
from livekit.agents import Agent, AgentSession, TurnHandlingOptions
from livekit.plugins import assemblyai, cartesia, openai, silero
from livekit.plugins.turn_detector.multilingual import MultilingualModel

class MultilingualAgent(Agent):
    def __init__(self):
        super().__init__(
            instructions=(
                "You are a multilingual support agent. Respond in the "
                "caller's detected language. Handle global customer "
                "inquiries across all product lines."
            ),
        )

async def entrypoint(ctx):
    session = AgentSession(
        stt=assemblyai.STT(
            model="universal-3-6-pro",
            language_detection=True,                  # include language metadata in turns
            vad_threshold=0.3,                        # match Silero activation_threshold
        ),
        llm=openai.LLM(model="gpt-4o"),
        tts=cartesia.TTS(),
        vad=silero.VAD.load(activation_threshold=0.3),
        turn_handling=TurnHandlingOptions(
            turn_detection=MultilingualModel(),       # multilingual turn detection model
            endpointing={"min_delay": 0.5, "max_delay": 3.0},
        ),
    )
    await session.start(room=ctx.room, agent=MultilingualAgent())

32-language coverage from one model

Universal-3.6 Pro Realtime handles 32 languages from one model with automatic language detection — one API call covers every market.

Real-time code-switching detection

When callers switch languages mid-sentence — "I need help with mi cuenta, s'il vous plaît" — Universal-3.6 Pro Realtime transcribes each segment in the correct language without miscategorizing the call.

Language-specific dialect recognition

Universal-3.6 Pro Realtime goes beyond standard language codes with deep understanding of regional dialects — Quebecois French, Mexican Spanish, Brazilian Portuguese — capturing colloquial expressions and accent-specific pronunciation.

Frequently asked questions