| Criterion | GPT-5 mini (OpenAI) | Gemini 2.5 Flash (Google) | Claude Haiku 4.5 (Anthropic) |
|---|---|---|---|
| Model list price, input / output per million tokens | $0.25 / $2.00 | $0.30 / $2.50 | $1.00 / $5.00 |
| Model cost per minute (4 model calls a minute, 3,000 prompt + 60 reply tokens each) | $0.0035 | $0.0042 | $0.0132 |
| Telephony per minute (Sample input) | $0.0100 | $0.0100 | $0.0100 |
| Speech in and out per minute (Sample input) | $0.0600 | $0.0600 | $0.0600 |
| Total per connected minute | $0.0735 | $0.0742 | $0.0832 |
| Model share of the minute | 5% | 6% | 16% |
| Per month at 1,800 minutes, plus $10.00 fixed (Sample input) | $142 | $144 | $160 |
What you are actually buying
A phone voice agent is four services chained together in real time: a telephony leg that carries the call, speech-to-text that turns the caller’s audio into words, a language model that decides the reply using your knowledge and tools, and text-to-speech that turns the reply back into audio. Around them sits orchestration: deciding when the caller has finished speaking, stopping mid-sentence when they interrupt, transferring to a person, and logging the call. Every quote you receive is some bundle of these parts, so the first job is to unbundle it.
Terms used in this guide
- Connected minute: a minute in which the call is up and the agent is on it. Ringing and queue time may or may not be billed, depending on the provider.
- Media stream: the raw audio of a live call sent to your server over a WebSocket, and sent back for playback.
- Endpointing: deciding that the caller has stopped talking, as opposed to pausing mid-sentence.
- Barge-in: the caller talking over the agent, which should stop the agent’s audio immediately.
- Time to first audio: the gap between the caller finishing and the first sound of the agent’s reply. This is the latency callers feel.
- Warm transfer: handing the call to a person with a summary, which usually opens a second phone leg billed at the same time.
Three ways to assemble the stack
The architecture decides how many bills you get and how much control you have over latency and voice quality. Twilio, which is in our build stack, documents two of the patterns directly: ConversationRelay, where Twilio runs speech recognition and speech synthesis and your application exchanges text over a WebSocket, and bidirectional Media Streams, where your server receives the call audio and sends audio back. Twilio’s US price list shows separate per-minute rates for each, on top of the call itself.
| Option | Who handles speech | What you build | Bills you receive | Choose it when |
|---|---|---|---|---|
| Speech relay | The telephony provider converts audio to text and back | Conversation logic, knowledge and tools behind a WebSocket | Telephony minutes, a relay fee per minute, model tokens | You want fewer vendors and built-in handling of interruptions |
| Media stream | Your own speech-to-text and text-to-speech vendors | The speech pipeline, turn-taking and the logic | Telephony, a stream fee, speech-to-text, text-to-speech, model tokens | You need a particular voice, language or speech vendor, or tight latency control |
| Hosted voice platform | The platform, end to end | Prompts, tools and settings in the vendor’s console | One bundled per-minute price, sometimes plus a platform fee | Speed of setup matters more than control, and the exports and number ownership check out |
The per-minute cost model
Price a connected minute line by line, then multiply by volume and add the costs that do not scale with minutes. The model line is the only one priced from vendor list prices in this guide; telephony and speech vary too much by country, plan and provider to print one number, so the table and the calculator treat them as sample inputs for you to replace with your providers’ current quotes.
per_minute = telephony_per_min
+ speech_per_min # STT on caller audio + TTS on agent audio, or a relay fee
+ turns_per_min × (prompt_tokens × input_price + reply_tokens × output_price) ÷ 1,000,000
per_month = per_minute × connected_minutes
+ transfer_minutes × telephony_per_min # the second leg of each warm transfer
+ fixed_monthly # phone numbers, hosting, recording storageThe table at the top of this guide runs that formula for three models at the same sample inputs. The model line changes several-fold between them, while the total per minute moves far less, because at these inputs telephony and speech make up most of the minute. Replace the sample telephony and speech values with real quotes before drawing a conclusion for your own line; the calculator below the guide does exactly that.
Sample inputs (not a quote, not a client's numbers)
calls per month ............................ 600
connected minutes per call ................. 3
connected minutes per month ................ 1,800
telephony per minute (sample input) ........ $0.0100
speech in + out per minute (sample input) .. $0.0600
model calls per minute ..................... 4
prompt tokens per call / reply tokens ...... 3,000 / 60
fixed monthly: numbers + hosting (sample) .. $10.00
Model: GPT-5 mini at $0.25 / $2.00 per million input / output tokens
(vendor list price, read 18 Oct 2026)
model per minute = 4 × (3000 × 0.25 + 60 × 2) ÷ 1,000,000
= $0.0035
Per connected minute = $0.0100 + $0.0600 + $0.0035 = $0.0735
model share of the minute .................. 5%
per call (3 connected minutes) ............. $0.22
Per month = $0.0735 × 1,800 + $10.00 = $142.26
Excludes: taxes, currency conversion, transfer legs, recording storage, our build and support fees.What actually moves the bill
- Connected time, not call count. Long hold music or slow identity checks cost more than extra callers.
- Prompt size on every model call. The instructions, retrieved passages and conversation so far are re-sent with each reply, so a bloated prompt costs on every turn. Trim it, and use the model provider’s prompt caching where it applies.
- Model choice, within limits. A faster, cheaper model is often right for spoken replies, which are short; save larger models for the turns that need reasoning.
- Transfers. A warm transfer keeps the agent’s leg open while a second leg rings your team.
- Failed and abandoned calls. Calls that loop or never resolve still bill every minute, which is why call-length and daily spend caps matter.
- Platform minimums and seat fees, which can outweigh usage at low volume.
The latency budget
Callers judge a voice agent by the pause between finishing their sentence and hearing a reply. That pause is the sum of several stages, and each one needs its own budget, because a single end-to-end number cannot tell you what to fix. Everything must stream: transcription while the caller speaks, the model’s reply token by token, and speech synthesis that starts on the first words of the reply.
# Basis: streaming at every stage, app and providers in the same region as the phone network edge.
turn_budget_ms: 1000 # caller stops talking → first audio of the reply
stages:
endpointing: 300 # silence needed to decide the caller has finished
final_transcript: 100 # streaming speech-to-text settles the last words
model_first_token: 350 # prompt processing and the first tokens of the reply
tts_first_audio: 150 # the first audio chunk from text-to-speech
network_and_media: 100 # phone network ↔ your app ↔ providers
measure_per_call: [p50, p95] # from timestamps logged at each stage boundaryWhere the delay hides
- Endpointing set too cautiously, so the agent waits through every natural pause. Set too aggressively, it cuts callers off; tune it on recordings of real callers.
- Servers far from the telephony edge, adding a round trip to every stage.
- A long prompt that the model must read before it can start replying.
- Speech synthesis that waits for the full reply instead of starting on the first sentence.
- Tool calls in the middle of a turn. Say a short holding phrase while a booking system answers, and give every tool a timeout.
- Cold starts on serverless functions at the first call after a quiet period.
Consent, disclosure and recording
This section points at the rules a buyer should check; it is not legal advice. In the US, the FCC’s Declaratory Ruling FCC 24-17, released in February 2024, confirmed that calls using AI technologies that generate human-sounding voices fall under the Telephone Consumer Protection Act’s rules on artificial or prerecorded voices. Such calls therefore need the called party’s prior express consent, absent an emergency purpose or an exemption. That matters most for outbound calls: reminders, follow-ups and anything resembling a campaign need a consent record you can produce.
Call-recording consent is set by each country and, in the US, also by each state; some require every party on the call to agree, others only one. Inbound calls are lower risk than outbound ones, but the same greeting habits protect both.
- Say that the caller is speaking with an AI assistant in the first sentence, in words you have approved.
- Say whether the call is recorded or transcribed, and offer a way to continue without recording if your rules require it.
- Tell the caller how to reach a person, and make that option work at every point in the call.
- Never take card numbers by voice; send a secure payment link or transfer to a person.
- Keep outbound consent records with the date, the source and the wording the person agreed to.
- Set retention periods for recordings and transcripts before launch, not after the first request to delete them.
Questions to ask any voice-agent vendor
- Which parts of the call does your per-minute price include: telephony, speech in, speech out, the model, recording?
- Is usage passed through at the providers’ rates, or marked up? Whose accounts are the providers billed to?
- Is there a minimum monthly commitment, a platform fee or a per-seat charge on top of usage?
- Who owns the phone numbers, and can we port them out if we leave?
- How do you measure latency, and can we see per-call timings for each stage rather than one average?
- What happens mid-call if the speech or model provider fails: transfer, voicemail or dropped call?
- Can we export every recording, transcript and call summary in bulk, in an open format?
- How are script and prompt changes tested before they reach live callers?
- Which languages and accents have been tested with real recordings, not just listed?
- What caps exist on call length, daily spend and concurrent calls?
Pilot checklist
- Start with one call type and an after-hours or overflow line, so a person still covers the main line.
- Log a timestamp at every stage boundary, and review the slowest calls, not the average.
- Read a sample of transcripts every week with the team that owns the calls.
- Track transfers and their reasons; a rising transfer rate is the earliest sign of a script gap.
- Compare the real bill against the cost model after the first month and correct the inputs.
- Keep the disclosure, recording notice and human option in the greeting through every script change.
When not to
A voice agent is the wrong purchase when:
- Most calls need a judgement only a person can make, such as complaints, clinical triage or negotiation. Use the agent for routing and messages, or not at all.
- Call volume is so low that a shared voicemail and a quick callback cover it.
- The core task is taking card payments by voice. Keep payments out of the conversation entirely.
- You plan outbound calling but cannot show prior express consent for the numbers you would call.
- A short text message with a link would solve the caller’s problem faster than a conversation.
- Your callers mainly speak a language or dialect you cannot test with real recordings before launch.
Limitations
- Model prices are vendor list prices read on 18 Oct 2026, in US dollars, without taxes, caching discounts or batch pricing. They change; the date is printed so you can re-check them.
- Telephony and speech values are sample inputs, not quotes. Real rates differ by country, number type, plan and volume.
- Token counts per turn are estimates. Measure them from your own logs during a pilot; long calls grow the conversation history and the prompt with it.
- The latency budget is a design target. Network conditions, provider load and caller audio quality all move real timings, which is why it is measured per call.
- The consent notes cover pointers for US calls only and are not legal advice. Check the rules for every country and state your callers are in with counsel.
Run the cost model with your own numbers
The same formula as the table at the top of this guide. Model prices are vendor list prices read on 18 Oct 2026. Telephony, speech and fixed costs start as sample inputs: replace them with your providers’ current quotes. Results exclude taxes, currency conversion and our own fees.
Cost model · one connected minute
Sample inputsPer connected minute: $0.0735
- Telephony · Sample input$0.0100 (14%)
- Speech in and out · Sample input$0.0600 (82%)
- Model · GPT-5 mini · List price, read 18 Oct 2026$0.0035 (5%)
- Per call
- $0.22
- Connected minutes per month
- 1,800
- Per month, with fixed costs
- $142.26
Not a quote. Excludes warm-transfer legs, recording storage beyond the fixed line, taxes and MiniAI Labs build or support fees, which are on the pricing page.
Sources
- Programmable Voice pricing in the United States (opens in a new tab) · Twilio · accessed
- TwiML Voice: <ConversationRelay> (opens in a new tab) · Twilio Docs · accessed
- Media Streams overview (opens in a new tab) · Twilio Docs · accessed
- Declaratory Ruling FCC 24-17: Implications of Artificial Intelligence Technologies on Protecting Consumers from Unwanted Robocalls and Robotexts (opens in a new tab) · Federal Communications Commission · accessed
- API pricing (opens in a new tab) · OpenAI · accessed
- Gemini Developer API pricing (opens in a new tab) · Google AI for Developers · accessed
- Pricing (Claude Developer Platform docs) (opens in a new tab) · Anthropic · accessed