What a Voice AI Agent Really Costs Per Minute

Connor Blier
Founding GTM

Voice agent icon representing the per-minute cost of running a production voice AI agent on serverless GPUs

What a Voice AI Agent Really Costs Per Minute

A production voice AI agent costs roughly three cents per minute per call to run on serverless GPUs. In our own deployment the full speech-to-text, language model and text-to-speech stack came to $0.02932 per minute, and this article shows exactly where every fraction of a cent goes.

Most answers to this question are a shrug and a range. Vendors quote per-token or per-GPU-hour prices, which are not the unit anyone actually budgets in, and the hosted realtime APIs quote a blended per-minute number that hides what you are paying for. So here is a real one, from a voice agent we built and ran ourselves.

In our testing, a complete voice pipeline cost $0.02932 per minute per call. That is about $1.76 per hour of conversation, or roughly $29 for a thousand minutes. That is a measured voice agent cost per minute, taken from a system that served real traffic rather than from a pricing page. The number matters less than the breakdown, because the breakdown is what you can change.

The per-minute breakdown

A voice agent is three models in a trench coat: speech-to-text, a language model, and text-to-speech. Each is billed on a different basis, which is why a single blended price is so misleading.

ComponentWhat it runs onCost basisWhy it lands there
Speech-to-textA10 GPU instance$1.44 per hour per instanceStreaming transcription holds an open connection for the whole call
Language modelShared GPU capacityPer second of generationOnly billed while actually generating tokens, not while the user talks
Text-to-speechA10 GPU instance$1.20 per hourAlso connection-held, and it serves 180 concurrent conversations
Total$0.02932 per minute per call

Read the right-hand column carefully, because it contains the whole cost model. Two of the three components are billed for time held open, not work done. That is the difference between voice and ordinary inference, and it is why per-token pricing tells you almost nothing here.

Concurrency is the number that actually sets your cost

If you only take one thing away, take this: the per-minute cost is a division problem, and concurrency is the denominator.

Our speech-to-text tier ran on a single A10 handling roughly 160 to 180 concurrent connections. The text-to-speech tier cost $1.20 per hour and served 180 concurrent conversations. At full utilisation, $1.20 spread across 180 simultaneous calls is two thirds of a cent per call-hour. At ten concurrent calls on the same instance, the same $1.20 is eighteen times more expensive per call.

This is the trap in most voice-agent cost models. Teams price the instance, divide by their hoped-for concurrency, and get a number that only exists at peak. Your real cost is the instance price divided by your average concurrency, and average concurrency on a real traffic curve is a fraction of peak.

Two consequences follow. First, batching and connection density are worth more than shaving cents off the GPU hour. Second, anything that lets you scale down between traffic peaks without paying a latency penalty is a cost lever, not just a latency one, which is where cold starts come in.

Why cold starts are a cost problem, not just a latency problem

The usual framing is that cold starts hurt the user. They do. But the reason they show up in a cost article is that slow cold starts force you to keep capacity warm, and warm idle capacity is pure cost with no calls attached to divide it by.

A voice pipeline needs a platform that can do CPU and GPU deployments with cold start times around two seconds. Where providers land on this varies enormously: some achieve two to four second startups while others trail at sixteen to sixty seconds. If your cold start is a minute, you cannot scale to zero between peaks, so you pay for idle GPUs all night. If it is two seconds, you can. Snapshot-based restore is the mechanism that makes the difference, and co-locating the pipeline is what keeps the reassembled services talking quickly.

The comparison that gets skipped

The honest competitor to a composed pipeline is a hosted realtime API, which is genuinely simpler to adopt. The tradeoff is cost and control. Composing your own pipeline against the OpenAI Realtime API produced a 3x cost saving in our comparison, and self-hosting the language model rather than calling out to a hosted one was both cheaper and faster: latencies 50% faster and still 3x cheaper.

The latency half is counterintuitive enough to be worth stating plainly. Hosted API time-to-first-token for a small model varied from 700ms to 1.5s, while a self-hosted Llama 3 8B or 70B held around 300ms consistently. The variance is the real problem. A voice agent's perceived quality depends on the worst turns, not the average, and a hosted endpoint you do not control has a tail you cannot fix.

The costs that never appear in the spreadsheet

Two line items are almost always missing from voice-agent budgets, and both are architectural rather than commercial.

Network hops between the three services are the first. Splitting a pipeline across separately hosted components adds a round trip per turn. Co-locating them so they incur about 2ms of network request latency saved over 150ms per turn in our build. Nobody bills you for those 150ms, but you pay for them in churn.

Utilisation on the language model tier is the second. Because the LLM is only billed while generating, it looks cheap in isolation, and teams then over-provision it to protect latency. That over-provisioning is invisible in a per-token quote and very visible in a monthly invoice.

What actually moves the number

In rough order of leverage:

  1. Raise average concurrency per instance. This is the denominator, and it dominates everything else.

  2. Scale to zero between peaks, which requires fast cold starts to be safe.

  3. Self-host the language model if your volume justifies it, for both cost and tail latency.

  4. Co-locate the three services to stop paying for network hops in latency.

  5. Right-size the speech tiers. Faster-Whisper for transcription and Orpheus for speech synthesis have very different density characteristics, and the density is what sets the per-call cost. If you serve more than one language, note that multilingual transcription changes those density numbers again.

