On a 5-minute phone call, the language model reads the whole prompt and conversation again on every turn, so input tokens make up most of the bill. In our worked example, one call costs under half a cent on Claude Haiku 5.5 or qwen3.8-flash, about 8 cents on Claude Sonnet 5.5, and $1.17 on OpenAI's gpt-realtime-2.1 audio model.
Key Takeaways
- The prompt is re-sent every turn, so input makes up 98% of the call's tokens.
- Gemini Flash's 4,096-token cache minimum sits above anything the example call sends.
- On small models the LLM is the smallest line, below speech-to-text and voice.
This guide follows one 5-minute call from the first token to the final bill, then sets the language model's share beside speech-to-text and voice. Along the way we set each model up in Dograh, our open-source AI voice agent platform, which you can self-host or run in our cloud.
How a language model bills a phone call
A language model API charges for tokens, small pieces of text about three quarters of a word long, and it prices what you send apart from what it writes back. Output usually costs more per token. Claude Sonnet 5.5 is $2 per million input tokens and $10 per million output tokens.
A phone call turns that into a repeating bill. The model keeps no memory between requests, so each time the caller stops talking, the agent sends the full system prompt, every earlier line of the conversation and the caller's newest words. OpenAI's guide to voice latency and cost states it for its realtime models. The entire conversation goes to the model for each response, so later turns cost more. Speech-to-speech models bill the same way, and Gemini Live API pricing shows a 5-minute example call costing about three times its per-minute meter.
The replies stay short because they are spoken. An agent that talks for 15 seconds says about 37 words. So on a voice call, input tokens set most of the LLM bill, and the output price on the list matters less than it looks.
The 5-minute call, counted turn by turn
Every price in this guide comes from one example call, built to look like a typical support or booking call. The numbers below are our assumptions, so swap in your own once you have real calls to measure.
The call has 12 exchanges between caller and agent. The system prompt is 2,000 tokens, made up of the agent's global prompt, the current step's instructions and the tool definitions, all sent again on every turn. The caller says about 19 words a turn, which is 25 tokens and about 7.5 seconds of speech. The agent answers with about 37 words, which is 50 tokens and about 15 seconds. Twelve agent turns of 15 seconds plus twelve caller turns of 7.5 seconds come to 270 seconds, and short gaps fill the rest of the five minutes.

