A voice agent bills by the connected minute, not by the visitor. On Azure VoiceLive Pro pricing in East US 2, a real call works out somewhere around four to six cents per minute once you add up the audio going in, the audio coming out, and the conversation context that grows underneath both. An hour of talk time sits near three dollars. Everything below is where that number comes from, and what makes it move.
We run a voice agent on this site, so these are the meters we actually pay against rather than a vendor estimate.
Four meters, not one
People expect a single "per minute" price. There isn't one. A realtime voice model bills four separate things, and they behave differently.
| What is billed | Rate per 1,000 tokens | Roughly per minute |
|---|---|---|
| Audio in (the caller) | $0.032 | about 600 tokens, near $0.019 |
| Audio out (the agent) | $0.031 | about 1,200 tokens, near $0.037 |
| Text in (conversation context) | $0.004 | grows as the call goes on |
| Text out (the reply text) | $0.016 | small throughout |
Audio is metered in tokens like text is. Incoming speech runs at roughly ten tokens per second and outgoing speech at roughly twenty, which is why the agent talking is about twice as expensive per second as the caller talking.
Prices are the published Azure retail rates for that region and tier at the time of writing. Check them against your own region before you budget anything, because they differ by region and they change.
Silence is not free
The microphone stream stays open for the entire call. It is open while the caller thinks, while they go and find their order number, and while they talk to somebody else in the room. Those seconds bill at the audio input rate exactly like speech does.
That single fact changes how you design the conversation. A question that makes people pause and hunt for information costs more than a question they can answer immediately. Asking for a name first and an email second is cheaper than the reverse, because people say their name without thinking.
It also means dead air is worth engineering out. If the agent takes two seconds to start responding, you are paying for those two seconds on every single turn, and the caller is deciding whether the line has dropped.
Where the cost actually creeps up
Not the audio. The context.
Every turn sends the conversation so far back to the model. Turn one carries almost nothing. Turn thirty carries everything that came before it. On a long call the text input meter quietly becomes a real share of the bill even though its rate is the lowest of the four.
Work it through on a five minute call with roughly fifteen turns: audio in is about ten cents, audio out about six, and the accumulated context about nine. The cheapest-looking meter ends up in the same range as the expensive ones.
The fix is not clever prompting. It is keeping calls short and purposeful, and summarising rather than replaying once a conversation runs long. If your agent needs thirty turns to book an appointment, the script is the problem, not the pricing.
Two bugs that cost you callers, not dollars
Cost is the easy part. The things that actually lose you a caller do not show up on any invoice.
The agent gets cut off mid sentence. Our agent used to finish speaking and the call would end before the caller heard the last line. The cause was ordering: the connection was torn down when the model finished generating, but the audio was still playing in the caller's browser. The model was done, the human was not. The fix was to work out how much audio was still queued from the byte count and wait for it to finish playing, plus a margin, before closing anything.
The ghost call. A visitor clicks the call button, the browser asks for microphone permission, and they change their mind and close the panel while that prompt is still open. The permission promise resolves a moment later and happily opens a live connection behind a UI that no longer exists. Now there is a call running that nobody can see or hang up. The fix is a flag set when the panel closes and checked after the promise resolves, so the stream is stopped instead of connected.
Neither of these is exotic. Both are the kind of thing you only find by making real calls to your own agent and listening to the whole thing, including the last two seconds.
Know when to hand over
The cheapest call is the one that ends with the right outcome, and sometimes the right outcome is a person.
Our position on AI agents is that routine questions get answered instantly and judgment calls do not. An agent that confidently guesses at a refund policy costs far more than the four cents a minute it saved you. Escalation should carry the full conversation across, so the customer never repeats themselves to the human who picks it up.
Decide up front which categories are always human. Write them down. That list is more important than the prompt.
What this looks like at small volume
The agent on this site has cost single-digit dollars in Azure charges since it went live, because our call volume is small. That is the honest shape of this pricing: it scales with connected minutes, so a quiet site pays almost nothing and a busy support line needs a real forecast.
Before committing, do the arithmetic with your own numbers. Take your expected calls per day, multiply by your realistic average call length, multiply by five cents, and multiply by thirty. If that monthly figure is comfortable, the technology is not your constraint. If it is not, shorten the calls before you shop for a cheaper model.
If you want a second opinion on whether a voice agent fits your call volume, tell us what your calls look like and we will give you the arithmetic rather than a pitch. It is also worth reading how we think about mapping a process before automating it, because most of what people want a voice agent for turns out to be a workflow problem wearing a microphone.

