By Sagar Shankaran, Founder of CallSphere
How to architect multi-language AI voice agents — language detection, voice selection, accent handling, and per-language prompt tuning.
Key takeaways
An English-only voice agent fails the moment a caller starts speaking Spanish. It also fails more subtly when the caller speaks English with a strong accent the STT model has never heard. Multi-language support is not a feature to add at the end; it is an architectural decision that touches your VAD, your prompts, your voice selection, and your tool outputs.
CallSphere supports 57+ languages across its verticals. This post walks through the exact patterns that make that work in production without sacrificing latency or quality.
first user audio
│
▼
language detection (fast path)
│
▼
session.update(voice, instructions, locale)
│
▼
normal conversation in detected language
┌──────────────────────────────────────┐
│ Edge: receives first turn │
│ • run lightweight lang detect │
│ • pick voice from language_map │
│ • reload session with locale prompt │
└───────────────┬──────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ Realtime API session (per language) │
│ • PCM16 24kHz │
│ • server VAD tuned per language │
└──────────────────────────────────────┘
from openai import OpenAI
client = OpenAI()
async def detect_language(pcm_bytes: bytes) -> str:
# Use whisper-1 with a short audio clip for detection
resp = client.audio.transcriptions.create(
model="whisper-1",
file=("first_turn.wav", wrap_wav(pcm_bytes)),
response_format="verbose_json",
)
return resp.language # ISO 639-1 like "es", "en", "fr"
LANG_CONFIG = {
"en": {"voice": "alloy", "locale": "en-US", "prompt_id": "receptionist_en"},
"es": {"voice": "nova", "locale": "es-ES", "prompt_id": "receptionist_es"},
"fr": {"voice": "shimmer","locale": "fr-FR", "prompt_id": "receptionist_fr"},
"pt": {"voice": "nova", "locale": "pt-BR", "prompt_id": "receptionist_pt"},
# ... 50+ more
}
async def apply_language(oai_ws, lang: str):
cfg = LANG_CONFIG.get(lang, LANG_CONFIG["en"])
prompt = await load_prompt(cfg["prompt_id"])
await oai_ws.send(json.dumps({
"type": "session.update",
"session": {
"voice": cfg["voice"],
"instructions": prompt,
},
}))
When the agent calls check_availability and gets back ["9:00 AM", "10:00 AM"], the LLM will speak those slots in the caller's language automatically, but only if your prompt tells it to. Add an explicit instruction like:
flowchart LR
CALLER(["Caller"])
subgraph TEL["Telephony"]
SIP["Twilio SIP and PSTN"]
end
subgraph BRAIN["Business AI Agent"]
STT["Streaming STT<br/>Deepgram or Whisper"]
NLU{"Intent and<br/>Entity Extraction"}
TOOLS["Tool Calls"]
TTS["Streaming TTS<br/>ElevenLabs or Rime"]
end
subgraph DATA["Live Data Plane"]
CRM[("CRM and Notes")]
CAL[("Calendar and<br/>Schedule")]
KB[("Knowledge Base<br/>and Policies")]
end
subgraph OUT["Outcomes"]
O1(["Booking captured"])
O2(["CRM record created"])
O3(["Human handoff"])
end
CALLER --> SIP --> STT --> NLU
NLU -->|Lookup| TOOLS
TOOLS <--> CRM
TOOLS <--> CAL
TOOLS <--> KB
NLU --> TTS --> SIP --> CALLER
NLU -->|Resolved| O1
NLU -->|Schedule| O2
NLU -->|Escalate| O3
style CALLER fill:#f1f5f9,stroke:#64748b,color:#0f172a
style NLU fill:#4f46e5,stroke:#4338ca,color:#fff
style O1 fill:#059669,stroke:#047857,color:#fff
style O2 fill:#0ea5e9,stroke:#0369a1,color:#fff
style O3 fill:#f59e0b,stroke:#d97706,color:#1f2937
Always respond in the language the caller is speaking, even when reading data from tools.
Some callers switch mid-sentence (very common with Spanglish). The model handles this well when instructions permit it. Do not lock the model to one language — describe it as the default.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
Automated evals cannot catch awkward phrasing. Have native speakers review sample recordings per language before launching.
CallSphere's production stack supports 57+ languages across every vertical. The edge detects language from the first caller turn, picks a voice from a per-tenant language map, and reloads the Realtime API session with a locale-specific prompt — all inside the first 400ms of the call. The runtime is the OpenAI Realtime API (gpt-4o-realtime-preview-2025-06-03) with PCM16 at 24kHz and server VAD tuned per language.
Healthcare (14 tools), real estate (10 agents), salon (4 agents), after-hours escalation (7 tools), IT helpdesk (10 tools + RAG), and the ElevenLabs-backed sales pod (5 GPT-4 specialists) all share the same multi-language plane. Post-call analytics from a GPT-4o-mini pipeline include a detected_language field so admins can see the breakdown of caller languages over time. End-to-end response time stays under one second regardless of language.
Usually yes for STT, but TTS quality may drop. Test with native speakers.
Use different voices and prompts per dialect; tag them in the language map.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
150-300ms on the first turn only. It is free after that.
Only for content that is translated. Shared facts can stay in one language.
The same as English — the Realtime API is priced by audio minute, not by language.
Need a voice agent that speaks 57+ languages out of the box? Book a demo, read the technology page, or explore pricing.
#CallSphere #Multilingual #VoiceAI #i18n #Languages #Globalization #AIVoiceAgents

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
A practical guide for medical clinics and aged-care providers in Sydney, Melbourne, Auckland, and Wellington to triage after-hours calls with AI voice agents under the Privacy Act.
A 2026 look at Austrian SMBs and the tourism-driven hospitality sector in Vienna, Graz and the alpine regions. How CallSphere AI voice and chat agents handle multilingual bookings 24/7, DSGVO-compliant, in German, English and more.
Azerbaijani law firms, accountants, and real estate agencies lose clients to unanswered calls. CallSphere books consultations 24/7 in Azerbaijani, Russian, and English across Baku and Ganja.
A practical guide for automotive businesses across the Balkans to deploy a CallSphere AI voice and chat agent that books service, answers parts questions, and captures every lead in every local language.
San Pedro on Ambergris Caye runs on divers and property buyers who inquire from every time zone. See how CallSphere AI voice + chat agents answer reef-trip bookings and real estate leads 24/7 in English and Spanish.
A pain-to-solution guide for logistics operators and professional-services firms across Poland, Czechia, Hungary and Slovakia to capture cross-border calls 24/7 with a CallSphere AI agent.
© 2026 CallSphere Inc. All rights reserved.
Made within San Francisco
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI