AssemblyAI alternatives are divided into hosted speech-to-text providers and open models. Dograh is the open-source platform that ships ready to use and lets each agent switch speech-to-text with one setting. Deepgram, Soniox, Speechmatics and Gladia are the hosted providers, and Parakeet is an open model that runs on your own GPU.
Key Takeaways
- AssemblyAI bills the whole streaming session, so idle seconds cost money too.
- AssemblyAI limits new streams per minute. Rivals cap streams open at once.
- Dograh switches speech-to-text per agent, and open models keep audio on your GPU.
AssemblyAI is a strong speech-to-text API, but some teams outgrow it once it sits inside a live phone agent. We cover their reasons and compare every option in one table, then turn to Dograh, where changing provider is one setting, before the rivals and a priced month.
Why teams look for an AssemblyAI alternative
Most teams that leave AssemblyAI are reacting to how it fits a live phone agent rather than to its accuracy. Streaming is billed for the whole session, idle time included. The $0.15 tier covers six languages, pay as you go caps new streams at 100 a minute, and the audio is processed in AssemblyAI's cloud.
There is news as well. AssemblyAI is retiring its Voice Agent API and tells developers not to use it for new builds, while it adds a text-to-speech API and an LLM Gateway. A team whose agent runs there has to rebuild the call flow somewhere else anyway.
AssemblyAI alternatives in one table
Each alternative wins on one thing AssemblyAI does differently, so the table names that thing next to the price. Prices are each vendor's real-time rate for live audio, and the sections after it explain the limits behind them.
| Option | List price for live audio | What the meter counts | Its strongest point | Where it runs |
|---|---|---|---|---|
| AssemblyAI (baseline) | $0.15 an hour (Universal-Streaming) to $0.45 (Universal-3.6 Pro Realtime) | The whole session, idle time included | EU endpoints at the same price, BAA with no premium | AssemblyAI's cloud |
| Dograh | Runs any other row | One setting per agent | Switch providers without rebuilding the agent | Self-hosted or Dograh Cloud |
| Deepgram | $0.0077 a minute (Nova-3, English), $0.0092 multilingual | Per second, no block rounding | 150 streams at once on pay as you go | Deepgram's cloud, or containers on your hardware on Enterprise |
| Soniox | $0.12 an hour | Session time, plus context and output tokens | 60+ languages at the lowest hourly rate here | Soniox's cloud |
| Speechmatics | $0.30 (Linden 1) to $0.80 (Enhanced) an hour | Hourly rate per tier | 55+ languages, on-prem options | Cloud, or containers and appliances on Enterprise |
| Gladia | 0.68 EUR an hour | Hourly rate | 100+ languages on Solaria-1 | Gladia's cloud |
| Open models (Parakeet, Canary-Qwen, Whisper) | No hourly bill, a GPU instead | Your server time | Call audio stays on your servers | Your own GPU |
Dograh: open-source agents, speech-to-text you choose
AssemblyAI sells one layer of a voice agent, the part that turns speech into text. Dograh is an open-source AI voice agent platform under the BSD 2-Clause license that covers the rest of the call and leaves that layer to you. The platform includes a visual flow builder, telephony, call transfer, call history and QA that scores every step of a call, on test calls as well as live ones.
Dograh's speech-to-text setting offers Deepgram, OpenAI, Google, Azure Speech, AssemblyAI, Speechmatics, Cartesia, Gladia, Soniox, Sarvam, Smallest AI, Hugging Face, ElevenLabs and Dograh's own models, and local models such as Whisper connect through Speaches, an OpenAI-compatible server you run yourself. Changing provider is one setting per agent, so you can run two alternatives on the same calls and keep the one that hears your callers best, and words in the agent's Dictionary carry over to whichever provider you pick.
Dograh runs the call flow, tools and telephony, and you choose the speech and language models separately: Dograh's own, any supported provider on your own API key, or open-weight models you host. Only the open-weight route keeps call audio on your servers, because with your own key the audio still reaches that provider.
Self-hosting uses Docker Compose on a server with at least 8 GB of RAM and 4 vCPUs, and needs no GPU unless you run an open speech model such as Parakeet yourself. Dograh Cloud is the managed version, and Dograh Enterprise offers on-prem deployment. 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 speech-to-text provider bills you at its own rate on your own key.
Self-hosted Dograh runs 10 calls at once by default and one setting raises that, while Cloud's pay as you go plan includes 10. Each provider field also takes more than one API key and spreads calls across them, which helps when a single account's limit is the ceiling.
Running it yourself takes work. Your team looks after the server and the database and applies upgrades, with community support on the open-source version and custom SLAs on Enterprise. For a team on AssemblyAI's Voice Agent API, moving means rebuilding the call flow in Dograh's visual builder, and you can keep AssemblyAI as the speech-to-text if it still hears your callers best.
When the bill counts idle seconds
AssemblyAI bills streaming for the full WebSocket session, from open to close, and idle time counts as well as speech. Our post on AssemblyAI pricing shows how that rule adds up and which add-ons bill for the whole session too.
Deepgram works the opposite way, with usage billed per second and no block-based rounding. Nova-3 costs $0.0077 a minute for one language and $0.0092 multilingual, and Flux in English is $0.0077. Soniox bills by session time like AssemblyAI does, then adds a small charge for the context and output tokens.
In practice, the rule matters less on a phone call than it sounds. The stream is open for the whole call anyway, because silence on a phone line is still audio. Where session billing bites is a stream left open around the call: one opened before the caller connects, or one that stays up after the call ends because the code never closed it. Fix that first, and the gap between a per-second meter and a session meter gets small.
When callers speak more than six languages
Language coverage depends on which AssemblyAI model you stream. Universal-3.6 Pro Realtime covers 32 languages, while Universal-Streaming Multilingual covers six: English, Spanish, German, French, Portuguese and Italian. A team that wants the $0.15 tier and has callers outside those six has to move up a tier or move vendor.
The three widest lists come from smaller vendors. Soniox lists 60+ languages at $0.12 an hour for real-time audio. Speechmatics lists 55+, and Gladia's Solaria-1 model lists more than 100 at 0.68 EUR an hour.
A long list does not mean every language works equally well on a phone line, so test your top two or three languages on real calls before you switch. In Dograh, the Language Hints checkboxes that bias detection toward expected languages work only with Dograh's own models or Deepgram Flux. With other providers, you choose the language or auto-detect in the provider's own setting.
When you need more calls at once
AssemblyAI limits how fast new streams start. The free tier allows 5 new streams a minute and pay as you go allows 100, and AssemblyAI says higher concurrency needs an enterprise contract. The rivals count something else. Deepgram allows 150 streams open at once on pay as you go and 225 on Growth, Speechmatics 50 real-time sessions on self-serve plans, and Gladia 30.
The two units answer different questions. A start rate limits your busiest minute: an outbound campaign that dials 150 people in the same minute hits AssemblyAI's limit even if the calls are short. A concurrency cap limits how many calls are live together, whenever they started. If your peak is a burst of new calls, compare start rates. If it is a long busy afternoon, compare streams at once.
Either way, the speech-to-text cap is only one link. Your voice agent platform, your language model's rate limits and your phone carrier each set their own ceiling, and the lowest one wins.
When audio has to stay on your servers
Two hosted vendors will run their models inside your network on an enterprise deal. Deepgram's self-hosted containers run in your own virtual private cloud or on your own hardware and need NVIDIA GPUs. Speechmatics offers on-prem containers, a virtual appliance, on-device and hybrid setups. In both cases the code stays closed and the contract goes through sales. Open models, in the next section, keep the audio on your servers with no contract at all.

Open models: Parakeet, Canary-Qwen and Whisper
Open models are the open-source group here. NVIDIA's Parakeet TDT 0.6B comes in v2 for English and v3 for 25 languages, and Canary-Qwen 2.5B adds stronger accuracy at a larger size. Both are published under CC-BY-4.0, which allows commercial use with attribution. OpenAI's Whisper is MIT licensed. Parakeet v2 needs roughly 2 GB of GPU memory, small enough to sit beside a 4-bit 27B language model on one 24 GB card.
The trade is that your team now runs the GPU, the batching and the upgrades. Our comparison of AssemblyAI vs Whisper works out when a GPU beats the hourly rate, and our guide to open-source speech-to-text models covers licenses and which model fits which card.
What 50,000 minutes of streaming costs
The quickest way to see the gap is one month on every meter. Take an example of 10,000 calls a month at five minutes each, 50,000 minutes or about 833 hours of live audio.
| Option | Sum | Example month |
|---|---|---|
| AssemblyAI Universal-3.6 Pro Realtime | 833.3 hours x $0.45 | $375, plus any idle session time |
| AssemblyAI Universal-Streaming | 833.3 hours x $0.15 | $125 |
| Deepgram Nova-3 (English) | 50,000 minutes x $0.0077 | $385 |
| Soniox real-time | 833.3 hours x $0.12 | $100, plus context and output tokens |
| Speechmatics Linden 1 | 833.3 hours x $0.30 | $250 |
| Gladia real-time | 833.3 hours x 0.68 EUR | 566.67 EUR |
| Open model on your GPU | Server time | The GPU bill, whatever the minutes |
Every row is small next to the rest of a voice agent's bill. The language model, the voice and the phone minutes for the same 50,000 minutes usually cost several times the speech-to-text line. So pick on what decides whether calls go well, accuracy on your callers and the limits you will hit, and treat the price as a tiebreaker.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Accuracy: read the index, then test your calls
An independent index is a better start than any vendor's own claim. On the Artificial Analysis speech-to-text index, its AA-WER v2 word error rate puts ElevenLabs Scribe v3 at 1.9%, AssemblyAI Universal-3.5 Pro and Soniox v6 Async at 3.0%, and Gladia Solaria-3 at 3.2%. Speechmatics Enhanced scores 4.0%, Deepgram Nova-3 5.2%, and the open Canary Qwen 2.5B and Parakeet TDT 0.6B V3 4.3% and 4.5%.
Those are batch scores on recorded audio, not streaming and not phone calls. Most phone calls still reach the agent as 8 kHz audio, while a browser demo runs at 16 kHz. In our experience the error rate on a phone call can be up to three times higher than on a web call, though the gap depends on the speech model and the phone path, so it has to be tested.
Run your shortlist on 50 or so recorded calls from your own line, with your product names and account numbers in them. Our review of the best speech-to-text APIs, tested on voice agent calls shows how phone codecs move each model and which ones barely change.
When staying on AssemblyAI makes sense
AssemblyAI still suits plenty of live agents. If your callers speak the languages your tier covers, your peak is a long busy afternoon rather than a burst of new calls, and your code closes each stream when the call ends, the session meter and the start rate rarely hurt. Its EU endpoints come at the same price, it signs a BAA with no premium, and Universal-3.5 Pro scores 3.0% on the independent index. Inside Dograh you can keep AssemblyAI as the speech-to-text and change only the layer that is actually failing you.
What moving off AssemblyAI takes
Moving off AssemblyAI means switching the speech-to-text provider, not rebuilding the agent, unless the agent runs on AssemblyAI's Voice Agent API. Add keys for two candidates from the sections above and point one copy of the agent at each. Then run the same recorded calls from your own line through both, and check the new provider's limit against your busiest minute and your busiest hour, because a start rate and a concurrency cap fail in different ways.
When a call goes wrong after a switch, each call's trace shows the speech-to-text, AI and voice time for every turn. That tells you whether the new provider is slower or simply mishearing.
Picking your AssemblyAI alternative
Start with where the agent runs. If you want to change speech-to-text without rebuilding the call each time, Dograh fits: the open-source platform holds the call flow, telephony and QA, the provider is one setting per agent, and you can run it on your own servers or on Dograh Cloud. Then choose the provider by the reason you are leaving: Deepgram for per-second billing and 150 open streams on pay as you go, Soniox or Gladia for callers across many languages, Speechmatics or an open model such as Parakeet when the audio has to stay inside your network. Whichever you shortlist, prove it on your own recorded calls before a live number moves.
Glossary
- Session billing
- Charging a streaming speech-to-text connection for the whole time it is open, silence included, instead of only the audio sent. AssemblyAI bills streaming this way, while Deepgram bills per second.
- Start rate
- A cap on how many new streams can start in one minute, separate from how many run at once. AssemblyAI allows 100 new streams a minute on pay as you go.
- AA-WER v2
- Artificial Analysis' word error rate index for speech-to-text, weighted across conversational agent speech, parliament recordings and earnings calls. Its scores are for recorded, batch audio, not live phone streams.
- Self-hosted container
- A vendor's closed speech model packaged to run on your own servers under an enterprise contract. Deepgram and Speechmatics offer one, and Deepgram's needs NVIDIA GPUs.

