Best Speech-to-Text for Voice Agents (2026): Measured on Production Audio

Six streaming STT models, five production conditions, 1,800 streamed transcriptions. Qwen3-ASR and Smallest Pulse tie at 9.9% average WER; the model claiming the #1 streaming word error rate lands fourth. Measured, not marketed.

There is no single best speech-to-text for voice agents. On production audio, Alibaba’s Qwen3-ASR and Smallest AI’s Pulse tie for the most accurate streamed finals at 9.9% average word error rate; Pulse is the fastest, at ~64 ms to the first partial and ~180 ms to the final; Qwen3-ASR wins domain vocabulary, at 8.2% WER on medical terms. Measured July 2026, on 1,800 streamed transcriptions.

Every list of “best speech-to-text APIs” you have read this year was ranked on clean, read speech - audiobook audio in a quiet room, usually scored on a batch re-transcription no live agent would ever run. A real call is band-limited down a phone line, there is a fan running, the caller has an accent and says “um,” and the words are “metoprolol” and “confirmation code four-two-nine.”

So we ranked the other way. In July 2026 we fed six streaming STT models the same clips through the same gateway across five conditions built to look like production - accented speech, telephone audio, background noise, medical vocabulary, and spontaneous speech - and scored word error rate on the streamed final: the exact text a live agent consumes as the caller talks. Sixty clips per condition, 1,800 streamed transcriptions, one WER normalizer, one machine. As far as we know, it is the only published streamed-finals measurement under production conditions. Here is what it says, including the parts that are inconvenient for the vendors with the loudest launch posts.

Best overall on production audio: Qwen3-ASR and Smallest Pulse (tied, 9.9% WER)

The two models in front are not the ones you see at the top of the usual listicles. Alibaba’s Qwen3-ASR and Smallest AI’s Pulse tied at 9.9% average WER across all five conditions (measured 2026-07-11). One is a general multilingual model; the other is a small, cheap streaming-first model. Neither had the loudest launch.

They win differently, and the difference is how you should choose between them:

  • Qwen3-ASR wins on content. Best accented score in the field (6.7%), best medical vocabulary (8.2%), and on clean read English it posts 2.8% on our FLEURS board. If your calls carry hard vocabulary - drug names, part numbers, legal terms - this is the accuracy ceiling right now. The catch is latency: its DashScope endpoint is Asia-hosted, so a US-based agent pays a round-trip it cannot shed (710 ms p50 end-of-turn from us-east4).
  • Smallest Pulse wins on the hardest condition and on the clock. It has the flattest curve where every other model falls apart - 15.3% on spontaneous speech, the best in the test - and it is the fastest streaming model we have measured on both latency clocks (more below).

Treat the tie as a real tie: at sixty clips per condition, a point of WER is noise. The honest read is that these two are the production-audio front of the field, and you pick between them on latency, hosting region, and vocabulary - not on the decimal.

Best latency: Smallest Pulse (64 ms first partial, ~180 ms final)

A caller never experiences your STT’s accuracy directly - they experience its latency. When we evaluate STT for live agents we watch two clocks, and Pulse is the rare model that is excellent on both (measured 2026-07-06, FLEURS, via the Speko gateway):

  • ~64 ms to the first partial token. The transcript is scrolling while the caller is still mid-sentence, so a downstream LLM can start reasoning the moment the turn is recognizable.
  • ~180 ms from the caller stopping to the committed final (183 ms p50 on our board, flushed at end-of-speech) - not the one-to-three seconds you get when an STT waits out its own silence timer.

It holds 5.1% WER on clean English (FLEURS, n=50) while doing this, and part of that number is not mishearing at all - Pulse writes numbers out as words (“eight hundred” instead of “800”), which the digit-style references count as errors. Combined with the 9.9% production-mix result above, it is the strongest speed-for-accuracy trade in the field for real-time phone work.

Best for medical and domain vocabulary: Qwen3-ASR (8.2% WER)

Here is the finding that should change how you shop: content, not channel, is what separates streaming STT models. Telephone-band audio and background noise - the conditions everyone worries about - barely moved the needle. Medical vocabulary blew the field apart: from Qwen3-ASR’s 8.2% at the top to Soniox’s 19.1% at the bottom, a 2.3x spread on the exact words a healthcare or pharmacy agent cannot afford to fumble (MultiMed clips, measured 2026-07-11).

A useful second read: Deepgram Nova-3 posted 11.4% on medical - its best condition relative to the field, ahead of Cartesia Ink-2 (13.3%) and ElevenLabs Scribe v2 (12.4%). If your agent’s failure mode is a wrong drug name rather than a fumbled “um,” rank by this column, not the average. And note WER’s blind spot cuts the other way too: it counts a missed “um” and a wrong drug name as the same error, even though only one of them breaks a call.

The honest-vendor callout: Cartesia Ink-2 (13.1% avg, fourth place)

Cartesia’s Ink-2 shipped claiming the #1 streaming word error rate. On our five-condition production mix it lands fourth, at 13.1% average WER (10.0% accented, 22.1% spontaneous).

That deserves a fair framing, because Cartesia earned it. Ink-2 is a genuinely strong model, and their launch post is refreshingly honest that clean benchmarks mislead - they test on accented call-center audio precisely because it is harder. We simply tested a wider slice of production. “Best on fourteen English accents” and “best on the full mess a phone agent hears” turn out to be different sentences, and the model that wins depends entirely on which one you are asking. Ink-2’s numbers back the claim it actually made; they do not back the claim the headline implies. On latency it is respectable: 575 ms p50 end-of-turn through the gateway, and it is among the cheapest streaming options at Cartesia’s published $0.0022/min.

What to know about Deepgram Nova-3

Deepgram Nova-3 is the default answer in most voice-agent stacks, so here is its full ledger from our measurements. On the production mix it averaged 13.5% WER - fifth of six - but with the flattest acoustic profile in the test: 12.5% accented, 12.0% telephony, 12.9% noisy. It is essentially indifferent to the phone line, and it even ticked slightly down on telephone audio. On our clean-read board it posts 9.8% WER with a 368 ms p50 end-of-turn, the fastest native (unflushed) turn-finalization we have measured, at a published $0.0048/min.

Two caveats in its favor. First, Nova-3 is a streaming-first model and whole-clip batch scoring truncates it, so the clean-read number is a lower bound on field accuracy. Second, we initially measured it much worse - it returned a full sentence as “Than euthanasia” - and the bug was ours, not Deepgram’s: Nova-3 commits sentences with an empty final marker our aggregator was discarding. We called the API directly, confirmed the model was fine, fixed our gateway, and re-ran everything. Every number here is the corrected one. The verdict: a fast, phone-hardened workhorse that trails the leaders on raw production accuracy but never surprises you acoustically.

The spontaneous-speech warning: everything doubles

The single most important row in the data is the one no vendor benchmark shows you. On spontaneous speech - real humans talking over themselves, restarting sentences, trailing off - every model’s WER roughly doubles and the ranking reshuffles (People’s Speech clips, measured 2026-07-11). Qwen3-ASR, the vocabulary winner, jumps from 6.7% accented to 19.1% spontaneous. The field runs 15.3% to 22.1%.

The models that win on clean audio are not the ones that hold up when a real human is talking. Smallest Pulse’s 15.3% - the flattest curve on the hardest condition - is a bigger deal than its headline tie, because spontaneous speech is what your agent hears on every single call. If a benchmark was run on read speech, mentally double it before you budget your agent’s comprehension around it.

The full table: five conditions, six models

Streamed-final WER, percent, lower is better. Measured 2026-07-11 through one gateway, 60 clips per condition per model.

ModelAccentedTelephonyNoisyMedicalSpontaneousAverage
Alibaba Qwen3-ASR6.77.87.38.219.19.9
Smallest Pulse7.08.48.410.615.39.9
ElevenLabs Scribe v29.410.610.212.421.912.9
Cartesia Ink-210.010.29.713.322.113.1
Deepgram Nova-312.512.012.911.418.713.5
Soniox stt-rt-v514.715.716.619.120.017.2

Read the columns, not just the last one. Telephony and noise are nearly free - the spread between accented and telephony is about a point for most models, and the telephony and noisy clips are the same audio as the accented set, degraded, so those deltas are pure condition. Medical spreads the field 8.2% to 19.1%. Spontaneous doubles everyone. And per our own caveat: sixty clips ranks the field but will not split two models a point apart - treat about 1 point of WER as noise.

The two clocks: first partial vs. final (and the silence-timer trap)

Accuracy tables hide the number a caller actually feels. For a live agent, STT latency is two different clocks:

  1. Time to first partial - how soon text starts arriving while the caller is still speaking. This is the head start your LLM gets.
  2. End-of-turn - the time from the caller stopping to the committed final transcript. This is the dead air before your agent can even begin to reply, and it sits in front of every LLM and TTS millisecond you have optimized.

The trap is in clock two. Most streaming STTs decide a turn is over by waiting out their own silence timer - typically one to three seconds of nothing before they commit the final. That is why demos with fast models still feel laggy on real calls. Our gateway forces the final at end-of-speech for flush-capable providers instead of waiting the vendor timer, and the spread is dramatic (p50 from us-east4, real-time-paced English): Smallest Pulse finalizes in 183 ms flushed; Deepgram Nova-3 and Nova-2 sit at 368-387 ms natively; Cartesia Ink-2 at 575 ms; Qwen3-ASR at 710 ms (carrying its Asia round-trip); Google Chirp 3 at 995 ms; and ElevenLabs Scribe v2 at 1,750 ms on its patient default VAD - tunable, not a floor, but the out-of-the-box experience.

One more field note: several fast models - Soniox (269 ms, but only 11 of 20 clips finalized natively) and OpenAI’s Realtime STT endpoints among them - do not reliably finalize from silence alone, so their speed is only real with a flush path in front of them. When someone quotes you a single “latency” number for an STT, ask which clock, and ask who decides the turn is over.

Test on your own audio

The takeaway is not “use model X.” It is that there is no single #1 - only a #1 for your callers, your vocabulary, your phone lines. The only way to know is to measure on that distribution, not on read speech in a quiet room.

Every number here is on the live, sortable board at benchmarks.speko.ai/streaming-stt, re-measured as models update, with the full methodology and per-model caveats attached. For how STT fits into the rest of the stack - turn-taking, LLM, TTS, and where the latency budget actually goes - see the pillar guide at speko.ai/blog/how-to-choose-voice-ai-stack. Every model in this post is routable in the Speko gateway, so you can A/B two of them on your own production audio with a one-line config change instead of a re-integration.

FAQ

What is the most accurate speech-to-text API?

On production audio, Alibaba’s Qwen3-ASR and Smallest AI’s Pulse, tied at 9.9% average word error rate across accents, telephony, noise, medical vocabulary, and spontaneous speech (six-model streamed-finals test, July 2026). On clean read English the ranking flips: OpenAI’s GPT-4o Transcribe leads our board at 2.3% WER, with Qwen3-ASR at 2.8% - but clean-read accuracy is near-solved and does not predict live-call performance.

Which speech-to-text is best for phone calls?

Smallest Pulse, if latency matters as much as accuracy: 9.9% average WER on production conditions, the best spontaneous-speech score (15.3%), ~64 ms to the first partial and ~180 ms to the committed final. Qwen3-ASR matches its accuracy and beats it on vocabulary but is Asia-hosted (710 ms end-of-turn from the US). Deepgram Nova-3 is the fast, phone-hardened workhorse: 368 ms native end-of-turn and essentially flat across telephony and noise, at 13.5% average WER.

Does background noise ruin speech-to-text accuracy?

Much less than you would expect. In our five-condition test (July 2026), telephone-band audio and background noise stayed within about a point of the accented baseline for almost every model - Cartesia and Deepgram were essentially flat, and Deepgram even improved slightly on the phone. What actually degrades STT is content: medical vocabulary spread the field from 8.2% to 19.1% WER, and spontaneous speech roughly doubled every model’s error rate.

What STT latency do voice agents need?

Watch two clocks. First partial under ~100 ms lets the LLM start reasoning mid-sentence (Pulse: ~64 ms). End-of-turn - caller stops to final transcript - is the dead air before the agent can reply: under ~400 ms feels conversational (Pulse flushed: 183 ms; Nova-3: 368 ms), while the 1-3 second vendor silence timers most STTs default to are what make agents feel slow. The silence timer, not the model, is usually the bottleneck.

Is Cartesia Ink-2 the best streaming STT?

Not on the full production mix. Ink-2 claims the #1 streaming word error rate and is genuinely strong on accented call-center audio - Cartesia’s own testing there is honest and harder than most - but it landed fourth of six at 13.1% average WER in our five-condition streamed-finals test (July 2026), behind Qwen3-ASR and Smallest Pulse at 9.9%. Best on fourteen English accents and best on everything a phone agent hears are different claims.