benchmarks/voice agent latency/Voice agent latency comparison
voice AI latency · like-for-like comparison

Voice agent latency compared, platform by platform

5 platforms measured on one identical agent script — Telnyx, ElevenLabs, Bland AI, Vapi, Retell AI — over 195 usable turns. Lowest median so far: Telnyx at 1,270 ms. Every platform answers the same prompt, the same questions, in the same order, dialled by the same caller. Where a comparison usually breaks is that each vendor is measured on its own demo; here the only thing that changes between rows is the platform.

open data + codeThe caller harness, the offline audio analyzer, and every run's per-turn timings are public in openbenchmarks-labs/voice-agent-latency.github →

Two numbers per platform, and they can disagree

TTFAB is reported twice for every platform. A platform can lead one reading without leading the other, so the table below carries both.

ReadingThe question it answersWhat it means
Median (p50)How long is the pause on a normal turn?Half of all turns are faster than this. It is the wait a caller gets most of the time, and the number to compare if the calls you care about are ordinary ones.
Tail (p95)How bad is it when it is bad?One turn in twenty is at least this slow. It matters more than it looks on a phone call: past roughly two seconds of silence a caller assumes the line dropped and starts talking again, which collides with the agent's reply and derails the turn. A platform can win the median and still do this to callers twice a conversation.

TTFAB data, lowest median first

Every figure read off the call's own audio, pooled over usable turns. Discarded turns are counted, not hidden — a platform that fails to answer is worse than one slightly slower.

#PlatformMedian TTFABp95p95 / medianUsable turnsDiscarded
1Telnyx1,270 ms2,015 ms1.59×40 / 400
2ElevenLabs1,362 ms1,633 ms1.20×40 / 400
3Bland AI1,493 ms2,162 ms1.45×40 / 400
4Vapi1,508 ms1,912 ms1.27×37 / 403
5Retell AI1,814 ms2,329 ms1.28×38 / 391

The p95 / median column is the two read together — the tail penalty. At 1.2× a platform's bad turns feel close to its normal ones. At 3× a caller regularly waits three times what the median promised.

route by workflow

There is no single fastest voice agent platform — which one wins depends on which pause your callers actually notice. Pick the workflow that matches yours:

Full ranking, both readings, and the discard counts: the voice agent latency benchmark →

Read off the call's audio, never from a platform's timestamp

A platform measures from where it stands, and the caller is not standing there. We checked that two ways on this bench. A platform's own recording of a call reads roughly 550 ms earlier than our recording of the same call. The latency a platform reports for itself runs roughly 490 ms below what we measure from that call's audio. The two figures agree, and that agreement is the finding: both describe the moment a reply was produced, not the moment a caller heard it. Neither is dishonest — they answer a different question than the one a caller is asking. This board answers the caller's.

1. A caller robot dials the platform's agent over a real phone call and reads a fixed script — a greeting, several scripted questions, and a goodbye — one measured turn each.

2. Both sides of the call are recorded on one clock (a dual-channel recording).

3. Both endpoints are then found in that recording: our speech-end (t1) and the agent's reply start (t2), each by a speech detector (Silero VAD) with an energy refinement and an independent cross-check. No timestamp reported by any platform is used.

4. TTFAB = t2 − t1, per turn. Turns failing quality gates (the two sides talking over each other, detectors disagreeing, no reply) are discarded and the discard counts are published.

Recording-path overhead sits inside every figure here. We have not characterised the current path against a known-delay reference, so we quote no overhead figure and subtract none.

We always call from Plivo, which is not a platform under test, but the leg that answers belongs to whoever ships the number: Telnyx on its own network, Retell's and Bland's Twilio-backed inside their own accounts, Vapi's upstream undisclosed, and ElevenLabs — which sells no numbers — on a Twilio number we bought for it. Twilio was a deliberate choice there: a Telnyx number would have worked, but Telnyx is itself on this board, and one platform's network should not carry another platform's row.

A discarded turn is one we refuse to time, not one the platform failed. The two sides talked over each other, our detectors disagreed, or no reply came. Discards are published per reason, because a platform that never answers is worse than one that answers slowly.

Our speech-end is found by a detector, not by matching a known waveform. It carries a few milliseconds of error. Differences smaller than that are not resolvable, and we do not claim them.

Endpointing — how long a platform waits after you stop talking before it decides you are finished — is pinned to 0.1 s on Telnyx, Vapi and Retell. It is the one setting we do not leave at the default, and the reason is that it is a timer sitting inside the number being measured: a platform that ships a 1.5 s wait posts a slower TTFAB without its stack being any slower, and the board would be comparing configuration choices rather than engineering. Vapi shipped 0.4 s (1.5 s after speech ending without punctuation) and Retell 1000 ms; both now run 0.1 s. Bland and ElevenLabs expose no equivalent fixed-wait knob, so they run whatever they ship and their figures still contain a wait we could not equalise.

Full method, the per-turn latency curve, and the instrument's own limits are on the voice agent latency benchmark.

Voice agent latency comparison — common questions

What is held equal across platforms in this comparison?

The agent: one system prompt, one greeting, one fixed set of questions asked in one order, dialled by the same caller over the same carrier. What is deliberately not held equal is each platform's own stack — every agent runs the model, speech recognition and voice it ships to a new signup, because that is the product a buyer actually gets. The configuration each platform chose is recorded and published with its run.

Can I compare these numbers to latency figures published elsewhere?

Only carefully. Figures differ mostly because of where the clock starts and stops, and whether the measurement comes from audio or from a platform's own event stream. Recording-path overhead is inside every figure here and is never subtracted. Compare rows on this page to each other, and treat cross-benchmark comparisons as approximate unless the method matches.

Which platforms are compared?

Measured so far: Telnyx, ElevenLabs, Bland AI, Vapi, Retell AI. The benchmark is being filled out to Telnyx, Retell, Vapi, ElevenLabs and Bland, each verified against the same agent script before it is measured.

What is TTFAB (Time To First Audio Byte)?

Time from the moment the caller stops speaking to the moment the agent's audio starts — the silence a real caller sits through on every turn. Measured from a saved recording of the actual phone call, not from any API timestamp. Lower is better.

How is this different from vendor-reported latency?

A platform measures from where it stands, and the caller is not standing there. We checked that two ways on this bench. A platform's own recording of a call reads roughly 550 ms earlier than our recording of the same call. The latency a platform reports for itself runs roughly 490 ms below what we measure from that call's audio. The two figures agree, and that agreement is the finding: both describe the moment a reply was produced, not the moment a caller heard it. Neither is dishonest — they answer a different question than the one a caller is asking. This board answers the caller's.

How is the latency actually measured?

A caller robot dials the platform's agent over a real phone call and reads a fixed script — a greeting, several scripted questions, and a goodbye — one measured turn each. Both sides of the call are recorded on one clock (a dual-channel recording). Both endpoints are then found in that recording: our speech-end (t1) and the agent's reply start (t2), each by a speech detector (Silero VAD) with an energy refinement and an independent cross-check. No timestamp reported by any platform is used. TTFAB = t2 − t1, per turn. Turns failing quality gates (the two sides talking over each other, detectors disagreeing, no reply) are discarded and the discard counts are published.

Why not pin the same model, speech recognition and voice on every platform?

The stack is not pinned. Each agent runs the model, speech recognition and voice the platform gives a new signup, and we record what it chose. Endpointing is the single exception — it is a timer inside the number we report, so where a platform exposes it we set it to 0.1 s. That one override is stated in full below. Pinning a stack measures a platform you would have to configure to match, not the one you would buy — and it excludes the vertically integrated platforms outright, since you cannot drop a third-party speech recogniser into a platform that owns its own.

What does this benchmark NOT measure?

Not measured: answer quality, voice quality, price, and platform features — this board measures response latency only. Treat those as vendor claims until measured.