Building a voice agent for production comes down to one decision before any other: how much of the stack do you want to own? Vapi, LiveKit, Retell and Pipecat each answer that question differently. That's why "Vapi vs LiveKit vs Retell" shows up in so many Reddit threads with no clear winner.
The short answer: Retell is a managed, low-code platform for phone agents. Vapi is an API-first orchestrator that runs the speech-to-text, LLM and text-to-speech loop for you. LiveKit is open-source WebRTC transport plus an agent framework. Pipecat is an open-source Python pipeline you assemble yourself. All four depend on the speech-to-text model underneath.
Most comparisons treat these as four competitors on one spectrum. They aren't. They sit at different layers of the stack, and two of them are often used together. This guide breaks down where each one sits, what changes when you move from demo to production, and which teams each one fits.
A quick disclosure: AssemblyAI integrates with all four. We ship official plugins for Pipecat and LiveKit, we're a supported transcriber in Vapi, and Retell offers AssemblyAI as a transcription option. Retell, Vapi and LiveKit are partners. So we're not trying to crown a winner here. We want you to pick the right layer.
What are Vapi, LiveKit, Retell and Pipecat?
All four help developers build software that listens and speaks in real time. Each connects the same three components: a speech-to-text model that hears the user, a large language model (LLM) that decides what to say, and a text-to-speech model that says it. What differs is who controls the loop and how audio gets in and out.
One way to picture it: Retell hands you a finished phone agent builder, Vapi hands you a managed pipeline you configure by API, LiveKit hands you a room your agent joins, and Pipecat hands you the parts.
| Platform | Layer | Open source | Transport | Telephony | Pricing model (public, Oct 2026) | Speech-to-text choice |
|---|---|---|---|---|---|---|
| Retell | Managed platform (low-code builder + API) | No | Managed | Built in (numbers, SIP, transfers) | Per minute; Retell lists "from $0.07/min" | Selectable transcription options |
| Vapi | Managed orchestrator (API-first) | No | WebSockets, WebRTC, SIP | Built in or bring your own carrier | $0.05/min hosting plus providers at cost | Configurable provider, including AssemblyAI |
| LiveKit | Transport (WebRTC SFU) + agent framework | Yes (Apache 2.0) | WebRTC SFU | SIP support | Self-host free; LiveKit Cloud has a $0 tier with 1,000 agent minutes | Plugin system, including AssemblyAI |
| Pipecat | Pipeline framework (Python) | Yes (BSD 2-Clause) | Transport-agnostic | Via your transport (Twilio, Daily, others) | Free framework; you pay infrastructure and providers | Direct processor, including AssemblyAI |
How they differ architecturally
Three questions separate these platforms. Who controls the pipeline? How does audio travel? And how much control do you have over speech recognition?
Orchestration model: managed platform, managed API, room-based events, or explicit pipeline
The orchestration model is the logic that decides when to listen, when to call the LLM and when to speak.
Retell runs the whole loop and exposes it through a visual builder and an API. You design the conversation, pick voices and models, and connect telephony in one place. Retell's own engineers have described running a cascading STT-LLM-TTS pipeline for roughly 99% of agents, with fallbacks at every layer. We covered that in our panel recap with Retell and Super.
Vapi also manages the pipeline, but it's API-first. You write a system prompt, select providers and register tools through the API. Vapi's infrastructure executes the STT-LLM-TTS loop. You see what the user said and what the agent replied, not much in between. And because Vapi orchestrates third-party providers, your accuracy, latency and cost depend on each provider in that chain.
LiveKit uses an event-driven model. Your agent joins a WebRTC "room" as a participant, subscribes to audio tracks and reacts to events like "new transcription received." That fits naturally when there are multiple speakers, or when audio and video run together.
Pipecat makes the pipeline explicit. Voice activity detection, streaming transcription, the LLM call and speech synthesis are each code you write. You can insert logic between any two steps, run processes in parallel or fork the conversation on an intermediate result.
The practical takeaway: Pipecat is the only one where you inspect and modify every step. Retell and Vapi are the ones where you don't have to.
Transport: managed, WebSockets, WebRTC SFU, or bring your own
Transport is how audio physically travels between the caller and your agent. It shapes latency, reliability and scaling.
- Retell handles transport and telephony for you, including phone numbers and call transfer.
- Vapi abstracts transport too. Telephony through Twilio or SIP is configured, not built.
- LiveKit runs on WebRTC with a Selective Forwarding Unit (SFU). The SFU routes audio between participants and handles NAT traversal and variable networks for you. LiveKit Agents are designed to run on this infrastructure.
- Pipecat is transport-agnostic. Use Daily's WebRTC, Twilio Media Streams, a raw WebSocket or LiveKit's transport. Your pipeline code doesn't change.
That last point matters: Pipecat and LiveKit aren't either/or. Some teams run Pipecat pipelines over LiveKit transport.
Speech-to-text integration: how close can you get to the model?
This dimension most directly affects conversation quality. A misheard account number produces a confident, wrong LLM response and a wrong spoken answer. The errors compound.
| Capability | Retell | Vapi | LiveKit | Pipecat |
|---|---|---|---|---|
| How STT is configured | Platform setting | API config parameter | Plugin | Pipeline processor (direct API) |
| Modify transcript before the LLM? | No | No | Limited (event handlers) | Yes |
| Advanced STT features (keyterms, endpointing) | Platform-dependent | Exposed parameters only | Plugin-dependent | Full API access |
| Custom logic between components | Builder logic | Tools and webhooks | Event handlers | Any code |
In Vapi, you choose a transcriber like AssemblyAI with a few JSON fields, and keyterm prompting is exposed in that config. Our Vapi voice agent tutorial walks through it. In Pipecat, you connect directly to a streaming model like Universal-3.6 Pro Realtime, handle partials yourself and add logic before the LLM step. In LiveKit, AssemblyAI connects through the plugin interface, which exposes features like streaming speaker diarization without low-level streaming code. Retell lets you pick from its supported transcription options; it offers a high-accuracy mode powered by AssemblyAI Universal-3.5 Pro.
One more thing worth knowing: turn detection and barge-in live at the orchestrator level in LiveKit and Pipecat, not inside the speech model. So interruption behavior depends as much on how your orchestrator handles those events as on the transcription model itself.
Try the playground to stream audio in your browser and compare partial and final transcripts. It's the fastest way to hear what the speech layer under any of these four stacks will actually produce.
What production actually requires
Every one of these platforms can produce a good demo in an afternoon. The differences show up in month two. Here's what to check before you commit.
- Telephony. Do you need phone numbers, SIP trunking, warm transfer or outbound batch calling? Retell and Vapi ship these. With LiveKit or Pipecat you'll wire a carrier yourself, or use LiveKit's SIP support.
- Concurrency. Check plan limits at your peak hour, not your average. Vapi's base package lists 4 concurrent calls; higher tiers raise it. Self-hosted LiveKit or Pipecat scales with your own infrastructure.
- Observability. You need per-hop latency (STT, LLM, TTS) and the transcript the LLM actually received. Managed platforms give you their dashboards. Frameworks give you the hooks to build your own. Our guide to voice AI observability covers what to instrument.
- Load testing. Simulate your peak before launch. Turn-taking and tool latency degrade under load in ways a single test call won't reveal. See how to load test a voice agent.
- Failover. Decide what happens when one provider degrades. Retell's team described rerouting traffic away from degraded providers rather than running providers in parallel, which would multiply cost.
- Cost at 10x. Model the bill at ten times pilot volume. Platform fees per minute add up, and so does the engineering time for a self-run framework.
When to choose Retell, Vapi, LiveKit or Pipecat
The right platform matches how much of the conversation pipeline your team wants to own. Here's where each one fits.
Choose Retell for a managed, low-code phone agent
Retell fits teams that want a phone agent live quickly, with telephony, call transfer and conversation design in one product. Non-engineers can build and edit flows in the visual builder, while developers use the API.
Good fits include inbound support lines, appointment scheduling and outbound calling programs where the conversation follows known patterns. The trade-off is the same as any managed platform: you work within the platform's conversation model and settings.
Choose Vapi for an API-first managed pipeline
Vapi fits developer teams that want managed infrastructure but prefer to configure everything in code. If your use case is a standard pattern, such as inbound customer support, reminders or lead qualification, you can have a working agent in days.
Vapi charges a hosting fee per minute on top of provider costs. At early volumes that's usually cheaper than the engineering time to run your own stack. The math changes as volume grows. And when you need custom logic between transcription and the LLM, the managed model becomes the constraint. Our guide to building a low-latency Vapi agent covers tuning within that model.
Choose LiveKit for multi-participant and real-time media
LiveKit is built for sessions where your agent joins people in a room. That makes it a natural fit for AI meeting assistants, group voice experiences and any roadmap that includes video. The SFU handles the hard parts of multi-party WebRTC for you.
The flip side is coupling to LiveKit's infrastructure. For a simple two-party phone agent, the SFU model may be more than you need. Start with our LiveKit voice agent tutorial to see the plugin in action.
"We're excited to make AssemblyAI's Universal-3.5 Pro available on LiveKit Inference. What really stands out is their pace of innovation with Context Carryover — it intelligently applies conversation context to improve transcription accuracy in a way most speech models don't, removing the need for users to predefine key terms." — David Zhao, Co-founder, LiveKit
Choose Pipecat for full pipeline control
Pipecat fits teams that need to own every step. Typical reasons include:
- Domain vocabulary (drug names, product codes) that needs direct STT configuration
- Parallel work during the call, like speech understanding or a secondary LLM
- Existing transport you don't want to replace
- Cost control at scale with no platform fee per minute
The trade-off is operational. Pipecat is free, but you run the servers, monitoring and scaling. Our Pipecat deployment guide walks through a production setup.
Sign up free and get one API key that works in Pipecat, LiveKit, Vapi or your own stack.
The speech-to-text layer under all four
Whichever platform you pick, the transcriber decides what your LLM is reasoning about. That's why it's worth evaluating separately.
Universal-3.6 Pro Realtime (universal-3-6-pro) is AssemblyAI's streaming model for voice agents, released September 29, 2026, at $0.45/hr. On AssemblyAI's English voice-agent benchmark of 12,460 scripted caller scenarios, it posts a 5.19% word error rate. That compares with 7.78% for ElevenLabs Scribe v2 and 8.64% for Deepgram Nova-3. Its entity error rate is 14.4%, versus 26.1% for Nova-3, and entities are the emails, phone numbers and IDs your agent must get right. On Pipecat's open STT benchmark, it posts a 0.96% pooled semantic word error rate at a 307 ms median time to first speech.
It also takes your agent's last question as context through agent_context, so short replies like spelled-out emails resolve correctly. And it covers 32 languages with code-switching mid-sentence. You can plug it into Pipecat, LiveKit or Vapi today, or select AssemblyAI in Retell.
Final words
"Vapi vs LiveKit vs Retell" is really a question about layers. Retell and Vapi trade control for speed. LiveKit and Pipecat trade speed for control. You can combine some of them, and you'll probably switch at least once as you scale.
The layer you shouldn't treat as interchangeable is speech recognition. Your prompts, keyterm lists, confidence thresholds and escalation rules all get tuned to how one model's transcripts read. Pick the orchestration that fits your team today. Pick the speech model as if you'll live with it. Our roundup of orchestration tools for voice agents covers four more options if none of these fit.
Plug Universal-3.6 Pro Realtime into Vapi, LiveKit, Pipecat or Retell, and add AssemblyAI's Text-to-Speech API for voice output.
Frequently asked questions
Vapi vs Retell: which is better for production?
Retell is better for teams that want a managed phone agent with a low-code builder and built-in telephony. Vapi is better for developer teams that want a managed pipeline configured entirely through an API. Both run production traffic. The deciding factor is who builds and maintains the agent, operations or engineering.
Is Retell or Vapi cheaper?
It depends on your providers and volume. Vapi lists a $0.05/min hosting fee plus providers billed at cost, while Retell lists pricing starting at $0.07/min. Model both at ten times your pilot volume, including telephony and LLM costs.
Can LiveKit be self-hosted?
Yes. LiveKit's media server and the LiveKit Agents framework are open source under Apache 2.0, so you can run the full stack on your own infrastructure. LiveKit Cloud is the managed option, with a free Build plan that includes 1,000 agent session minutes a month.
What's the difference between LiveKit and Pipecat?
LiveKit is WebRTC transport plus an event-driven agent framework, best for multi-participant and real-time media sessions. Pipecat is a transport-agnostic Python pipeline framework where every step is explicit code. They can work together: Pipecat can run over LiveKit's transport.
Can I choose my own speech-to-text model in Vapi, Retell or LiveKit?
Yes. Vapi lets you set the transcriber provider and model in your assistant config, LiveKit uses STT plugins, and Retell offers selectable transcription options. AssemblyAI's Universal-3.6 Pro Realtime is available through native integrations in Vapi, LiveKit and Pipecat.
What are open-source alternatives to Vapi and Retell?
Pipecat (BSD 2-Clause) and LiveKit Agents (Apache 2.0) are the two most widely used open-source alternatives. Both let you self-host and swap every model in the pipeline. You take on the infrastructure, monitoring and telephony work that Vapi and Retell manage for you.