Models and voices
Every agent picks three things independently, from a catalog of providers:
- a language model, which decides what to say
- a transcriber (speech-to-text), which hears the caller
- a voice (text-to-speech), which speaks the reply
You are not locked to one vendor for all three, and you can change any of them without touching the prompt.
Speech engine
The three stages above describe the cascaded engine, which is the default. A voice agent can instead run on a realtime (speech-to-speech) engine, where one model hears, thinks and speaks, with no separate transcriber or voice.
| Cascaded | Realtime | |
|---|---|---|
| Providers | mix and match, any three | one model: OpenAI Realtime, Gemini Live, or Grok Voice |
| Latency | a hop per stage | lower, and the delivery is more natural |
| A fixed line, said word for word | always | only on OpenAI |
| Workflow graph | any number of nodes | a single prompt agent |
| Priced on | tokens, characters, and minutes per stage | audio tokens, on the model's own rate |
Set it with speech_engine, and configure the model under realtime
(provider, model, voice, language, and where the provider supports them a
transcription model, turn detection and noise reduction).
On Gemini Live and Grok Voice a scripted line cannot be enforced. Your greeting, your end-call message and an operator's typed line are given to the model as instructions, and it says them in its own words. If the exact wording matters - a compliance sentence, a legally required disclosure - use cascaded, or use OpenAI, which accepts the line verbatim.
Realtime bills as one component rather than three. Audio tokens cost considerably more than text ones, so a realtime minute is not comparable to a cascaded minute; check the cost breakdown on a real session before committing to it for volume.
Defaults
An agent works without choosing anything: each stage falls back to a platform default. Change them on the agent's settings when you have a reason to - a cheaper model, a better voice for a language, a transcriber that handles your accents.
Language model
model.provider and model.model pick the model. temperature controls how varied
the replies are.
OpenAI's GPT-5 and o-series models ignore a custom temperature by design. Tuning it for those models does nothing - change the prompt instead.
Transcriber language
transcriber.language defaults to multi, which auto-detects. Leave it there unless
you are certain every caller speaks one language.
A fixed, wrong language is the single most common cause of misheard names and numbers, and of keyword routing that never matches - the agent is being told to hear a language the caller is not speaking.
Voice
Pick the provider and the voice. Available voices come from the provider, so the list changes with the provider you choose.
Bring your own keys
You can use your own account with any provider. Add the key once under credentials and agents will use it instead of the platform's.
When a provider runs on your key, that provider's cost is yours and Glytos does not charge for it. The platform fee still applies to the call. See Pricing and credits.
Your keys are encrypted at rest and are never returned by the API after they are saved.