Skip to content

Voice AI

Vapi vs Retell vs LiveKit vs Pipecat: Which Voice AI Stack in 2026

Four ways to build a voice agent, compared on latency, real cost per minute, control and the work you inherit. Written by someone who has shipped on more than one of them.

Every voice AI project starts with the same argument: managed platform or build it yourself. The comparison posts you find are mostly written by one of the vendors, so here is the version from someone who builds these for clients and has no platform to sell you.

The short answer

Start on Vapi or Retell. Move to LiveKit or Pipecat when one of four specific things becomes true, not before. Most teams migrate too early, spend three months rebuilding, and end up with an agent that is cheaper per minute and worse to talk to.

The four options, side by side

VapiRetellLiveKitPipecat
TypeManaged platformManaged platformFramework + cloudOpen-source framework
Time to first agentHoursHoursDays to weeksDays to weeks
Typical all-in cost/min$0.13 - $0.25$0.12 - $0.22$0.05 - $0.11$0.04 - $0.10
Model choicePlatform listPlatform listAnythingAnything
TelephonyBuilt inBuilt inSIP, you configureYou bring it
Scaling & opsTheirsTheirsYoursYours
Custom logic mid-pipelineLimitedLimitedGoodTotal

Cost figures are all-in estimates covering speech recognition, model, synthesis and telephony at moderate volume. Your real number depends heavily on which voice provider you choose. Text-to-speech is usually the single largest line item, not the language model.

Vapi

The most developer-friendly of the managed platforms. Good API, good docs, broad provider support, and you will have something answering a phone number the same afternoon. The trade is that the pipeline is not yours: when latency is 1.4 seconds and you need 800 milliseconds, there is no layer for you to go optimise.

Choose it when: you are validating a use case, you have one clear conversation flow, and volume is under roughly 20,000 minutes a month.

Retell

More opinionated than Vapi, with stronger built-in workflow and routing logic, which makes it a better fit for non-engineers on the team. Similar ceiling for the same reason: you are operating inside someone else's pipeline.

Choose it when: your conversation has real branching logic and you want that expressed in a product rather than in code.

LiveKit

A mature WebRTC platform with an agents framework on top, plus SIP telephony. This is what most teams should move to when they outgrow a managed platform. You get real-time transport that is already battle-tested at scale, and you get back control over model choice, per-minute economics and data handling.

What you inherit: worker deployment and autoscaling, turn-detection tuning, SIP trunk configuration, and observability. That is genuinely several weeks of work and it is the part migration quotes leave out.

Choose it when: volume makes per-minute cost material, you need a model or voice the platform does not offer, or you need infrastructure and data under your own control.

Pipecat

A Python framework that models a conversation as frames moving between processors. The reason to pick it over LiveKit is that you can insert your own logic anywhere in the chain: redact sensitive data before it reaches a vendor, run a moderation classifier in parallel with the response, swap the model mid-conversation, or route different intents down entirely different paths.

The reason not to pick it is that nothing is deployed, scaled or monitored for you. A Pipecat pipeline assembled from examples works beautifully on a laptop and falls over at ten concurrent calls.

Choose it when: you have a genuine requirement to intervene between pipeline stages. See Pipecat pipeline development. If you cannot name that requirement in one sentence, use LiveKit.

The four reasons to actually migrate

  • Cost: your per-minute spend at current volume exceeds what a custom build plus its maintenance would cost. Do this as arithmetic, not as a feeling.
  • Latency: you have measured your current agent, you need to be meaningfully faster, and the platform gives you no layer to optimise.
  • Capability: you need a specific model, voice, language or integration the platform does not support and will not add.
  • Data: you have a residency, retention or vendor requirement that a shared platform cannot satisfy.
  • Notice that "we want more control" is not on that list. Control is the mechanism, not the reason. If you cannot point at one of these four, staying put is the correct engineering decision.

    What I usually build

    For most production systems: LiveKit for transport and telephony, with a chained speech-to-text, language model and speech synthesis pipeline inside it rather than a speech-to-speech model. The chained approach costs 200 to 400 milliseconds more, and buys a clean transcript at every turn, free model choice, and cheaper economics on long calls. When compliance asks what the agent said last Tuesday, you have an answer.

    If you are weighing this up for a real product, I am happy to look at your numbers. I will tell you if the honest answer is to stay on the platform you are already paying for. If you have already decided, here is how I run a migration off Vapi or Retell.

    Direct Project Enquiry

    Tell me what you are building

    Share what you are building and where it is stuck. If a managed platform already solves it, I will say so. I review every enquiry personally and reply within about four hours.

    1. 1Send your project goal and the services you think you need.
    2. 2I review the context and whether I am the right fit.
    3. 3You get a direct reply with a practical next step.

    International projects welcome

    I work in English by email, video call or through Upwork, from GMT+7 with overlap hours for US and EU teams.

    Read the Privacy Policy, Terms of Service and Cookie Policy.

    Client project enquiries only

    This form is for businesses and teams looking to hire. Sales pitches, recruitment messages, guest posts and link-building outreach are not reviewed.

    Select Service *

    In a hurry? Message me on WhatsApp at nguyentienm@gmail.com

    Message me