Every voice vendor publishes a latency number and almost none of them measure the same thing. One is model inference with the network explicitly subtracted. One is the gap between a word ending in the audio and that word showing up in a partial transcript. One is time to the first audio byte. One is a whole-turn figure from a platform's own dashboard, which starts and stops inside that platform's stack. Stack them and you get a total that corresponds to nothing a caller would experience.

This page is a compilation, not a measurement. Every figure below comes from a published, linkable source, and each row states what that source was actually measuring and when it was published. I have no vendor credentials for most of this list and did not run a single timing test for it. The second half is the part you can act on: a method for producing your own end-to-end number, and the controls that make it comparable between two stacks.

The short version: no vendor publishes a per-language latency figure, nobody publishes an end-to-end number derived from call recordings, and the two widely used independent evaluations of speech models measure accuracy and throughput rather than latency. The numbers below are real and useful. They are not comparable to each other.

The four things called "latency"

Before the tables, the vocabulary. These are distinct measurements and the naming across vendors is inconsistent enough that you have to read the definition every time.

Transcript lag (STT). How far behind the transcription is from the audio being sent. Deepgram's documentation defines it exactly that way and gives the arithmetic: subtract the transcript cursor from the audio cursor, where the transcript cursor is the amount of audio processed so far according to interim results. It is a measure of a stream falling behind, not of a response arriving.

Word emission latency (STT). AssemblyAI's definition, quoted from their Universal-Streaming announcement: "for each correctly transcribed word, measure the time from when the word ends in the audio stream to when that same word first appears in the partial transcript received by the client." Per-word, client-side, and measured on a stream that is already flowing.

End-of-turn detection delay. The time from a caller stopping speaking to the system deciding the turn is over. Deepgram's docs call this EOT latency and put the expected range at 100 to 500 ms. LiveKit calls it end_of_utterance_delay and defines it as time from the end of speech as detected by VAD to the point when the user's turn is considered complete. This is the stage where most of the perceived delay in a slow agent actually lives, and it is the stage vendors are least likely to include in a headline figure.

Time to first audio (TTS), and voice-to-voice. For a TTS model, the elapsed time from the request to the first playable audio. For a whole agent, the elapsed time from the caller's last syllable to the first syllable of the reply. Only the second one describes what a caller experiences, and no vendor in this compilation publishes it as a measured distribution.

LiveKit publishes the cleanest decomposition of the three machine stages, as a formula in its agent metrics documentation: total_latency = eou.end_of_utterance_delay + llm.ttft + tts.ttfb, where TTFT is the time for the LLM to generate the first token of the completion and TTFB is the time for the TTS model to generate the first byte of its audio output. Worth noting what that sum leaves out: network transit, the telephony leg, jitter buffering and the audio player's own buffer. It is a diagnostic breakdown, not an end-to-end number.

Speech-to-text

Model Published figure What it measures Source and date
Deepgram Nova-3 (streaming) 300 ms or less Transcript lag: how far the transcript trails the audio being sent. EOT detection listed separately at 100–500 ms Deepgram docs, no date shown on page
Deepgram Flux p90 1 s, p95 1.5 s for end-of-turn; claims a 200–600 ms reduction vs STT+VAD Median audio time elapsed after the user has finished speaking, for a successful end-of-turn detection Deepgram announcement, October 2025
AssemblyAI Universal-Streaming ~300 ms median (307 ms vs Deepgram Nova-3 at 516 ms); p99 1,012 ms vs 1,907 ms Per-word emission latency, client-side, as defined above. Vendor-run comparison against a named competitor AssemblyAI blog, 2 June 2025
Sarvam Saaras v3 Sub-150 ms response initiation in Fast mode Time to first token. 23 languages (22 Indian plus English); figure is not broken out per language Sarvam blog, 10 February 2026
OpenAI (whisper-1, gpt-4o-transcribe) No published figure Docs state that gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize support streaming and that whisper-1 does not. No timing data OpenAI API docs
Google Cloud STT (Chirp 3) No published figure Streaming recognition is documented, language coverage is documented, latency is not quantified anywhere on the model page Google Cloud docs
Bhashini (MeitY) No published figure The API documentation lists ASR service IDs across 22 scheduled languages plus regional variants. No timing data of any kind Bhashini API docs

Two of these deserve a caveat in bold type. The AssemblyAI figures are a vendor benchmarking a named competitor, which is exactly the situation where you read the method before the number. To their credit the method is stated precisely, which is more than most such comparisons offer. And the Deepgram Flux numbers describe a different quantity from the Nova-3 numbers on the row above: Flux merges transcription and turn detection into one model, so its p90 and p95 cover the decision that a turn has ended, not the lag of a transcript stream.

Text-to-speech

Model Published figure What it measures Source and date
ElevenLabs Flash v2.5 ~75 ms Model inference for short inputs. The docs carry an explicit footnote: "Excluding application & network latency" ElevenLabs models page
ElevenLabs v3 Conversational ~280 ms Same basis: model inference, network excluded ElevenLabs models page
ElevenLabs, the rest of the path Network round trip 20–200 ms; server processing single-digit ms; 500 ms player buffer described as common The vendor's own accounting of what sits between model inference and a caller hearing audio ElevenLabs latency docs
Cartesia Sonic 3.5 Sub-90 ms Time to first audio; the docs describe it as streaming the first byte of audio in about 90 ms Cartesia docs
Sarvam Bulbul v3 No published figure The launch post describes a low-latency streaming output mode without quantifying it. 11 languages, 10 Indian plus English Sarvam blog, 5 February 2026
Google Cloud TTS (Chirp 3: HD) No published figure Bidirectional streaming synthesis is documented. No latency figure on the page. Hindi (hi-IN) is listed in the language table Google Cloud docs
OpenAI Speech API No published figure Streaming audio output via chunked transfer encoding is documented. No timing data. Hindi appears in the supported-language list OpenAI API docs

The ElevenLabs rows are the most honest set of numbers in this entire compilation, and worth reading together rather than separately. A 75 ms model with a 20 to 200 ms network round trip and a 500 ms player buffer in front of it does not deliver audio to a caller in 75 ms. The vendor says so on its own documentation page. Anyone quoting the 75 ms as an agent's response time is quoting a number the vendor did not make that claim about.

Full-stack platforms

Platform Published figure What it measures Source and date
Vapi "Typically around 800 milliseconds" End-to-end voice processing. No percentile given, no sample size, no measurement point specified Vapi FAQ
Vapi (engineering blog) 1,200 ms named as the point where conversational flow breaks; claims over 1,000 ms shaved off p95 Latency to response, defined as the duration between a user's end of statement and the agent's start of statement. No before/after p95 values published Vapi blog, 14 July 2025
Retell AI 620 ms average end-to-end; 180 ms TTFT; 140 ms barge-in. Competitors: Dialogflow CX 920 ms, Twilio Voice 1,040 ms, PolyAI 780 ms Voice-to-voice latency from standardised FAQ dialogs, captured via WebSocket timestamps. Averages, not percentiles. Sample size not disclosed Retell resources, 13 July 2025
ElevenLabs Agents No published figure The platform overview quantifies voices and languages, not response time ElevenLabs docs
LiveKit Agents No figure, by choice Publishes the decomposition instead. The latency guide states that specific recommendations would go out of date quickly and are therefore not provided LiveKit metrics docs and LiveKit blog, 13 April 2026

Retell's table is the only published head-to-head of full-stack platforms I could find from a primary source, and it is a vendor scoring itself against three competitors with no disclosed sample size and no percentiles. That does not make the numbers wrong. It makes them a starting hypothesis rather than evidence. If you are choosing between platforms on latency, this table is the thing you should be replicating, not citing.

LiveKit's refusal is the more useful position for a reader. Publishing a formula that stays true while publishing no numbers that will rot is a defensible call, and the formula is the one I use when a pipeline is slow and I need to know which stage to blame.

The language axis

This is the shortest section in the compilation, because the answer is nearly uniform: no vendor in this list publishes a latency figure broken out by language.

Vendor Hindi / Indic language support Indic-specific latency figure
Sarvam (Saaras v3, Bulbul v3) 22 Indian languages plus English for STT; 10 Indian plus English for TTS Closest thing that exists: the sub-150 ms Fast-mode figure comes from an Indic-first system, but is not per language
Deepgram Hindi listed in Nova-3's multilingual set None. The 300 ms figure is not language-qualified
ElevenLabs Hindi in the Flash v2.5 language list None. The 75 ms figure is not language-qualified
OpenAI Hindi, Tamil, Kannada, Marathi, Nepali, Urdu in the Speech API language list None, for any language
Google Cloud hi-IN documented for Chirp 3: HD voices None, for any language
AssemblyAI 99+ languages claimed None. The streaming benchmark is not presented as multilingual
Cartesia Not stated on the overview page beyond voice cloning into 40+ languages None
Bhashini 22 scheduled languages plus Bhojpuri, Chhattisgarhi, Haryanvi, Bhili and others None. No timing data published at all
Vapi, Retell, ElevenLabs Agents, LiveKit Inherit whatever their configured STT and TTS support None

Why this matters more than it looks: language changes the work at almost every stage. Code-mixed Hindi-English speech is harder to segment, which moves end-of-turn detection. Devanagari text expands differently from Latin text for the same spoken content, which moves TTS first-byte time. A model serving 23 languages from one endpoint has different routing behaviour from a model serving one. None of that is captured by a single number published once, in English, in a launch post.

If you are building for Indian callers, the practical consequence is that nothing in the published record substitutes for measuring your own language mix. That is doubly true for anything touching Indian government service delivery, where the language list runs well past the ones any commercial vendor benchmarks and where Indic-language public service agents have to work in languages that have never appeared in a vendor latency chart.

What the independent evaluations measure, and what they don't

There are two widely used independent evaluations of speech models. Neither measures latency.

Artificial Analysis reports, for speech-to-text, a word error rate and a "Speed Factor" defined as input audio seconds transcribed per second, measured as a median across trials on ten-minute audio files. For text-to-speech it reports a quality Elo from its Speech Arena, price, and throughput in characters per second of generation time. Throughput on a ten-minute file and time-to-first-token on a live stream are different quantities, and only the second one predicts whether a conversation feels responsive.

That is the state of it. Every latency figure in circulation is a vendor figure. There is no neutral, reproducible, published end-to-end benchmark of voice agents that I was able to verify from a primary source, which is a strange gap in a category this large.

How to measure it yourself

What follows is a method, not a result. It is what I would hand to someone comparing two stacks who needs an answer they can defend.

Measure voice-to-voice, from the recording

The only number that describes a caller's experience is the elapsed time from the caller's last syllable to the first audible syllable of the reply, measured at the caller's end. Get it from the recorded audio, not from a platform dashboard. Platform timestamps start and stop inside the platform, which means they systematically exclude the telephony leg, the jitter buffer and the player buffer. Those are not rounding errors; ElevenLabs' own documentation describes a 500 ms player buffer as common.

Detect the speech boundaries with a voice activity detector run over the recording, then refine with an energy threshold and eyeball a random sample to confirm the detector is finding what you think it is. A VAD that clips trailing breath or counts line noise as speech will shift every number in the same direction, and you will not notice from the aggregate.

Control these, or the comparison means nothing

Sample size and what to report

Collect enough turns that p95 stops moving when you add more, which in practice means several hundred, spread across times of day. Then report p50 and p95 together with n, and never the mean. Latency distributions have a long tail, the mean hides it, and the tail is the part callers remember, because a caller does not average their turns.

Alongside the end-to-end figure, log the decomposition from LiveKit's formula if your stack exposes it: end-of-utterance delay, LLM time-to-first-token, TTS time-to-first-byte. The sum will be lower than your measured end-to-end. The difference is your network, telephony and buffering, and knowing its size tells you whether swapping a model is worth doing at all.

One reference point that does not apply

Telephony has a long-standing standard for delay, ITU-T Recommendation G.114, on one-way transmission time. It is worth knowing it exists and worth knowing it does not answer this question: it governs transmission delay on a call path, not the time an agent takes to decide a turn has ended and start speaking. There is no equivalent standard for conversational turn latency, which is a large part of why every vendor gets to define the term for themselves.

What I take from the compilation

Three things. Vendor latency figures are mostly honest and mostly useless for comparison, because each one measures the stage its publisher controls. The stage that dominates perceived delay, end-of-turn detection, is the one least often included in a headline number. And for Indic languages, the published record is close to empty, so anyone building for Indian callers is measuring for themselves or guessing.

For the cost side of the same decision, the pricing breakdown across the three commercial models covers what these stacks bill for and where the per-minute rates land. And if you want the operational view rather than the timing one, how voice agents actually handle support calls goes through the stages above from the caller's side. I build on several of these stacks in production through Voxdonna, which is how I came to care about the difference between a 75 ms number and a 900 ms call.

Frequently Asked Questions

What is a good latency for an AI voice agent?

There is no published standard. Vapi's own documentation describes roughly 800 ms end-to-end as typical, and Vapi's engineering blog treats 1,200 ms as the point where conversational flow breaks down. Both are vendor statements, not independent measurements, and neither is expressed as a percentile. Set your own target by measuring your own stack at p50 and p95 and deciding what your callers tolerate.

Why can't I compare vendor latency numbers directly?

Because they measure different things. ElevenLabs' 75 ms is model inference with application and network time explicitly excluded. Cartesia's sub-90 ms is time to the first audio byte. AssemblyAI's 300 ms is the gap between a word ending in the audio and that word appearing in a partial transcript. Deepgram's 300 ms is how far the transcript lags the audio being sent. Adding them together does not produce an end-to-end number.

Do any vendors publish latency figures for Hindi or other Indic languages?

No vendor publishes a per-language latency figure. Sarvam is the only one whose published number comes from a system built Indic-first: sub-150 ms response initiation in Fast mode for Saaras v3, across 23 languages. Deepgram, ElevenLabs and OpenAI list Hindi among supported languages but their latency claims are not language-specific, and Bhashini publishes a model and language catalogue with no timing data at all.

How many calls do I need to measure voice agent latency properly?

Enough turns for p95 to stop moving when you add more. In practice that means several hundred turns, collected across different times of day and from the network path your callers actually use. Report the sample size alongside p50 and p95. A mean over twenty turns tells you nothing, because latency distributions have a long tail and the tail is what callers remember.

Should I measure latency from platform dashboards or from call recordings?

From recordings. A platform's own timestamps start and stop inside its stack, so they exclude the telephony leg, the jitter buffer and the audio player buffer, all of which sit between the agent and the caller's ear. Detect speech boundaries in the recorded audio and measure from the caller's last syllable to the first syllable of the reply.

Suyash Raj
Suyash Raj Founder, Voxdonna AI and AiSewak. Writes here about n8n, AI agents, and voice automation.