Skip to main content
An agent’s voice takes one of two shapes: a composed pipeline of three named models, or one realtime model that does the whole conversation. This page is about the first. For the shapes themselves, see Voice engines.

The shape

Every model is a provider/model pair. All three stages are required: a pipeline missing one cannot hold a conversation, and defaulting it would silently bill you for a model you never chose.

Which models you can name

Only models in the price book. The book is the meter’s source of truth, so “no price, no call” is enforced when the agent is created — not on the first call, where the failure would land on your customer. Name something unpriced and the answer is a 400 that lists what is available for that stage:
The live list is GET /v1/engines: each engine carries its models, with the unit each is billed in and the price per unit. Prefer it to hardcoding ids — a model whose provider is degraded disappears from that list before your calls start failing. Per-minute figures assume 15 synthesised characters, 40 input tokens and 8 output tokens per second, and exclude the flat $0.012 per minute platform fee. A language model is billed in two units, so its line appears twice.

One family per pipeline

The three stages must come from the same family, because each family runs on its own pipeline: The stt provider decides which pipeline runs: a Deepgram model selects the classic pipeline, a Sarvam model selects the Sarvam one. That pipeline then runs its own family end to end. A tts from another family passes pricing validation but is not what that pipeline speaks with, so keep all three together.

Variants and language

Within a family the pipeline picks the exact variant for the agent’s language: the classic pipeline uses ElevenLabs Turbo for English and Flash for everything else, and Nova-3 in the matching language mode. What you are billed is the model that actually ran, at its own rate — the estimate at admission reserves for the dearest variant in the family, and the settle charges for the one used.

What it costs

A composed minute is the sum of its stages plus the flat platform fee, at typical speech rates: 15 characters of synthesised speech, 40 input tokens and 8 output tokens per second. Each stage is metered in its own unit — seconds of audio, tokens, characters — every few seconds while the call is live, so a quiet call costs less than the estimate and a talkative one more. The pricing page has a builder that prices any mix and writes the JSON for it. Prices are frozen when a call is admitted, so a change to the book never moves a running meter. See Credits for how the balance works.

Or hand the whole turn to one model

A realtime model replaces all three stages and is billed per token or per second, depending on the provider. It cannot be combined with stt or llm; the API refuses a config that names both.