For reference points on what these choices do to latency rather than cost, our Ultravox pipeline reached 600ms end-to-end first-time-to-audio, and the real-time RAG voice agent walks the same problem with a knowledge base attached. The full build this article's cost figures come from is documented in deploying a global-scale voice agent, and the broader serverless GPU provider comparison covers how these numbers shift across platforms. If cost is the immediate pressure, cutting AI infrastructure costs without losing performance is the wider version of this argument. Current per-second rates for the GPU classes referenced here are on the pricing page, and the voice use-case overview covers the architecture end to end.

So what should you budget?

Three cents is a defensible planning figure for voice agent cost per minute on a composed pipeline at healthy concurrency. Budget more if your traffic is spiky, your concurrency is low, or you are calling a hosted realtime API. Budget less if you are running at high density with a self-hosted model.

What you should not do is take any single per-minute figure, including ours, as your number. Take the breakdown, put your own concurrency in the denominator, and you will get something you can actually plan against.

Frequently asked questions

How much does a voice AI agent cost per minute?
In our own production deployment, a full speech-to-text, language model and text-to-speech pipeline cost $0.02932 per minute per call, or about $1.76 per hour of conversation. Your figure depends heavily on average concurrency per instance, because most of the cost is billed for connection time held open rather than work performed.
Why is concurrency the biggest factor in voice agent cost?
Speech-to-text and text-to-speech hold an open connection for the duration of a call, so you pay for instance time regardless of how much audio is processed. A text-to-speech instance at $1.20 per hour serving 180 concurrent conversations costs a fraction of a cent per call-hour. The same instance serving ten concurrent calls costs eighteen times more per call. Divide by your average concurrency, not your peak.
Is a composed pipeline cheaper than the OpenAI Realtime API?
In our comparison, composing the pipeline yourself produced a 3x cost saving versus the OpenAI Realtime API, and self-hosting the language model was 50% faster on latency while remaining 3x cheaper. The tradeoff is operational complexity: a hosted realtime API is materially simpler to adopt.
Do cold starts affect cost or only latency?
Both, and the cost effect is usually larger. Slow cold starts force you to keep GPUs warm between traffic peaks, and idle warm capacity is cost with no calls to divide it across. With two to four second cold starts you can scale down between peaks; at sixteen to sixty seconds you cannot, so you pay for idle capacity overnight.
What hidden costs do voice agent budgets usually miss?
Network hops between the three services, and over-provisioning of the language model tier. Co-locating the services so they incur roughly 2ms of network latency saved over 150ms per turn in our build. And because the language model is only billed while generating, it looks cheap in isolation, which leads teams to over-provision it to protect latency.

Sources

  1. cerebrium.ai
    “Total: $0.02932 per minute per call.”

    The summed per-minute cost of the full STT + LLM + TTS pipeline in Cerebrium's own production voice-agent build.

  2. cerebrium.ai
    “Therefore the cost for this on Cerebrium is $1.44 per hour per instance and Cerebrium manages all autoscalling.”

    Hourly instance cost of the speech-to-text service in that build. Source typo ('autoscalling') preserved verbatim.

  3. cerebrium.ai
    “They usually require an A10 GPU which will cost $1.2 per hour for 180 concurrent conversations.”

    Hourly cost of the text-to-speech tier, and the concurrency it serves.

  4. cerebrium.ai
    “On Cerebrium, a Deepgram service can run on an A10 GPU and can handle roughly 160-180 connections concurrently.”

    Concurrency per GPU for the STT tier, which is the denominator of the per-minute cost.

  5. cerebrium.ai
    “The TTFT (time-to-first-token) of OpenAI 4o-mini varies from 700ms - 1.5s whereas if you deploy a llama-3-8b model or llama-3-70b, you can consistently achieve ~300ms.”

    Measured time-to-first-token, hosted API versus a self-hosted open model.

  6. cerebrium.ai
    “By deploying them inside Cerebrium, we take advantage of inter-cluster routing between the services that allows them to incur a “network request latency” of ~2ms, which alone saves us 150ms+.”

    Network cost of splitting the pipeline across services when they are co-located.

  7. cerebrium.ai
    “A platform that can do CPU and GPU deployments with extremely low cold start times (2 seconds)”

    The cold-start requirement for a voice pipeline, from the same build's platform criteria.

  8. cerebrium.ai
    “This ultimately results in a 3x cost saving.”

    Cost comparison of a composed voice pipeline against the OpenAI Realtime API.

  9. cerebrium.ai
    “If you were to host your LLM on Cerebrium’s serverless infrastructure (please look at articles here) - latencies are 50% faster and still 3x cheaper.”

    Latency and cost effect of self-hosting the language model rather than calling a hosted realtime API.

  10. cerebrium.ai
    “Using this pipeline, we are able to achieve an end-to-end latency (First time to audio, in just 600 ms).”

    End-to-end first-time-to-audio for an Ultravox plus Cartesia pipeline.

  11. cerebrium.ai
    “Cerebrium and Beam lead in cold start performance, both achieving 2–4 second startup times, while RunPod and Google Cloud Run fall in the mid-range, and Baseten trails with 16–60 second startup delays.”

    Cross-provider cold-start comparison, which governs how much idle capacity a voice workload must pay to keep warm.


Related resources

See all
Compute cluster icon representing alternatives to AWS for running AI inference workloads
AWS Alternatives for AI Workloads: What Actually Changes
Cloud icons representing alternative serverless GPU platforms for inference workloads
Modal Alternatives for Serverless GPU Inference
Speedometer representing serverless GPU cold-start latency for real-time Voice AI
Serverless GPU Cold Starts: Killing Voice AI Latency