Hashlogics
Best of

Best Speech-to-Text APIs for Voice Agents

A word error rate measured on studio audio tells you little about a call centre line. A phone agent needs low streaming lag and accuracy on noisy 8kHz audio.

The short answer

Deepgram is the strongest default for phone-based voice agents because it publishes a model built specifically for real-time conversation and offers a phone-call-tuned variant. AssemblyAI is the closest challenger on streaming speed. Whisper API fits recorded audio, not live calls, and Google or Azure suit teams already committed to that cloud.

None of these is disqualifying for every use case. A batch-transcription job and a live phone call have different requirements, and the vendor that wins one loses the other.

We run Deepgram in production for ZhoopZhoop's inbound and outbound call agents, alongside Twilio for telephony and OpenAI for reasoning. That build is what shaped the criteria below.

How this ranking was made

Verified

We ranked on what a phone-based voice agent needs, not what a transcription-only tool needs. Three things mattered most: streaming latency, documented telephony or phone-call support, and whether a real-time API exists at all.

Every capability claim below was read from the vendor's own docs on 14 August 2026 and linked in the entry. We build phone-agent systems and used that experience to pick the criteria, not to replace the vendor's own claims.

Word error rate numbers are absent from this ranking on purpose. Vendors measure WER against different audio sets, most of them cleaner than a real phone call, so the figures are not comparable across vendors. Pricing changes often, so we link each vendor's own page instead of quoting a per-minute rate that goes stale.

Streaming latency
Whether the vendor documents a real-time or streaming API, and how it describes the delay between speech and transcript.
Telephony audio support
A dedicated phone-call model or documented handling of 8kHz audio, versus a general-purpose model applied to it.
Built for voice agents
Whether the vendor positions the model for conversational, turn-based use, or for recorded-file transcription.
Integration effort
SDK maturity and how directly the API plugs into a telephony stack like Twilio.

The five at a glance

Read from each vendor's documentation on 14 August 2026.

ProviderShapeTelephony modelPick it when
DeepgramStreaming-first API, phone-call-tuned variantDocumented phonecall variant on Nova-2The agent runs on a live phone line
AssemblyAIStreaming API, Universal-Streaming modelNot documented as phone-specificYou want fast streaming with a simple SDK
Whisper API (OpenAI)File transcription, plus a separate realtime modelNot phone-tuned; general-purposeYou are transcribing recordings, not live calls
Google Cloud STTStreaming via gRPCAccepts 8kHz audio, no dedicated phone model documentedYou already run infrastructure on Google Cloud
Azure SpeechStreaming SDKTelephony guidance documented, no dedicated model namedYou already run infrastructure on Azure

The ranking

Ordered by how many phone-agent builds each one is the right first choice for.

  1. Streaming model built for conversational voice agents

    Start here for a phone-based agent. Deepgram's docs describe Flux as a speech model built for voice agents to hold a conversation. Turn detection sits inside the model, not bolted on.

    This matters more than raw accuracy on a phone call. An agent that cannot tell a pause from a finished sentence talks over the caller, or leaves a dead silence. Both feel broken no matter how well the words came through.

    Nova-2, its older general model, ships a phonecall variant tuned for that audio. The docs do not name a millisecond figure. They describe Flux as built for low lag in voice agent pipelines.

    Best for

    • Inbound or outbound calls where turn-taking has to feel natural
    • Teams that want a phone-call-tuned model, not a general one applied to phone audio
    • Builds where the agent has to interrupt or be interrupted correctly

    Not for

    • Batch transcription of pre-recorded files with no time pressure
    • Teams wanting a single vendor for STT and TTS in one contract
    Voice-agent model
    Flux, per docs
    Phone-tuned variant
    Nova-2 phonecall
  2. Fast streaming API with a straightforward SDK

    Reach for this when you want streaming transcripts without deep model tuning. AssemblyAI's Universal-Streaming docs target live audio and voice-agent developers directly, with regional endpoints for a faster connection.

    Sessions run for up to three hours before the connection closes, which covers nearly every phone call outside an unusually long support line. Multiple audio formats are supported directly, so raw call audio does not need pre-processing before it reaches the API.

    The public docs do not name a phone-call model the way Deepgram does. That gap does not matter for most agents. A busy call centre should test it against real recorded audio first.

    Best for

    • Teams that want streaming STT with minimal setup
    • Builds already using AssemblyAI for other transcription work
    • Regional deployments that benefit from nearby WebSocket endpoints

    Not for

    • Teams that need a documented phone-call-specific model
    • Calls that regularly run past three hours in one session
    Streaming model
    Universal-Streaming
    Max session length
    3 hours, per docs
  3. Best for recordings; a separate model covers live audio

    OpenAI's transcription line splits into two jobs. gpt-transcribe and the legacy Whisper model handle recorded files up to 25MB, which suits voicemail review, call archiving, or transcribing recordings after the fact.

    For a live phone call, the docs point to a separate model: gpt-live-transcribe. It handles live audio from a mic or a call through its own realtime session. That is a different setup from the file-upload endpoint most teams try first.

    Whisper also supports 98 languages and translation to English, which neither Deepgram nor AssemblyAI documents as directly. If translation is part of the job, that pulls this option back up the list.

    Best for

    • Transcribing recorded calls or voicemails after the fact
    • Multilingual transcription or translation into English
    • Teams already standardised on the OpenAI API for reasoning

    Not for

    • A phone agent needing turn-taking detection out of the box
    • Teams who want one model that covers both file and live audio identically
    File model
    gpt-transcribe, Whisper legacy
    Live model
    gpt-live-transcribe
  4. Streaming recognition inside the Google Cloud ecosystem

    This fits a team that already runs on Google Cloud and wants one vendor for billing and sign-in. The docs describe streaming recognition over a two-way gRPC link. It returns partial results while the caller is still talking.

    The docs note that legacy telephony audio at 8kHz can give less accurate results than the recommended 16kHz. They recommend resampling where the source allows it. No dedicated phone-call model is named the way Deepgram documents one.

    Confidence scores are documented with an explicit warning not to rely on them, since the field may be unset or inaccurate in a given result. That is worth knowing if your agent logic branches on transcription confidence.

    Best for

    • Teams already billing and deploying through Google Cloud
    • Builds that need Google's language coverage or translation stack alongside STT
    • Batch and streaming transcription in one platform

    Not for

    • Teams optimising specifically for phone-call accuracy
    • Logic that depends on a reliable per-word confidence score
    Streaming
    gRPC bi-directional, per docs
    Recommended sample rate
    16kHz, per docs
  5. Streaming STT for teams standardised on Microsoft's cloud

    This is the equivalent choice for a team already running Azure. Microsoft documents a real-time streaming SDK for Speech-to-Text, plus batch transcription for recorded audio. Both sit inside the same billing and identity setup as the rest of an Azure deployment.

    Microsoft's docs cover how to connect to a call through Azure Communication Services. No single model is named as phone-tuned the way Deepgram's Nova-2 phonecall variant is.

    It ranks last here on the same basis as Google. Streaming is solid and general-purpose, but no model is documented as phone-call-tuned. The strongest reason to pick it is an existing Microsoft commitment, not a phone-specific capability.

    Best for

    • Teams already running Azure Communication Services for telephony
    • Enterprises standardised on Microsoft for compliance or procurement reasons
    • Batch and streaming needs handled by one vendor

    Not for

    • Teams optimising specifically for phone-call accuracy over general audio
    • A first voice agent with no existing Azure footprint
    Streaming SDK
    Documented, real-time
    Telephony integration
    Via Azure Communication Services
What a phone call actually asks of the transcription layerLive
  1. Audio arrives8kHz, compressed, full of line noise.
  2. Words transcribedAccuracy on clean audio does not predict this.
  3. Turn detectedWas the caller finished, or just pausing?
  4. Agent respondsEvery millisecond here is heard as a delay.
  5. Caller talks over itDoes the agent stop, or keep talking?

Most STT benchmarks measure the second box. A phone agent lives or dies on the third and fifth.

The honest part

When none of these five is the right answer

A standalone STT API is one piece of a voice agent, not the whole thing. Pick the transcription vendor too early, before the telephony and reasoning layers are settled, and the choice can box in the rest of the build.

Some teams are better served by a voice AI platform. It bundles STT, the language model and text-to-speech behind one layer. You can swap the STT provider later without rebuilding the call flow.

  • 01Building a first prototype, not a production line? A bundled platform gets you to a working demo faster than wiring four APIs together.
  • 02Handling low call volume? The per-minute cost difference between vendors barely matters until volume is high enough to justify the engineering time saved by picking correctly.
  • 03Already committed to a telephony and reasoning stack? Test two STT vendors against your own recorded call audio before ranking on documentation alone.
How it’s built

What we run in production

Voice stack

Deepgram Voice AgentTwilio Programmable VoiceOpenAI Chat Completions

Around the agent

FastAPIWebSocketsPostgreSQLSentry
Next step

Not sure which one fits your call volume?

Tell us what the agent has to hear and how noisy the line is. We will name the STT provider we would pick and why. Scoping calls cost nothing.

Questions, answered

Questions buyers ask

01Deepgram vs AssemblyAI vs Whisper: which should I pick for a phone agent?

Deepgram for a live phone line, since it publishes a model built for conversational turn-taking and a phone-call-tuned variant. AssemblyAI is the closest streaming alternative with a simpler SDK. Whisper fits recorded audio and translation better than live calls, since OpenAI documents a separate model for real-time transcription.

02What is the best STT for phone calls specifically?

Deepgram is the only vendor here documenting a model built for voice agents and a phone-call-tuned variant by name. That does not make the others unusable on phone audio, but it is the clearest documented fit for that specific case.

03Why isn't word error rate part of the ranking criteria?

Vendors publish WER against different test sets, most of them cleaner than real call audio, so the numbers are not comparable across vendors. Test candidates against your own recorded calls before deciding on accuracy alone.

04Do I need a dedicated telephony-tuned STT model, or will a general one work?

A general model will transcribe phone audio. A telephony-tuned one is trained on audio closer to what a real call sounds like: 8kHz, compressed, with cross-talk. The gap shows up most on accents and noisy lines, not clean single-speaker calls.

05Should I build directly on an STT API or use a voice AI platform instead?

Build directly when you need to choose and swap the STT vendor independently of the rest of the pipeline. A platform is faster to a first working agent but usually locks the STT choice to whatever it bundles.

Written by Abdul Basit, CEO, HashlogicsVerified
Start

Let’s build the one that runs after.

We build AI agents and automation, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter