Dograh

Deepgram vs AssemblyAI: Speech-to-Text for Voice Agents

Deepgram vs AssemblyAI: Speech-to-Text for Voice Agents
ComparisonNovember 6, 2026·9 min read

Deepgram vs AssemblyAI: Speech-to-Text for Voice Agents

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

Pick Deepgram for per-second billing, Flux's built-in turn detection and more streams at once. Pick AssemblyAI for the lowest streaming rate per hour and Universal-3.6 Pro's accuracy on Pipecat's benchmark. Dograh, the open-source AI voice agent platform we build, has both built in with your own key. You can self-host it or run it on Dograh Cloud.

Key Takeaways

  • Deepgram bills per second of audio, AssemblyAI bills open session time.
  • Pipecat's benchmark puts Universal-3.6 Pro ahead on accuracy, Nova-3 ahead on speed.
  • Neither vendor's numbers come from phone audio, so test your own calls.

Deepgram and AssemblyAI are the two speech-to-text APIs most often shortlisted for live voice agents. We test them on streaming and turn detection, price per minute, languages and accuracy, the four things that matter on a phone call, then give a plain "pick this if" verdict for each.

Deepgram or AssemblyAI: the short verdict

Neither wins every test, and each vendor's own comparison picks itself. Deepgram leads on speed, concurrency and per-second billing, and Flux was built for voice agents with turn detection inside the model. AssemblyAI leads on its lowest streaming price and, on the one shared benchmark, on accuracy with Universal-3.6 Pro.

The fair way to decide is on your own recorded calls, because both vendors' accuracy numbers come from test sets, not your callers. The choice is also not permanent. On most voice agent platforms, changing the speech model is a setting, not a rebuild.

TestDeepgramAssemblyAI
Voice agent modelFlux (English or multilingual), Nova-3Universal-3.6 Pro Realtime, Universal-Streaming
Turn detectionBuilt into FluxEndpointing in the streaming models
Streaming price$0.0077 a minute for Flux English or Nova-3 monolingual$0.45 an hour for Universal-3.6 Pro, $0.15 for Universal-Streaming
Billing meterPer second of audioOpen session time, idle included
Pay-as-you-go limit150 concurrent streams100 new streams a minute
Free credit$200$50
Shared benchmark (Pipecat)Nova-3: 1.37% semantic WER, 247 msUniversal-3.6 Pro: 0.80%, 307 ms

Streaming and turn detection

On a live call, knowing when the caller has finished matters as much as the words. If the agent waits too long it feels slow, and if it jumps in early it cuts the caller off.

Deepgram built Flux for this job. Deepgram's Flux docs describe turn detection inside the model, with an early end-of-turn signal so the agent can start preparing a reply, and Deepgram claims about 260 ms end-of-turn detection. Flux comes as English and as a multilingual model covering ten languages.

AssemblyAI's streaming models handle endpointing too. Its model page describes entity-aware endpointing on Universal-3.6 Pro, so the model waits while a caller reads out a phone number or an account code, and reports a median end-of-turn latency of 537 ms on its own benchmark.

Those two latency figures come from each vendor's own tests and are not measured the same way, so do not subtract one from the other. What the design difference means in practice is simpler. With Flux, the speech model makes the turn call, and with AssemblyAI, the endpointing settings and your agent platform's voice activity detection share it. Our guide to voice activity detection explains how those layers work together.

To test turn detection fairly, include calls where the caller pauses mid-sentence, reads out a long number or says "um" before answering. Count how often each setup cuts the caller off and how often it leaves a long silence. Those two counts tell you more than any vendor's latency figure.

Price per minute of a live call

The list prices sit close together, and the meters differ. Deepgram charges $0.0077 a minute on pay as you go for Flux English and Nova-3 monolingual, $0.0078 for Flux Multilingual and $0.0092 for Nova-3 multilingual, billed per second with no block rounding. Keyterm prompting is a $0.0013-a-minute add-on.

AssemblyAI's pricing lists $0.45 an hour for Universal-3.6 Pro Realtime and $0.15 an hour for Universal-Streaming, which works out to $0.0075 and $0.0025 a minute. Keyterms are included on Universal-3.6 Pro. AssemblyAI bills the time each streaming session stays open, and idle time counts.

Here is a labelled example of 1,000 five-minute calls, or 5,000 minutes:

ModelCost for 5,000 minutes
AssemblyAI Universal-3.6 Pro Realtime$37.50
AssemblyAI Universal-Streaming$12.50
Deepgram Flux English or Nova-3 monolingual$38.50

Universal-Streaming is the low-price option of the three. The other two sit within a dollar of each other at this volume. The real gap comes from the meter. A session left open after the caller leaves keeps AssemblyAI's clock running, while Deepgram stops counting when the audio stops.

Volume limits differ in shape too. Deepgram allows 150 concurrent streams on pay as you go and 225 on Growth, a prepaid plan from $4,000 a year that lowers Flux English and Nova-3 monolingual to $0.0065 a minute. AssemblyAI limits how many new streams you can open, at 100 a minute on pay as you go, which matters most when an outbound campaign starts many calls at once.

Our Deepgram pricing guide covers Growth plan rates and add-ons, and our AssemblyAI pricing guide works through idle time and cost per call minute.

Languages each model covers

Coverage depends on the exact model, not the vendor. AssemblyAI lists 32 languages for Universal-3.6 Pro Realtime, and a six-language set for Universal-Streaming Multilingual. Deepgram's Flux Multilingual covers ten languages: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian and Dutch, and Nova-3 multilingual covers more.

For a caller who switches between Hindi and English, Flux Multilingual is a natural first test. For a European contact center with many languages in one queue, Universal-3.6 Pro's list is wider.

Medical calls have their own options. Deepgram offers a Nova-3 Medical model, and AssemblyAI sells a Medical Mode add-on at $0.15 an hour on top of the streaming rate. Both are worth a test if your callers read out drug names or conditions.

Check the model your agent actually sends, not the vendor's headline list. A platform can expose a smaller set than the vendor supports. In Dograh, for example, the transcriber settings explain Flux's language hints, which bias a multilingual call toward the languages you expect.

Accuracy on phone audio

Only one public benchmark runs both vendors' streaming models on the same clips. The Pipecat STT benchmark uses 1,000 samples and scores semantic word error rate, which counts only mistakes that change the meaning.

On that test, AssemblyAI's Universal-3.6 Pro scored 0.80% with a median time to final transcript of 307 ms. Deepgram's Nova-3 scored 1.37% at 247 ms. AssemblyAI's Universal-Streaming English scored 2.42% at 256 ms. The benchmark has no Flux row, and it notes that differences under about 0.25 points sit inside its 95% confidence interval.

So on this test set, Universal-3.6 Pro is more accurate and Nova-3 is faster. Neither result came from a phone line. Most phone calls reach the agent as 8 kHz audio, half the sample rate of a browser demo, and that is where names, numbers and accents get harder.

When you score your own calls, mark only the errors that would change what the agent does, such as a wrong digit in an account number, a misheard name or a yes heard as no. A transcript can look messy and still lead to the right action, and a clean one can hide the one word that mattered.

A recorded call becomes a transcript. A reviewer circles three mistakes on it, a wrong digit in an account number, a misheard name and a yes heard as no, and each points at the AI agent. An 'um' on the same page is left alone.
A transcript can look messy and still lead to the right action, and a clean one can hide the one word that mattered. Score your own recorded calls this way, since neither vendor's numbers come from phone audio.

Each vendor also publishes its own figures. AssemblyAI reports 5.19% WER for Universal-3.6 Pro against 13.50% for Flux English on its voice agent benchmark. Treat that as AssemblyAI's result on AssemblyAI's test. Our roundup of speech-to-text APIs for voice agents covers the phone-audio problem and other independent scores.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Pick Deepgram if

Pick Deepgram if turn-taking is your main problem and you want the speech model to decide when the caller has finished. Flux was designed for that, in English or across its ten languages.

It also suits teams that want per-second billing that stops with the audio, 150 concurrent streams on pay as you go, or a regional endpoint in the EU or Australia. Deepgram offers self-hosting and a BAA on its Enterprise plan, which matters for teams that need speech recognition inside their own network. Clinics also get Nova-3 Medical as a separate model to test.

Pick AssemblyAI if

Pick AssemblyAI if accuracy on hard words is your main problem. On the shared benchmark, Universal-3.6 Pro made fewer meaning-changing errors than Nova-3, and its endpointing is built to wait through spelled-out numbers.

It also suits teams on a tight speech budget, since Universal-Streaming lists $0.15 an hour, and teams that want a BAA without a sales call: AssemblyAI offers it self-serve at no premium. Close sessions as soon as a call ends, because idle time counts on its meter.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Running both in Dograh

The quickest way to settle Deepgram vs AssemblyAI is to run both on the same calls. Dograh has both built in as speech-to-text providers you use with your own key, set in model configurations.

The Deepgram options are nova-3-general, nova-3-medical, flux-general-en and flux-general-multi, and you can point Deepgram at its EU or Australian endpoint. The AssemblyAI option is u3-rt-pro, AssemblyAI's Universal-3 Pro streaming model, in English, Spanish, German, French, Portuguese and Italian. The Universal-3.6 Pro prices and benchmark figures above belong to AssemblyAI's newer model, so measure u3-rt-pro on your own calls rather than borrowing them.

Brand names and product words go in the agent's Dictionary. Dograh passes the same list to Deepgram as keyterms and to AssemblyAI as its keyterms prompt, so both models get the same help.

Record 20 to 30 of your own calls, with real names and numbers, and run them through one agent on Deepgram and the same agent on AssemblyAI. Each call's trace shows the speech-to-text time for every turn, and the transcripts show which model got your callers' names right.

Switching is a settings change, so the test takes an afternoon rather than a migration. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. Your Deepgram or AssemblyAI bill stays with your own account either way.

Keep the winner, and keep the loser's key for a fallback test the next time either vendor ships a new model.

Glossary

End of turn
The moment a speech system decides the caller has finished speaking and the agent can reply. Deepgram's Flux makes this call inside the model, while AssemblyAI uses endpointing in its streaming models.
Semantic WER
Word error rate that counts only mistakes that change the meaning, not small differences in spelling or filler words. The Pipecat STT benchmark scores models this way.
Keyterm prompting
Sending a list of names and product words with the audio so the model favours them. Deepgram charges it as an add-on, and AssemblyAI includes keyterms on Universal-3.6 Pro.
Open session time
The time a streaming connection stays open, counted whether or not anyone is speaking. AssemblyAI bills streaming on it rather than on the seconds of audio sent, so idle time counts.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.