Every few weeks someone asks me to look at a voice agent idea, and the first question is always the same: what will it cost per minute? Then they show me a pricing page that says something like five cents a minute. That number is real. It is just not the bill.
A voice agent is not one product. It is a little pipeline, and every stage sends its own invoice. So let me break it apart the way I do on a whiteboard, with real public prices and one honest example at the end.
The five layers you are actually paying for
When a caller talks to your agent, five things happen, and each one is billed differently.
- Telephony. The phone line itself. Billed per minute of call time, plus a monthly fee per number.
- Speech to text (STT). Turns the caller’s audio into text. Billed per minute of audio streamed, whether anyone is talking or not.
- The LLM. Decides what to say. Billed per token, input and output priced separately.
- Text to speech (TTS). Turns the reply into a voice. Billed per character of text you send it.
- The platform. If you use a hosted voice agent platform, it adds its own per minute fee on top for orchestration.
Three different billing units (minutes, tokens, characters) is exactly why the total is so hard to see. Nobody shows you all five on one page.
Current public prices, with sources
I checked all of these on the official pricing pages on 4 November 2026. They are pay as you go list prices in USD. Volume deals will be lower, and prices change, so check again before you build a budget on them.
| Layer | Example provider | List price |
|---|---|---|
| Telephony | Twilio, US local number | $0.0085/min inbound, $0.014/min outbound, $1.15/month per number |
| Call recording | Twilio | $0.0025/min to record, $0.0005/min per month to store |
| STT | Deepgram Nova-3 (English, streaming) | $0.0077/min |
| LLM | OpenAI gpt-4.1-mini | $0.40 per 1M input tokens, $0.10 cached input, $1.60 output |
| TTS | ElevenLabs Flash/Turbo | $0.04 per 1,000 characters |
| TTS (cheaper option) | Deepgram Aura-2 | $0.030 per 1,000 characters |
| Platform | Vapi hosting | $0.05/min, provider costs billed separately |
That last row is the one people misread. The platform page itself says the model, transcriber and voice costs are billed separately by the providers. So the five cents is the floor, not the total.
An example calculation for one minute
This is an example calculation, not a measurement from a real deployment. My assumptions: an inbound US call, four back and forth turns per minute, a 3,000 token system prompt plus some history (call it 3,500 input tokens per turn), 60 output tokens per reply, and the agent speaking about 450 characters per minute.
// example: one minute of an inbound call telephony 0.0085 // Twilio inbound stt 0.0077 // Nova-3, full minute of audio llm 0.0060 // 4 turns x 3,500 in + 60 out, gpt-4.1-mini tts 0.0180 // 450 chars x $0.04 / 1,000 platform 0.0500 // hosted orchestration ----------------------------------------- total 0.0902 // about 9 cents, not 5
So about nine cents a minute, and the platform fee is more than half of it. Add recording and you get roughly 9.3 cents. If you run your own orchestration instead of a hosted platform, the same pipeline lands near four cents, but now you are paying in engineering time and on call duty instead. That trade is fine. It just needs to be a decision, not a surprise.
The costs that never show up on the pricing page
Silence and hold time. Telephony, STT and the platform all bill by the minute of the call, not by the minute of talking. A caller who says “hang on, let me find my order number” and goes quiet for 40 seconds still costs you most of a minute on three layers. Hold music is the worst, because STT is happily transcribing it.
Long prompts. Every turn resends the system prompt and the whole conversation so far. A 3,000 token prompt is not paid once per call. In my example it is paid four times a minute, and the history keeps growing as the call goes on. The LLM line looks small in minute one and less small in minute eight.
Retries and interruptions. When the caller talks over the agent, the reply you already paid to generate and synthesize gets thrown away, and you pay again for the new one. Same for tool calls that time out and get retried.
Recording storage. At Twilio’s listed $0.0005 per minute per month it feels like nothing. But it compounds. Another example calculation: 100,000 recorded minutes kept for a year is 100,000 x 0.0005 x 12, which is $600, for audio nobody listens to.
How I would bring the number down
- Shorten the prompt. Move rarely used instructions into tool descriptions or fetch them only when needed. Every token you cut is saved on every turn.
- Use prompt caching. On the price list above, cached input is a quarter of normal input. If your system prompt is stable and comes first, most of each turn can hit the cache. In my example that takes the LLM line from about 0.6 cents to about 0.2 cents.
- Pick the STT for the flow. A booking line that mostly hears names, dates and yes or no does not need your most expensive multilingual model. Test the cheaper one on real recordings first.
- Keep replies short. TTS is per character. A voice agent that reads out three sentences where one would do is paying for the extra two, and the caller is bored anyway.
- End calls cleanly. Detect long silence, say a polite goodbye, and hang up. Set a maximum call length. This one change often saves more than all the model tuning.
- Record only what you need. Set a retention period and delete old recordings on a schedule.
Do the math before you pick a stack
My honest advice: open a spreadsheet, put the five layers in five rows, and plug in your own numbers for turns per minute, prompt size and talk time. Then run it again with silence added. That ten minute exercise tells you more than any pricing page, and it is the same habit I wrote about in reading your cloud bill like a bug report.
Hosted platform, self built pipeline, or a speech to speech model, all of them can make sense. If you want a second pair of eyes on the numbers for your own use case, that is the kind of thing our team does on the AI solutions side, or just write to contact@broadifitech.com.
Use whatever stack you like. Knowing what each minute costs matters more than which logo is on the invoice.

