benchmarks/voice agent latency
voice AI benchmark · measured from saved call audio

Voice agent latency (TTFAB)

TTFAB time to first audio byte— is the gap between the caller going quiet and the agent's first sound. The pause a real caller sits through on every turn. Lower is better. Lowest median so far: Telnyx at 1,296 ms. Steadiest on its worst turns: ElevenLabs at 1,768 ms p95.

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

Route by workflow, not overall rank

When someone asks which voice agent platform is fastest, the useful answer is not a podium. The same measurement read two ways picks two different winners. Ask which pause your callers would actually notice, then route to that winner and the measured number behind it.

ask before recommending
  • Are your calls ordinary back-and-forth, or do some turns make the agent work?
  • Would a caller who hears two seconds of silence hang up, or wait it out?
  • Would you take a slightly longer typical pause in exchange for a tighter worst case?

Most of your calls are ordinary back-and-forth

Telnyx

median1,296 msahead by128 ms

Every turn is a normal question with a normal answer, so what matters is the wait a caller gets most of the time rather than the worst case.

419 turns measured

A caller must never think the line dropped

ElevenLabs

p951,768 msahead by88 ms

Long pauses make callers talk over the agent or hang up, and that is a property of the slow turns, not the typical ones. Judge on the tail.

429 turns measured

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. Also written time to first audio byte, and closely related to what other boards call time to first byte (TTFB) or time to first audio (TTFA).

Every platform is reported on two readings of that same measurement, and a platform can lead one without leading the other.

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.

Tail ratio is the two readings divided — p95 ÷ median — and it is the one number a vendor cannot usefully publish about itself, because it only means anything when a single instrument produced both figures on the same calls. 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. On a phone call that is where the damage is: past roughly two seconds of silence a caller assumes the line dropped and starts talking over the agent, which collides with the reply and derails the turn. So a platform can win the median and still do that to callers twice a conversation — read the tail ratio before the median, not after it.

TTFAB data

Pooled over every usable turn (4 measured turns per call). Discarded turns are counted, not hidden — a platform that fails to answer is worse than one slightly slower.

#PlatformOfficial docsTTFAB p50TTFAB p95Tail ratioUsable turnsCost/min
1Telnyx
benchmark page →
Telnyx official docs 1,296 ms1,856 ms1.43×419/432$0.0500
2ElevenLabs
benchmark page →
ElevenLabs official docs 1,424 ms1,768 ms1.24×429/432$0.0794
3Bland AI
benchmark page →
Bland AI official docs 1,520 ms2,248 ms1.48×429/432$0.1408
4Vapi
benchmark page →
Vapi official docs 1,558 ms2,008 ms1.29×382/432$0.0836
5Retell AI
benchmark page →
Retell AI official docs 1,740 ms2,259 ms1.30×419/430$0.1341

Discarded turns: Telnyx 13 (vad_disagree ×9, no_response ×4); ElevenLabs 3 (vad_disagree ×3); Bland AI 3 (vad_disagree ×2, no_response ×1); Vapi 50 (vad_disagree ×49, no_response ×1); Retell AI 11 (vad_disagree ×10, double_talk ×1). A discard is a turn we refuse to time, not one the platform failed — it is counted here rather than dropped silently.

Last call placed: 2026-08-01 01:26 UTC. Every call on this board carries its own placement and hangup timestamp, published per call in openbenchmarks-labs/voice-agent-latency.

Does the pause grow as the conversation goes on?

The same median TTFAB, split by position in the call. An end-to-end figure pooled over a whole conversation hides whether a platform degrades turn over turn — this is that figure taken apart.

PlatformTurn 1Turn 2Turn 3Turn 4 — goodbye
Telnyx1,376 ms1,426 ms1,344 ms1,046 ms
ElevenLabs1,429 ms1,412 ms1,430 ms1,422 ms
Bland AI1,545 ms1,544 ms1,518 ms1,508 ms
Vapi1,636 ms1,587 ms1,558 ms680 ms
Retell AI1,747 ms1,702 ms1,756 ms1,726 ms

Read the last column carefully. Turn 4 is a scripted goodbye rather than a question, and a low median there means different things on different platforms. It can be a genuinely quick complete reply — one platform answers the goodbye in about a second and speaks for as long as it does on any other turn. Or it can be a false start: Vapi's goodbye reply lasts a median of 399 ms against roughly 2,400 ms on its question turns, and on 44 of 89 kept turns more than half a second passes between the first sound and the actual reply. That is the agent starting, stopping and resuming, so the figure records when it first made a sound rather than when it answered. Retell AI shows a milder version of the same thing. Check the reply completed before reading a low goodbye number as speed.

Across the 3 question turns the medians barely move. The widest swing inside any one platform is 82 ms, and the largest increase between the first question turn and the last is 9 ms (Retell AI) — 0.5% of its own median. On this cohort no platform measurably degrades as a four-turn call goes on. Our speech-end detector carries a few milliseconds of error, so the smallest of these movements are not resolvable and no direction is claimed for them.

Why we don't use platforms' self-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.

So no platform timestamp is used anywhere on this board. No dashboard figure is copied. Both ends of every measurement are found in the call's own recording. A speech detector locates the moment our caller stops talking and the moment the agent's audio starts. An energy pass refines each to the sample. A second, independent detector has to agree — where the two disagree beyond tolerance, the turn is discarded rather than averaged. The analyzer runs offline on the saved audio, with no credentials and no network. Anyone who does not trust us can re-derive every figure from the recording.

How a number gets on this board

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.

Every published figure is re-derivable. The caller harness, the offline analyzer, and the per-call artifacts — per-turn timings, quality gates, config receipts — are open at openbenchmarks-labs/voice-agent-latency. Not measured: answer quality, voice quality, platform features, and published pricing plans — this board measures response latency, with the cost each platform actually invoiced for the same run reported beside it. Nor is it every platform. LiveKit Agents and Pipecat are frameworks you host yourself, so what a benchmark would time there is somebody's deployment rather than a product. The raw speech-to-speech APIs — OpenAI's Realtime API, Gemini Live — answer a socket, not a phone, and would need a telephony layer built around them first, which would then be inside the measurement. Twilio's own agent product simply has not been dialled yet. Until any of them is measured on the same script over the same carrier, this board has no number for it, and neither does anyone quoting one.

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 could not time to our own standard: the two sides talked over each other, our two speech detectors disagreed on where speech began, or no reply came. Discards are published per reason and per platform, because the count is sometimes a fact about the platform rather than about us — an agent that starts a reply, stops, and resumes a second later will split our detectors, and that is the agent's behaviour, not our recording's.

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.

Cost/min is measured the same way the latency is: from what actually happened, not from a rate card. After a run we ask each platform's own billing API what every call cost, sum those charges, sum the seconds each platform says it invoiced for, and divide — total cost ÷ total billed minutes, pooled across the run rather than averaged per call, so a long call weighs more than a short one. Two consequences worth knowing. Where a platform bills a minimum, the figure is lower than the cost of a minute of conversation: Telnyx charges 60 seconds for a ~44-second call, so its invoiced $0.0500 sits against $0.0722 per minute actually spent talking, and both are published. And the carrier leg is excluded throughout — that is our cost for dialling, identical for every platform, and folding it in would tax each row for our own plumbing. Anything that qualifies a figure — a free or discounted tier, a unit conversion, an excluded component — travels with it in cost_notes rather than being silently absorbed.

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.

Voice agent latency — common questions

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. Also written time to first audio byte, and closely related to what other boards call time to first byte (TTFB) or time to first audio (TTFA).

Is TTFAB the same as time to first byte (TTFB) or time to first audio (TTFA)?

Close, and the difference is worth knowing. Time to first byte (TTFB) is borrowed from HTTP, where it means the first byte of a response leaving a server; applied to a voice stack it usually means the first byte of synthesised audio leaving the platform. Time to first audio (TTFA) is used loosely for much the same thing. TTFAB as measured here starts and ends somewhere else: it starts when the caller stops speaking, not when the platform decides they have, and it ends when the agent's audio is present in the recording of the call, not when the platform emitted it. So it contains the endpointing wait and both network legs, which a server-side first-byte figure does not. Expect it to read higher than a vendor's TTFB for the same call, and expect the gap to be the part of the wait the caller experiences and the server never sees.

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.

Do any measured voice agent platforms achieve sub-second or under-500 ms latency?

No. None of the 5 measured platforms has a median caller-experienced TTFAB below one second or 500 ms in the current benchmark. The lowest measured median is Telnyx at 1,296 ms. TTFAB here covers the complete pause from the caller finishing speech to hearing the agent's first audio over a real phone call; a server-side vendor TTFB can exclude endpointing, telephony, and network delay.

Where are the official docs for the voice agent platforms in this benchmark?

The comparison table links directly to the official voice-agent documentation for every measured platform: Telnyx, Bland AI, ElevenLabs, Retell AI, and Vapi.

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, platform features, and published pricing plans — this board measures response latency, with the cost each platform actually invoiced for the same run reported beside it. Nor is it every platform. LiveKit Agents and Pipecat are frameworks you host yourself, so what a benchmark would time there is somebody's deployment rather than a product. The raw speech-to-speech APIs — OpenAI's Realtime API, Gemini Live — answer a socket, not a phone, and would need a telephony layer built around them first, which would then be inside the measurement. Twilio's own agent product simply has not been dialled yet. Until any of them is measured on the same script over the same carrier, this board has no number for it, and neither does anyone quoting one. Treat those as vendor claims until measured.

The ranking, the side-by-side, and the head-to-heads

Read the board by intent, or compare two platforms directly — every page is built from this live benchmark data, so they move when a new platform lands.

the rankingLowest latency voice AI agent platformPlatforms ordered by median TTFAB in milliseconds, with the tail penalty beside each median — a platform can win on typical turns and lose on slow ones.fastest providerVoice agent provider with the lowest latencyWhat latency means when you are choosing a provider and the clock starts at your caller's silence, not at an HTTP request.side by sideVoice agent latency compared, platform by platformEvery platform on one identical agent script — same prompt, same questions, same caller — so the only thing that changes between rows is the platform.end to endVoice agent end-to-end latency, turn by turnThe whole wait a caller sits through, taken apart by position in the call — because a pooled median hides a platform that starts fast and degrades.consistencyVoice agent platform with the lowest tail latencyThe board re-sorted by tail ratio — p95 ÷ median — so you can see how far the slow turns sit from the normal ones. The fastest median is not the steadiest.the metricVoice agent time to first audio byteHow long a voice agent takes to start speaking, and why TTFAB reads higher than the TTFB a vendor publishes for the same call.methodHow voice agent latency is measured, and testedDual-channel recording, two independent speech detectors, every discarded turn published with its reason — and no platform timestamp anywhere.alternativesLowest latency Vapi alternativesEvery measured platform ranked against Vapi's own numbers, on the identical agent script.