Blog · 2026-07-30 · Vynaris Team
What a voice AI agent costs per call-minute: the LLM is 16% of the bill, latency caps the model
A voice agent costs $0.0108-$0.0215 per call-minute across four models. STT and TTS are 84% of the cheap-tier bill; latency, not price, caps the model.
A voice agent that chains speech-to-text, an LLM, and text-to-speech costs $0.0108 to $0.0215 per call-minute across four latency-eligible models, with prices verified 2026-07-30. The model you pick moves only 16% to 58% of that number. Speech-to-text and text-to-speech are the bigger line, and latency, not token price, decides which models you are even allowed to use.
TL;DR
- All-in cost runs $0.0108 to $0.0215 per call-minute from deepseek-v4-flash to claude-haiku-4.5. The 7.3x spread in the LLM fee compresses to a 2.0x spread all-in, because STT plus TTS is a flat $0.0091/minute floor under every model.
- On the cheapest eligible model, STT plus TTS is 84% of the bill, 5.3x the LLM slice. The model swap engineers argue about moves 16% of the total.
- The eligible model set is capped by a latency budget, not by price. claude-opus-4.8 would run $0.0622 per call-minute on the LLM alone, but it is excluded for time-to-first-token and tokens per second, not for cost.
The finding, before the model
A real-time voice agent runs a loop three times per turn: transcribe what the caller said (STT), decide what to say (the LLM), and speak it back (TTS). Two of those three stages bill by audio, not by tokens, and on models fast enough to hold a live conversation they are the majority of the bill. Cutting the LLM bill in half saves 8% of a call on the cheap tier; cutting STT or TTS in half saves 42%.
The model-selection rule inverts too. A voice turn has a hard latency budget: the caller expects a reply in roughly the time a human would take, a few hundred milliseconds, or the conversation feels broken. That budget disqualifies models before price is considered. A frontier model that answered more correctly per dollar is still barred if it cannot stream a first token fast enough. So the cost lever is not "which model", it is "how few tokens per turn can I send and still answer in budget".
We built this from public pricing only. No product data. Every token count is an assumption you can edit, and every price is from a provider's live page, captured 2026-07-30.
The workload (edit these)
One call-minute is the outcome unit: one minute of a two-way conversation between a caller and the agent, roughly six exchanges.
Assumption Value Note
----------------- --------------------------------------------------------------- ------------------------------------------------------------------
Turns per minute 6 ~10s per exchange (caller ~5.5s, agent ~4.5s)
Input per turn 2,000 [input tokens](https://vynaris.com/glossary/input-tokens) 500 system + 1,380 trimmed rolling history + 120 caller transcript
Output per turn ~15 [output tokens](https://vynaris.com/glossary/output-tokens) one short spoken reply
Speaking rate 150 words/min conversational pace; agent speaks ~45% of the minute
LLM input/minute 12,000 tokens 6 turns of trimmed context
LLM output/minute ~88 tokens bounded by how much the agent can physically sayThe number most people get wrong is output tokens per minute. An agent cannot speak more than about 68 words in a minute of balanced dialogue, because the caller talks the other half. At 1.3 tokens per word that is roughly 88 output tokens per minute, no matter how large the model is. Output is capped by the clock, so the input tokens and the audio carry the bill. The context window is kept small on purpose: a trimmed rolling history holds down both the input fee and the latency.
The verdict, all-in, per call-minute
Same workload, four models fast enough to stream inside the budget, model fee plus speech I/O. Prices verified 2026-07-30.
Model LLM /call-min All-in /call-min LLM share When to pick it
------------------------------------------------------------------------- ------------- ---------------- --------- ---------------------------------------------------------------------
deepseek-v4-flash $0.0017 $0.0108 16% Cost floor, if it clears your accuracy and latency bar in your region
[gemini-3.5-flash-lite](https://vynaris.com/models#gemini-3-5-flash-lite) $0.0038 $0.0129 30% Cheap non-DeepSeek option with fast streaming inside Google's stack
[gpt-5.4-mini](https://vynaris.com/models#gpt-5-4-mini) $0.0094 $0.0185 51% OpenAI-native shops wanting a stronger mid workhorse
claude-haiku-4.5 $0.0124 $0.0215 58% Best instruction-following per token when reply quality mattersThe all-in spread is 2.0x, from $0.0108 to $0.0215 per call-minute, even though the LLM fee alone spans 7.3x. The flat $0.0091 speech floor swamps the model difference. A shop agonizing over deepseek-v4-flash versus claude-haiku-4.5 is arguing about $0.0107 per minute, less than the STT and TTS line either way.
The speech-I/O floor, itemized
STT and TTS are out of token scope, so we cite their public rates as context, not as computed model output. Both bill by audio.
Line Rate (public) Per call-minute Note
---------------- ----------------------------------------- --------------- ---------------------------------------------
STT $0.003/audio-min (gpt-4o-mini-transcribe) $0.0030 one continuous stream of the caller's channel
TTS $15/1M chars (tts-1) $0.0061 agent speaks ~405 characters/minute
Speech I/O total — $0.0091 the fixed floor under every model rowThe choice of audio vendor moves the whole bill more than the model does. Move TTS to a premium voice at $30 per million characters and $0.0061 becomes $0.0122, which alone exceeds the entire LLM fee on three of the four models. To cut a voice bill, start with the audio stages, not the token stage.

Latency is the gate, and it is not price
The four models above are the eligible set because they stream fast. The interesting column is the one you are not allowed to fill. Here is what the disqualified frontier tier would cost on the LLM slice alone, if latency were no object.
Model (disqualified by latency) LLM /call-min vs the cheap LLM slice
----------------------------------------------------------------- ------------- ----------------------
gpt-5.4 $0.0313 18x
[claude-sonnet-4.6](https://vynaris.com/models#claude-sonnet-4-6) $0.0373 22x
claude-opus-4.8 $0.0622 36xEven claude-opus-4.8 is only about six cents of LLM per call-minute. If cost were the only filter, a shop might reasonably pay it for a hard support call. The reason you cannot is that a frontier model's time-to-first-token and tokens-per-second do not reliably fit a few-hundred-millisecond turn budget, so the caller hears dead air. Price does not enter the decision. That is the lever separating a voice agent from every other workload: the model ceiling is set by the clock, and the cost work happens underneath it, among the fast models.
Try the per-minute shape on your own numbers in the calculator with the trimmed voice workload pre-filled.
Where routing changes the unit economics
Model routing, the headline saving in most cost playbooks, is a footnote here. Every eligible model is already cheap and fast, so a cheap-to-expensive escalation buys little across a $0.0017 to $0.0124 range, and you cannot escalate to a frontier model mid-turn without blowing the latency budget, which is what routing usually reaches for.
The lever that actually moves a voice bill is tokens per turn. Because output is clamped by the clock, input is where the money moves, and input is set by how much history you re-send. Trim aggressively.
Call length Naive growing context Trimmed rolling window Effect on LLM input
----------- --------------------- ---------------------- ---------------------
3 minutes 10,605 in/min 12,000 in/min trim not yet worth it
5 minutes 15,465 in/min 12,000 in/min +29% naive
15 minutes 39,765 in/min 12,000 in/min +231% naive (3.3x)The honest nuance: on a short call the naive full transcript is smaller than a fixed rolling window, so trimming is not free savings on every call. It pays on longer calls, where an untrimmed transcript grows quadratically with turn count, and it pays twice, because a shorter prompt also lowers time-to-first-token. Trim for latency first; the cost saving comes along for free.
Build notes
A token model does not capture the constraints that decide a voice agent.
- The latency budget picks the model; measure it before you price it. Time-to-first-token and streaming throughput, not $/1M, set the eligible list. Benchmark first-token latency on your own audio pipeline first, because a cheaper model that stutters is not cheaper, it is unusable.
- Caching helps far less here than on a chat tutor. The rolling window shifts every turn, so the cacheable prefix is just the static system prompt. This is the trim-not-cache inverse of the conversational tutor workload, where the prefix grows monotonically and caches almost completely. Cache the system prompt, but do not expect the 77% cut a growing-prefix chat gets; our prompt-caching walkthrough shows why break-even depends on prefix stability.
- Barge-in wastes TTS you already paid for. When a caller interrupts, the agent has often already synthesized speech it will not finish playing. You pay for characters sent to TTS, not seconds heard, so a high interruption rate inflates the TTS line above the clean 405-characters-per-minute model. Meter synthesized characters, not playback time.
- Streaming both ways changes the accounting. STT bills the open connection duration, so a call with long silences still accrues STT minutes. Bill by connection time, as we do here, not by words spoken.
When this workload does not need a router
The honest tradeoff: a voice agent rarely needs model routing at all. Pick the cheapest model that clears your accuracy bar and latency budget, cache its system prompt, trim its history, and stop. At deepseek-v4-flash you are at just over a cent per call-minute all-in, and claude-haiku-4.5 at $0.0215 buys stronger instruction-following for a penny more. The savings that matter live in the two audio lines and in tokens-per-turn. Reach for a router only if a measurable slice of calls genuinely needs a smarter model and can tolerate its latency, a narrow case for live voice. Route the STT and TTS vendors, not the LLM.
FAQ
What does a voice AI agent cost per minute? In 2026, $0.0108 to $0.0215 per call-minute all-in across deepseek-v4-flash through claude-haiku-4.5, on a six-turn minute with a trimmed 12,000-token input and about 88 output tokens, plus a $0.0091 STT and TTS floor. Prices verified 2026-07-30.
Why is the LLM the cheap part of a voice bill? STT and TTS bill by audio, and output tokens are capped by how much the agent can physically say in a shared minute (~88 tokens). So the model fee is $0.0017 to $0.0124 per minute while STT plus TTS is a flat $0.0091, which is 84% of the bill on the cheapest model.
Why can't I use a frontier model like Opus for voice? Not cost. claude-opus-4.8 is only about $0.0622 of LLM per call-minute. It is excluded because its time-to-first-token and tokens-per-second do not reliably fit a few-hundred-millisecond turn budget, so the caller hears silence. Latency caps the eligible set before price does.
What actually reduces a voice agent's cost? In order: cheaper STT and TTS vendors (84% of the bill on the cheap tier), fewer input tokens per turn via a trimmed rolling window, then the model. Model routing is usually a footnote because every latency-eligible model is already cheap.
Sources
- Anthropic pricing (claude-haiku-4.5 $1/$5, claude-sonnet-4.6 $3/$15, claude-opus-4.8 $5/$25, cache read 0.1x), captured 2026-07-30: https://platform.claude.com/docs/en/docs/about-claude/pricing
- OpenAI API pricing (gpt-5.4-mini $0.75/$4.50, gpt-5.4 $2.50/$15; gpt-4o-mini-transcribe $0.003/min, gpt-4o-transcribe/whisper $0.006/min; tts-1 $15/1M chars, gpt-4o-mini-tts $12/1M), captured 2026-07-30: https://developers.openai.com/api/docs/pricing
- Google Gemini API pricing (gemini-3.5-flash-lite $0.30/$2.50, cache $0.03), captured 2026-07-30: https://ai.google.dev/gemini-api/docs/pricing
- DeepSeek API pricing (deepseek-v4-flash $0.14 miss / $0.0028 hit / $0.28 out), captured 2026-07-30: https://api-docs.deepseek.com/quick_start/pricing
- Cost model script and per-call-minute arithmetic: from the assumptions table above.
Prices change. We re-verify every figure in this post monthly and stamp updates. Numbers here are current as of 2026-07-30.
The lesson from the model: a voice agent's bill is set by the clock and the microphone, not the model list. Output is capped by talk time, latency caps which models you may run, and speech-to-text and text-to-speech carry most of the cost. Trim tokens per turn, shop the two audio lines hardest, and pick the cheapest fast model that clears your accuracy bar. Vynaris is an OpenAI-compatible gateway that streams the fast models a voice loop needs, caches the static system prefix, and shows per-call-minute cost. One base URL swap. See the docs and pricing, and get an API key at vynaris.com.