Choosing between voice AI providers comes down to three decisions: whether you want a direct speech-to-speech API, a composed stack you control, or a managed platform that handles orchestration for you. Each path trades off cost, voice quality, latency, and the amount of engineering work your team absorbs. This guide walks through the options that matter right now and the tradeoffs product teams actually hit in production.
What changed in real-time voice AI
Twelve months ago, building a real-time voice agent meant stitching together a speech-to-text service, a language model, and a text-to-speech engine, then managing the latency budget across all three. That pipeline still works, but a new category of speech-to-speech models has compressed the stack. OpenAI's GPT-Realtime, Hume's EVI 3, and Amazon Nova Sonic each accept audio in and return audio out from a single model, removing the STT-LLM-TTS handoff entirely.
At the same time, managed platforms like Vapi and Retell have lowered the barrier for phone-agent prototypes, while open frameworks like LiveKit Agents give teams full provider-swap control over WebRTC infrastructure. The result is more options, but also more confusion about where to start.
Voice AI providers compared
The table below covers the options most teams evaluate. It is not exhaustive, but it reflects the providers with production-grade documentation and clear pricing or architecture models in their current public materials.
| Option | Browser / Mobile Fit | Strongest Use Case | Watch-Outs | Cost Model to Check |
|---|---|---|---|---|
| OpenAI Realtime API | Native WebRTC; recommended for browser/mobile clients | English-first web or mobile MVP with function calling | $32/$64 per 1M audio input/output tokens adds up at scale | Per-token audio pricing; cached input at $0.40/1M helps |
| Gemini Live API | WebSocket-based; needs a media layer (LiveKit, Pipecat) for browser | Multilingual agents; cost-sensitive planning | No native WebRTC; browser integration requires extra work | Generally cheaper than OpenAI for planning-tier models; verify current pricing |
| Hume EVI 3 | SDK available; WebSocket transport | Coaching, wellness, customer conversations where vocal affect matters | Vendor-reported quality comparisons; emotion claims need scrutiny in regulated contexts | Per-minute or per-token; check current rate card |
| Amazon Nova Sonic | HTTP/2 bidirectional streaming; not browser-native | AWS-native contact centers with Bedrock tooling and RAG | Regional and language availability should be checked before rollout; not ideal for browser-first products | Bedrock pricing; factor in streaming compute |
| ElevenLabs Conversational AI | WebRTC supported; echo cancellation and noise handling are part of the browser path | Products where human-like voice quality is the differentiator | Shared credit pool across products; business plan TTS from $0.05/min needs modeling at volume | Credit-based plans; enterprise pricing separate |
| LiveKit Agents + STT/LLM/TTS | WebRTC-native frontend; agents join rooms as participants | Voice agent is the product; long-term provider flexibility | You own the integration and latency tuning | Open-source infra + provider costs; self-host or LiveKit Cloud |
| Vapi | Browser widget; phone-agent orchestration | Fastest prototype for phone or web voice agents | $0.05/min hosting excludes model costs; HIPAA add-on at $2,000/mo | Hosting fee + pass-through provider costs |
| Retell | Phone-agent heritage | Enterprise calling workflows and outbound campaigns | Less browser-focused; verify current pricing directly | Per-minute; check enterprise tiers |
Direct APIs vs composed stacks vs managed platforms
These three architecture patterns serve different team profiles.
Direct speech-to-speech APIs
OpenAI Realtime, Gemini Live, Hume EVI, and Amazon Nova Sonic each give you a single endpoint that handles the full audio-in, audio-out loop. The advantage is simplicity: one vendor, one latency budget, one billing line. The disadvantage is lock-in. If your provider raises prices or degrades quality, switching means re-architecting.
OpenAI Realtime has the best browser story right now. Its WebRTC guidance means browser clients can connect with steadier media performance, while the backend keeps the API credential server-side through ephemeral tokens. Function calling is supported natively, so the agent can trigger backend actions mid-conversation.
Gemini Live tends to be cheaper for planning-model tiers and has strong multilingual coverage, but its WebSocket-only transport means you need something like LiveKit or Pipecat sitting between the API and the browser to handle media properly.
Amazon Nova Sonic fits teams already on AWS. It supports function calling and RAG through Bedrock Knowledge Bases, which is useful for contact-center scenarios where the agent needs to query internal data. Its HTTP/2 bidirectional streaming works well server-to-server but is not a natural fit for browser-first products.
Hume EVI 3 is the outlier. It is a speech-language model that handles transcription, language understanding, and speech generation in one pass, producing expressive responses at conversational latency. Hume reports that blind comparisons rated EVI 3 above GPT-4o on empathy, expressiveness, and naturalness. Those are vendor-reported numbers, not independent benchmarks, but the expressiveness angle is real for coaching, therapy-adjacent, and customer-experience products. Be cautious about deploying emotion analysis in hiring, education, or regulated workplace contexts where affect detection raises ethical and legal questions.
Composed stacks
A composed stack means you pick your own STT, LLM, and TTS providers and wire them together through an orchestration layer. LiveKit Agents is the most mature option here. Python or Node agents join LiveKit rooms as real-time participants, and WebRTC handles the connection to the frontend. You can swap STT providers (AssemblyAI, Deepgram, Google), LLMs (OpenAI, Anthropic, open-weight models), and TTS engines (Cartesia, ElevenLabs, PlayHT) without changing your frontend or transport layer.
Cartesia's Sonic models are strong TTS candidates inside a LiveKit pipeline when latency and voice quality matter. AssemblyAI's streaming transcription is another option for domain-specific agents in healthcare, legal, or finance, where names, acronyms, and mixed-language speech can break generic STT.
Pipecat is a lighter pipeline-first alternative worth evaluating if your team prefers a framework over an infrastructure platform.
The tradeoff is clear: composed stacks give you the most control and the best long-term negotiating position with vendors, but you own the integration complexity, latency tuning, and operational overhead.
Managed platforms
Vapi and Retell sit at the other end of the spectrum. Vapi charges a hosting fee, with STT, LLM, and TTS costs passed through at cost or zero if you bring your own API credentials. You get browser widgets, phone number provisioning, and agent orchestration out of the box. The HIPAA add-on at $2,000/mo is steep for early-stage teams but expected for compliance-heavy deployments.
Retell leans toward phone-agent workflows and enterprise calling. Bland is another phone-first option. Neither is a strong choice if your primary surface is a browser or mobile app.
Managed platforms are the fastest path to a working demo. They become a constraint when you need custom turn-detection logic, fine-grained control over interruption handling, or the ability to run agents on your own infrastructure.
What these options cost in practice
Cost modeling for real-time voice agents is harder than it looks because most pricing is per-token or per-minute, and a single conversation touches multiple meters.
For a direct API like OpenAI Realtime, a longer conversation can become expensive when the agent speaks often and cannot reuse cached input. That is fine for high-value use cases such as sales calls or medical intake, but it changes the economics for a consumer chatbot handling thousands of daily sessions.
A composed stack shifts the cost to individual providers. You can tune STT, LLM, and TTS separately, but you absorb the infrastructure cost of running LiveKit (self-hosted or cloud) and the engineering time to maintain the pipeline.
Managed platforms add a hosting margin on top of provider costs. Vapi's $0.05/min hosting fee is transparent, but the total cost per minute depends entirely on which STT, LLM, and TTS you select underneath.
The practical advice: model your cost per conversation, not per minute. A voice agent that resolves a support ticket in 3 minutes has a different unit economics profile than one that runs 20-minute coaching sessions.
How to choose the right stack
Start with three questions:
Where does the user talk to the agent? If the answer is a browser or mobile app, you need WebRTC. That narrows your options to OpenAI Realtime (native), ElevenLabs (supported), LiveKit (native), or a managed platform with browser SDKs. If the answer is a phone call, Vapi, Retell, or a LiveKit telephony integration all work.
How much control do you need over the voice pipeline? If you are building a product where the voice agent is the core experience, a composed stack gives you the ability to swap providers, tune turn detection, and own your latency budget. If voice is a feature inside a larger product, a direct API or managed platform gets you there faster.
What is your compliance environment? Healthcare, finance, and government deployments need data residency controls, audit logging, and often on-premise or VPC hosting. Amazon Nova Sonic on Bedrock and self-hosted LiveKit Agents handle this well. Managed platforms can work if they offer the right compliance tier, but check the fine print and the price tag.
Browser and mobile issues teams forget
Three problems surface repeatedly in browser and mobile voice-agent deployments:
Echo cancellation and noise suppression. WebRTC handles this at the transport layer, which is why providers that support WebRTC (OpenAI Realtime, ElevenLabs, LiveKit) have an advantage over raw WebSocket implementations. If you are using a WebSocket-based API in the browser, you will need to handle acoustic echo cancellation yourself or accept degraded call quality.
Ephemeral tokens and API credential security. Never expose your provider API credential in client-side code. OpenAI's Realtime WebRTC docs recommend creating sessions server-side and passing ephemeral tokens to the browser. Any provider that does not support this pattern forces you to proxy all audio through your backend, adding latency.
Mobile background behavior. iOS and Android handle background audio sessions differently. If your voice agent needs to keep running when the user switches apps, test this early. WebRTC connections can drop or degrade on mobile when the app loses foreground priority.
Short takeaways
There is no single best provider. The right choice depends on your deployment surface, your team's tolerance for infrastructure work, and your cost sensitivity at scale.
For a browser or mobile MVP in English, OpenAI Realtime API is the fastest path to a working product with native WebRTC and function calling. For multilingual or cost-sensitive projects, Gemini Live through a LiveKit media layer is worth evaluating. For products where voice quality is the differentiator, ElevenLabs Conversational AI has the strongest brand and SDK support. For long-term control and provider flexibility, a composed stack with LiveKit Agents gives you the most room to optimize.
If your team needs help evaluating these tradeoffs for a specific product, Attract Group's AI agent development and AI integration services teams work with product owners to select providers, build prototypes, and move voice agents into production. For teams building broader conversational AI or mobile applications with voice features, the same architecture decisions apply.




