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.

CascadedRealtime
Providersmix and match, any threeone model: OpenAI (Realtime models, or GPT-Live), Gemini Live, or Grok Voice
Latencya hop per stagelower, and the delivery is more natural
A fixed line, said word for wordalwaysonly on the OpenAI Realtime models, and never the greeting
Workflow graphany number of nodesa single prompt agent
Priced ontokens, characters, and minutes per stagewhat the model consumed, in the unit its provider sells

Set it with speech_engine (cascaded or realtime), and configure the model under realtime (provider, model, voice, language, and where the model supports them a transcription model, turn detection and noise reduction).

GPT-Live is OpenAI's full-duplex engine: it keeps listening while it speaks and decides for itself when to stop for the caller, so allow_interruptions has no effect on it and it takes none of the transcription or turn-detection settings.

On a realtime engine the greeting is always given to the model as guidance and spoken in its own words. Other scripted lines - the end-call message, an idle nudge, a fixed unclear_message, an operator's typed line - depend on the model. The OpenAI Realtime models speak them word for word. GPT-Live says them in its own words. Gemini Live and Grok Voice are asked to close with your end-call message in their own words, and cannot speak the other lines at all: they are skipped. If the exact wording matters - a compliance sentence, a legally required disclosure - use the cascaded engine.

Realtime bills as one component rather than three, priced on what the model actually used: audio tokens on most models, time on a provider that sells its speech-to-speech by the minute. 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.