A 5-minute example call on OpenAI's gpt-realtime-2.1 costs about $1.17, or $0.235 a minute, because audio costs $32 in and $64 out per million tokens and each turn re-sends earlier audio. Best-case caching brings it near $0.08 a minute. Dograh, the open-source AI voice agent platform we build, runs it on your OpenAI key, self-hosted or in the cloud.
Key Takeaways
- Agent audio bills 1,200 tokens a minute, twice the caller's 600.
- Re-sent audio history makes up most of an uncached call's input.
- gpt-realtime-2.1-mini runs the same call for about 30% of the full model.
This post is part of our guide to LLM API pricing for voice agents, which sets text models and speech-to-speech side by side on one shared call. Here we turn OpenAI's realtime token prices into an example cost per call minute and show what moves that number in Dograh.
How the Realtime API bills audio and text
OpenAI's realtime models take the caller's audio and answer in audio, and they bill both by the token, with audio priced far above text. The rates below are OpenAI's API prices per million tokens.
| Model | Audio in | Audio cached | Audio out | Text in | Text cached | Text out |
|---|---|---|---|---|---|---|
| gpt-realtime-2.1 | $32 | $0.40 | $64 | $4 | $0.40 | $24 |
| gpt-realtime-2 | $32 | $0.40 | $64 | $4 | $0.40 | $24 |
| gpt-realtime-2.1-mini | $10 | $0.30 | $20 | $0.60 | $0.06 | $2.40 |
The per-minute rate depends on who is talking. OpenAI's guide to voice latency and cost counts the caller's audio at one token per 100 milliseconds and the model's own audio at one token per 50 milliseconds. A minute of caller speech is 600 tokens and a minute of agent speech is 1,200, so the agent's voice costs twice as much per second before the higher output price is applied.

GPT-Live-1 is priced differently, at $0.05 a minute billed by the second, with the backend model that follows the workflow and calls tools billed separately.
The 5-minute call, priced as an example
The call we price is the guide's shared example, adapted for audio. It has 12 turns. The caller speaks for about 7.5 seconds a turn, 75 audio tokens, and the agent for about 15 seconds, 300 audio tokens, plus a 50-token text transcript of its reply. The 2,000-token instructions, with the tool definitions, go with every turn as text, and so does the whole conversation so far.
Summed over the call, the model reads 25,650 audio tokens and 27,300 text tokens and writes 3,600 audio tokens and 600 text tokens. On gpt-realtime-2.1 that is:
- Audio in: 25,650 x $32 / 1,000,000 = $0.8208
- Text in: 27,300 x $4 / 1,000,000 = $0.1092
- Audio out: 3,600 x $64 / 1,000,000 = $0.2304
- Text out: 600 x $24 / 1,000,000 = $0.0144
The call comes to $1.1748, or about $0.235 a minute in this example. The best case for caching has every turn read its earlier part from cache, leaving 4,200 new audio tokens and 2,550 new text tokens, and brings the call to $0.4079.
| Model | 5-minute call, no cache | Per minute | Best-case cache | Per minute, cached |
|---|---|---|---|---|
| gpt-realtime-2.1 or gpt-realtime-2 | $1.1748 | $0.235 | $0.4079 | $0.082 |
| gpt-realtime-2.1-mini | $0.3463 | $0.069 | $0.1249 | $0.025 |
For comparison, GPT-Live-1 at $0.05 a minute comes to $0.25 for the same five minutes, plus whatever its backend model uses. For how GPT-Live-1 sounds and copes with a phone line, see our realtime voice API comparison for phone agents.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
What drives the bill up
The conversation is the main cost driver, because the model reads all of it again on each turn. Turn 1 sends 75 audio tokens of caller speech. Turn 12 sends 4,200: the newest 75 plus every earlier line from both sides. That re-sent history is why input audio comes to $0.82 of the $1.17 in our example, while the caller's new speech across the whole call is only 900 tokens.
Long agent answers cost twice. Each second the agent speaks is billed as output at $64 per million, and then sent back as input on every later turn. Longer calls get worse faster than they get longer, since each extra turn re-sends a bigger history. Reasoning adds output tokens on top. Changing the instructions or the tool list during a session costs more too, since both sit at the start of the conversation and OpenAI notes the change lowers the cache rate for every later turn.
What brings it down
The mini model is the biggest single lever: gpt-realtime-2.1-mini runs our example call for $0.3463, about 30% of the full model, so test whether it handles your flow first. Caching is the next one. OpenAI caches automatically but on a best-effort basis, and keeping a session's history unchanged gives it the best chance.
Truncation caps the growth. The token_limits.post_instructions setting limits how many input tokens a response reads beyond the instructions, and retention_ratio drops older history with headroom to spare, though truncating near the start of a call breaks the cache. Short agent answers help on both sides of the bill. Voice activity detection keeps silence out of the input, so empty audio costs nothing unless your code adds it. GPT-Live-1 bills idle time while the session is open, and OpenAI puts the saving from closing an idle session at $0.05 a minute.
Realtime or cascade, per agent in Dograh
Dograh orchestrates the call, its flow, tools and telephony, and the models that hear and speak are a separate layer you choose. In Realtime mode, a model configuration pairs an OpenAI realtime model, gpt-realtime-2 by default or gpt-realtime-2.1, gpt-realtime-2.1-mini or gpt-live-1, with a separate LLM for jobs such as extraction and QA. Those jobs add their own tokens outside the example, and on gpt-live-1 the backend model, gpt-5.4-mini by default, bills separately from the voice.
A cascade prices the same call very differently. With gpt-4.1-mini at $0.0127 for the language model, speech-to-text at $0.0385 and a Deepgram voice at $0.072, the five minutes come to about $0.12, near the mini realtime model with caching. Our breakdown of cascade vs speech-to-speech covers what each gives up on tools, tone and speed.
You can pick per agent, since each one uses its own named model configuration. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. With your own OpenAI key, the realtime tokens bill to your account at the rates above.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Glossary
- Audio token
- The unit OpenAI bills realtime speech in. Caller audio makes one token per 100 milliseconds and the model's own audio one per 50 milliseconds, so a minute of agent speech is 1,200 tokens.
- Re-sent history
- Sending the whole conversation so far with every new turn. On the Realtime API it means earlier audio is billed again as input on each turn, which is why late turns cost the most.
- Truncation
- Dropping older parts of the conversation to cap how many input tokens a response reads. It slows the growth of a long call's bill, but truncating near the start of the conversation breaks the cache.
- Backend model
- The text model GPT-Live-1 hands workflow steps and tool calls to. It bills separately from the $0.05-a-minute voice price, and in Dograh it defaults to gpt-5.4-mini.

