Voice and speech synthesis
On every call the assistant runs a three-model chain (runtime.engine: cascade): speech recognition (STT) turns the customer’s voice into text, the language model (LLM) writes the answer, and speech synthesis (TTS) speaks it. Each has a primary and an optional fallback provider; if the primary fails, the fallback takes over.
Default template
Section titled “Default template”Built-in values of the general e-commerce template:
| Stage | Primary | Fallback |
|---|---|---|
| Speech recognition | Deepgram nova-3, language tr | OpenAI gpt-4o-mini-transcribe |
| Language model | OpenAI gpt-5.6-luna | OpenAI gpt-4.1-mini |
| Speech synthesis | ElevenLabs eleven_turbo_v2_5 | OpenAI gpt-4o-mini-tts |
| Semantic search | OpenAI text-embedding-3-small | — |
The voice fallbacks use a separate provider: if ElevenLabs or Deepgram can’t be reached (e.g. the quota runs out), the assistant doesn’t go silent; it continues with OpenAI. The fallback voice sounds different from the primary voice.
Anthropic Claude can also be selected as the language model (runtime.llm.provider: anthropic; e.g. claude-haiku-4-5, claude-sonnet-5-5). The platform admin changes the model. All of these providers are outside Turkey (US; US/EU for ElevenLabs), so call data is transferred abroad. Privacy and retention →
Speech synthesis (runtime.tts)
Section titled “Speech synthesis (runtime.tts)”| Field | Default | Limit | Meaning |
|---|---|---|---|
voice_id | — | required | Voice ID from the ElevenLabs panel |
speed | 1.0 (template: 1.08) | 0.7–1.3 | Speaking rate |
seed | 2026 | — | Fixed seed so the same text sounds the same every time |
chunk_length_schedule | empty | — | When empty, text is spoken sentence by sentence. If chunk sizes are given, text is sent in those sizes |
pronunciations | {} | up to 200 entries | Pronunciation dictionary |
fallback | — | — | Fallback voice model |
Text sent to the voice first goes through the Turkish transform: prices, phone numbers, percentages, capacity and inch values, part codes, order numbers, numbers and number ranges are written out as words; email and web addresses are made readable. Then the pronunciation dictionary is applied. The transcript always keeps the original text.
Language model (runtime.llm)
Section titled “Language model (runtime.llm)”| Field | Default | Limit |
|---|---|---|
temperature | 0.5 (template: 0.4) | 0–2 |
max_tokens | 500 (template: 400) | 16–4096 |
service_tier | priority | OpenAI only |
reasoning_effort | — | none, minimal, low, medium, high |
verbosity | — | low, medium, high |
Speech recognition (runtime.stt)
Section titled “Speech recognition (runtime.stt)”The language is tr. Keyterms are passed to speech recognition as hints so product and brand names are heard correctly.
Your own API keys (BYOK)
Section titled “Your own API keys (BYOK)”In Settings → Integrations you can enter your own API key for OpenAI, Anthropic (Claude), ElevenLabs and Deepgram. If the field is left empty, the platform key is used. Keys are stored encrypted and never shown again; the console only shows the last four characters (••••1234).
Choosing the voice in the console
Section titled “Choosing the voice in the console”If Voice selection is on in your plan, admins pick the voice from the platform’s voice catalog in Assistants → assistant → Voice. They set the speed (0.85–1.15) and the volume (−6 to +12 dB) and use Listen to hear the greeting in the chosen voice. Changes are saved as a draft first; publishing creates a new version.
© 2026 Erusoft