Each request carries the 2,000-token prompt, 75 tokens for every earlier exchange and the caller's 25 new tokens. Turn 1 sends 2,025 tokens, turn 2 sends 2,100 and turn 12 sends 2,850. Added up over the 12 turns, the call sends 29,250 input tokens and gets back 600 output tokens, 12 replies of 50 each.
The cost is input tokens times the input price, plus output tokens times the output price, each divided by a million. On gpt-4.1, Dograh's default OpenAI model, at $2 and $8: 29,250 x $2 / 1,000,000 = $0.0585, plus 600 x $8 / 1,000,000 = $0.0048. That is $0.0633 for the call, or about $0.0127 a minute.
Newer Claude models count the same words differently. Anthropic says the tokenizer in Claude 4.7 and later produces about 30% more tokens for the same text, so we price those models at 38,025 input and 780 output tokens. Sonnet 4.6 and Haiku 4.5 use the older tokenizer and keep the base count.
What the call costs on each model family
The table prices the same call on the models a phone agent is most likely to use, at each provider's list price. "Best-case cache" assumes every turn after the first reads the earlier part of the request from the provider's cache, which the next section explains.
| Model | Input / output per 1M tokens | 5-minute call, no cache | Best-case cache |
|---|---|---|---|
| Claude Sonnet 5.5 (30% more tokens) | $2 / $10 | $0.0839 | $0.0205 |
| Claude Sonnet 4.6 | $3 / $15 | $0.0967 | $0.0276 |
| Claude Haiku 5.5 (30% more tokens) | $0.10 / $0.50 | $0.0042 | $0.0012 |
| Gemini 3.8 Flash, through December 31 | $0.75 / $3.75 | $0.0242 | No cache: prompt under 4,096 |
| Gemini 3.5 Flash-Lite | $0.30 / $2.50 | $0.0103 | Not priced here |
| grok-4.7 | $2 / $6 | $0.0621 | $0.0225 |
| grok-4.3 | $1.25 / $2.50 | $0.0381 | $0.0103 |
| qwen3.8-flash | $0.15 / $0.47 | $0.0047 | Not priced here |
| qwen3.8-27b, hosted by Alibaba | $0.50 / $3 | $0.0164 | $0.0059 |
| gpt-4.1 | $2 / $8 | $0.0633 | $0.0237 |
| gpt-4.1-mini | $0.40 / $1.60 | $0.0127 | $0.0047 |
| gpt-5-mini | $0.25 / $2 | $0.0085 | $0.0026 |
| gpt-realtime-2.1, audio | $32 / $64 | $1.1748 | $0.4079 |
Claude has the widest spread. Sonnet 5.5 costs $0.0839 for the call even with the extra 30% of tokens, which still puts it below Sonnet 4.6 at $0.0967, and Haiku 5.5 costs $0.0042. Our Claude API pricing post prices every current Claude model and looks at which one answers fast enough for a phone turn.
Gemini prices move on set dates. Gemini 3.8 Flash charges $0.75 and $3.75 per million tokens through December 31, then $1.50 and $7.50 from January 1, 2027, which doubles the call to $0.0484. Gemini 4 Argon goes from $2 and $10 to $4 and $20 on December 1. The Gemini API pricing post covers each model and how to switch when a price steps up.
On xAI's list, grok-4.3 costs $0.0381 for the call and grok-4.7 costs $0.0621, before any reasoning tokens. grok-4.7 reasons by default, and those tokens bill as output. Grok API pricing looks at when a phone agent can stay on grok-4.3 and skip the reasoning model.
Qwen gives you the lowest list prices here and a second route. qwen3.8-flash costs $0.0047 for the call on Alibaba Cloud Model Studio, and the open-weight qwen3.8-27b costs $0.0164 hosted there, or nothing per token on a GPU you run yourself. Qwen API pricing works out how many calls a day one rented GPU has to carry to match the hosted price.
OpenAI's text models sit in the middle, from $0.0085 on gpt-5-mini to $0.0633 on gpt-4.1. Its realtime audio model is a different order of cost. Audio tokens are priced at $32 in and $64 out per million, and the whole conversation's audio is sent again each turn, so the same call reaches $1.1748. OpenAI Realtime API pricing turns that into a cost per call minute.
Price is one input to the choice, and rarely the first. Our guide on how to choose an LLM for voice agents puts tool calls on spoken input and reply speed ahead of it.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
When caching cuts the cost of a short prompt
Most of each request repeats what the agent sent a few seconds earlier, and prompt caching lets providers discount that repeated start. In the best case, every turn after the first reads the earlier part from cache. The call then sends 2,850 new input tokens and 26,400 cached ones, which takes Sonnet 5.5 from $0.0839 to $0.0205 and gpt-4.1 from $0.0633 to $0.0237.
Whether that happens depends on each provider's cache minimum. Anthropic caches prompts from 512 tokens on its 5.5 models, 1,024 on Sonnet 4.6 and 4,096 on Haiku 4.5, and only when the request marks what to cache. It also bills the new part of each request at its cache-write rate, 1.25 times the input price, which the cached figures above include. Under Google's caching rules, implicit caching is on by default, but Gemini 3.8 Flash, 3.6 Flash, 4 Argon and 3.1 Pro Preview need at least 4,096 tokens. The biggest request in this call is 2,850, so those models bill every token at the full rate.
OpenAI and xAI cache automatically. On Alibaba Cloud, qwen3.8-27b's implicit cache hits cost 20% of the input price, while qwen3.8-flash and qwen3.8-max have their own cache rates in the Model Studio console, which is why the table leaves them out.
Treat the cached column as a ceiling on savings. A cache hit needs the start of the request to match exactly, so anything that changes the opening part, such as a new step's instructions or a different set of tools, starts the cache again. Budget on the no-cache figure and count the discount when your own bills show it.
The LLM line next to speech-to-text and voice
The language model is one of three bills on a cascade call, and on small models it is the smallest. Deepgram's Nova-3 streaming speech-to-text costs $0.0077 a minute for one language, so the five minutes cost $0.0385. The agent speaks about 2,400 characters in our example, 600 tokens at roughly four characters each, and Deepgram's Aura-2 voice at $0.030 per 1,000 characters puts that at about $0.072.
Set beside those, Sonnet 5.5 at $0.0839 is the biggest of the three lines, gpt-4.1-mini at $0.0127 is a sixth of the voice line, and gpt-5-mini at $0.0085 is smaller still. Moving from a mid-size model to a small one changes the call by about 7.5 cents. Changing the voice can matter as much. Our breakdown of what an AI voice agent costs per minute adds the platform fee and the phone line to these three.
The voice line is the one you can shrink without touching the model. Pre-recorded clips play for the lines the agent says most, and a cloned voice reads the rest, as our guide to mixing pre-recorded audio with TTS shows.
What this example leaves out
Real calls cost more than the example, and four things account for most of the gap. The first is reasoning. Thinking tokens bill as output on Anthropic, Google, xAI and OpenAI, and a model that reasons before each reply can write many times the 50 tokens it speaks. grok-4.7 reasons by default, at high effort, so turn it down or pick a model where you can switch it off.
The second is tool calls. When the agent books a slot or looks up an order, the result goes back to the model in another request, with the whole prompt again. Anthropic also adds a hidden tool-use system prompt to every request that carries tools, 286 tokens on its 5.5 models.
The third is work after the call. Dograh runs a final extraction of the call's variables after the call ends, and QA can score the call with a language model, and both add tokens outside the five minutes. The fourth is regional processing. OpenAI and Anthropic charge 10% more for requests kept in one region, and xAI adds the same on its US endpoint.
The way to find your real number is to read your own calls. Each call's View Trace button opens its trace in Langfuse, where every AI step shows the model it used and its token counts.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Switching models per agent in Dograh
Dograh works as the orchestration layer, running the call flow, tools and telephony, while the speech and language models form a separate layer you pick. Under Models you save named model configurations, mark one as the Organization Default, and set each agent to inherit it or to use a named configuration of its own. A short booking agent can run on gpt-5-mini while a support agent with many tools runs on gpt-4.1.
With your own keys, each provider bills you at its own rate. Dograh's LLM providers include OpenAI, Google AI Studio and Vertex, Azure OpenAI, Groq, Atlas Cloud, Hugging Face and OpenRouter, and it also reaches open-weight models on your own server through Ollama or vLLM. Claude runs through AWS Bedrock or OpenRouter, and Grok's text models through OpenRouter, so those routes bill at their own prices. An API trigger can also override the model for a single call. See bringing your own LLM keys to a voice agent for how keys, models and a backup model fit together per agent.
A backup model guards the call when the main one fails. Turn on the LLM fallback and a second model takes over if the first errors or sends nothing within a set time, 1.5 seconds by default. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. Our comparison of BYOK and managed models covers how platforms that bundle the model bill for it.
Start with the smallest model that passes your tool-call tests, price ten real calls from their traces, and move up only where the calls show you need to.
Each model family above has its own deep dive:
- Claude API Pricing in 2026: What a Voice Agent Call Costs
- Gemini API Pricing in 2026: What a Voice Agent Call Costs
- Grok API Pricing in 2026: What a Voice Agent Call Costs
- Qwen API Pricing in 2026: What a Voice Agent Call Costs
- OpenAI Realtime API Pricing in 2026: Cost per Call Minute
- Gemini Live API Pricing in 2026: Cost per Call Minute
Glossary
- Input tokens
- Everything sent to the model in one request, counted in tokens. On a voice call this includes the system prompt and the whole conversation so far on every turn, which is why input makes up about 98% of the tokens in the example call.
- Prompt caching
- A provider discount for the start of a request that matches one sent shortly before. On a phone call it can cut the LLM bill by more than half, but only when the prompt is long enough and its opening part stays the same between turns.
- Cache minimum
- The shortest prompt a provider will cache. It runs from 512 tokens on Claude's 5.5 models to 4,096 on Gemini 3.8 Flash, so a short phone prompt can fall below it and pay the full rate.
- Tokenizer
- The part of a model that splits text into tokens. Anthropic's tokenizer for Claude 4.7 and later makes about 30% more tokens from the same words, so the same call costs more tokens on those models.

