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
Sagar 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 how-to for Colombian education and tutoring SMBs to answer parents and students instantly, book trial classes 24/7 in Spanish and English, and grow enrollment with a CallSphere AI agent.
Tbilisi professional-services firms serving relocating founders and IT companies use CallSphere AI voice and chat agents to answer enquiries 24/7 in English, Georgian and Russian and book consultations.
A practical how-to for Palau eco-resorts and dive operators on capturing every high-value, multilingual enquiry with a CallSphere AI voice and chat agent, while honouring Palau’s marine-conservation commitments.
How salons, spas and wellness SMBs across the UAE, Saudi Arabia and Qatar use CallSphere AI voice and chat agents to capture every booking 24/7 in Arabic, English and expat languages, and cut no-shows.
How estate agents and property managers in Luxembourg City and across the Grand Duchy use CallSphere to capture multilingual viewing and enquiry calls 24/7, GDPR compliant.
A practical guide for Senegalese logistics, freight, legal and consulting SMBs in Dakar and Thiès to capture every enquiry 24/7 with a CallSphere AI voice and chat agent in French, Wolof and English.
© 2026 CallSphere LLC. All rights reserved.
Made within New York
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI