What moves the cost of a voice minute
Start from our worked example's voice stack and change one assumption at a time: the system prompt, whether it's cached, LLM turns, how much the bot says, or how long calls last. The vendors and their list prices stay the same, so you can see which assumptions drive the cost of one connected minute.
HYPOTHETICAL Example stack, your what-if. Prices are the worked example's LIST prices, checked 21 October 2026, and every result is an ESTIMATE from them and the assumptions you set. It changes usage only, not vendors, and says nothing about quality, latency or what a change would take to make. Not a quote and not a client result.
The what-if runs in your browser. Nothing you type leaves it.
What-if
Scripts are off in this browser, so the what-if can't run.
Hypothetical, from the worked example's list prices
The same as the worked example's $0.1230 a minute
How it adds up
| Line | $ a minute | Share of the minute |
|---|---|---|
| Platform fee (Vapi hosting) | $0.0500 | 41% |
| LLM (GPT-5.4) | $0.0357 | 29% |
| Speech-to-text (Deepgram Nova-3) | $0.0077 | 6% |
| Text-to-speech (ElevenLabs Flash) | $0.0200 | 16% |
| Telephony (Twilio inbound, estimated rounding) | $0.0096 | 8% |
| All-in | $0.1230 | 100% |
How it's calculated
- LLM: turns a minute × (system prompt tokens × $2.50, or × $0.25 when cached, plus other input tokens × $2.50, plus output tokens × $15), per million tokens.
- Text-to-speech: characters a minute × $0.04 per 1,000.
- Telephony: $0.0085 a minute × (average call length + half a minute) ÷ average call length. Twilio rounds each call up to the next minute, which the worked example treats as adding half a minute a call on average; that's rough for calls under a few minutes.
- Platform and speech-to-text bill every connected minute, silence included: $0.05 and $0.0077.
- A month is the cost per connected minute × your minutes.
Limits
- Caching is priced as in path A: the whole system prompt at the cached rate on every turn. OpenAI lists no extra cache-write charge for GPT-5.4, but it only caches a prompt prefix above a minimum length, which for GPT-5.4 varies with request settings, and the what-if doesn't check that.
- Not modelled: volume discounts, promotions, taxes, and anything that changes when you switch vendors. To compare vendors, use the calculator or the worked example's paths.
Where the prices come from
- Vapi hosting fee and cost estimator (vapi.ai)
- Deepgram Nova-3 streaming and Voice Agent API (deepgram.com)
- OpenAI GPT-5.4 token prices (developers.openai.com)
- ElevenLabs API prices (elevenlabs.io)
- Twilio US voice prices (twilio.com)
- Twilio per-minute rounding (help.twilio.com)
Run it on your own invoices
The Voice Cost Audit does this with your last 30 days of invoices and your calls.