For live phone calls, the speech-to-text APIs worth testing are Deepgram, AssemblyAI, ElevenLabs Scribe, Speechmatics, Soniox, Gladia and Cartesia Ink. Choose on your own phone recordings, the stream price and the concurrency cap. Dograh, the open-source AI voice agent platform, runs each with your own key. You can self-host it or run it on Dograh Cloud.
Key Takeaways
- Each live call keeps one stream open, so concurrency caps limit calls.
- Batch accuracy scores do not show how an API hears 8 kHz calls.
- Dograh runs every API in the table below with your own key.
This post is part of our guide to open-source speech-to-text models, which covers the models you run on your own GPU. Here we compare hosted streaming APIs on stream price, concurrency, phone-audio accuracy and languages, and end with the ones that run in Dograh with your own key.
What a phone call asks of a speech API
A phone agent needs a speech API that streams for the whole call and hears phone audio well. The agent keeps one stream open for as long as the caller is on the line, so the price that matters is the streaming rate, and the limit that matters is how many streams your plan allows at once.
The session model changes the bill too. AssemblyAI bills each streaming session on how long its WebSocket stays open, idle time included, and allows 100 new streams a minute on pay as you go. Silence while the caller looks up an account number still counts.
Speed is the third need, and it is the hardest to compare from a page. Vendors publish their own latency numbers under their own test conditions, so measure the speech time on your own calls. Our post on STT and TTS concurrency limits shows how to turn a plan's cap into a number of calls.
Streaming prices and limits compared
This table lists each provider's streaming list price and the model Dograh's settings list for it.
| Provider | Streaming list price | Model in Dograh's list |
|---|---|---|
| Dograh | Any provider below with your own key, Dograh's own models, or local open models | All rows below |
| Deepgram | $0.0077 a minute (Nova-3 one language, Flux English), $0.0092 (Nova-3 multilingual) | nova-3-general, nova-3-medical, flux-general-en, flux-general-multi |
| AssemblyAI | $0.15 an hour (Universal-Streaming), $0.45 (Universal-3.6 Pro Realtime) | u3-rt-pro |
| ElevenLabs | $0.39 an hour (Scribe v2 Realtime) | scribe_v2_realtime |
| Speechmatics | $0.30 an hour (Linden 1) | linden-1 |
| Soniox | $0.12 an hour (real-time) | stt-rt-v5 |
| Gladia | 0.68 EUR an hour (real-time) | solaria-1 |
| Cartesia | $0.39 an hour (Ink, Scale plan) | ink-whisper, ink-2 |
| OpenAI | $0.006 a minute (gpt-4o-transcribe) | gpt-4o-transcribe |
| Google Cloud | $0.016 a minute (Speech-to-Text V2 standard, first 500,000 minutes) | latest_long |
| Azure AI Speech | $1.00 an hour (standard real-time, East US) | latest_long, latest_short |
| Sarvam | Rs 0.49 a minute | saarika:v2.5, saaras:v3 |
| Smallest AI | About $0.009 a minute | pulse |
Per minute, Soniox, AssemblyAI's Universal-Streaming and Speechmatics' Linden 1 sit at the low end, at a fraction of a cent. Google's standard model and Azure's real-time rate sit at the high end. The cap matters as much as the price. Deepgram allows 150 streams on pay as you go and 225 on Growth, Speechmatics 50 self-serve real-time sessions, Gladia 30, and Cartesia between 8 and 60 depending on the plan. A team planning 200 calls at once outgrows several of those plans before price even comes up. Our Deepgram alternatives guide walks through Deepgram's own price list in more depth.
Accuracy on phone audio
Treat every accuracy figure here as a starting list, because none of them comes from a live phone call. The Artificial Analysis speech-to-text index (AA-WER v2, run on recorded files, not streams) puts ElevenLabs Scribe v2 at 2.2%, AssemblyAI Universal-3.5 Pro at 3.0%, Gladia Solaria-3 at 3.2%, Soniox v5 Async at 3.8%, Speechmatics Enhanced and OpenAI GPT-4o Transcribe at 4.0%, and Deepgram Nova-3 at 5.2%.
These are batch scores on recorded files, and several are models other than the streaming ones a call uses. A phone line can also move a model a lot. Most phone calls still reach the agent as 8 kHz audio, while a browser test runs at 16 kHz. The WildASR benchmark found Whisper Large V3 went from 4.2% to 4.8% through the G.711 phone codec, while Qwen2-Audio went from 5.8% to 48.3%.
So record 20 to 30 of your own calls, with real names and numbers, and run your top three providers on them. Brand names are where APIs differ most. Deepgram, AssemblyAI and ElevenLabs offer keyterm prompting, and Dograh's Dictionary passes your word list to Deepgram, AssemblyAI and Soniox.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Languages and regions
Language coverage separates these APIs quickly. Gladia lists more than 100 languages for Solaria-1, Soniox more than 60, and Speechmatics 56 for Melia 1. Deepgram prices Nova-3 and Flux separately for one language and for many. Sarvam is the provider to test for Indian languages.
Check the exact model your agent sends, too. In the settings, AssemblyAI's model lists six languages: English, Spanish, German, French, Portuguese and Italian. Language Hints, which bias a call toward the languages you expect, work only with Dograh's own models or Deepgram Flux.
Region can matter as much as language. Dograh's Deepgram settings can point at Deepgram's EU or Australian endpoint with the same key, so the audio is processed in that region.
Which APIs Dograh runs, and how to switch
Every provider in the table is a built-in speech-to-text option in Dograh, used with your own key. Add the account under Providers in the sidebar, then pick the provider and model on the STT tab of a model configuration in Models. Moving an agent to another provider changes that one setting, and the call flow stays as it is.

Several keys for one provider spread live calls across them, which helps where a vendor counts limits per key. Each call's trace shows the speech-to-text time for every turn, so you compare providers on your own calls.
Hosted APIs are one way to fill the speech layer. The same agent can later run Whisper or Parakeet on your own GPU, which our pillar guide covers. 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.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Picking one
Pick two or three providers whose languages and region fit, then let your own recorded calls decide. If you expect many calls at once, check the concurrency cap before the price, because a low cap stops calls outright while a high price only costs money. For the voice side of the agent, our comparison of the best text-to-speech APIs for voice agents uses the same columns.
Glossary
- Streaming session
- The open connection between the agent and the speech API for the length of a call. Some providers bill for the whole time it is open, idle time included, and most cap how many can be open at once.
- Concurrency cap
- The most streams a provider plan allows at the same moment. On a voice agent each live call uses one, so the cap is a ceiling on simultaneous calls.
- Keyterm prompting
- Sending a list of brand names or product words with the audio so the speech model favours them. Dograh's Dictionary passes this list to Deepgram, AssemblyAI and Soniox.
- AA-WER v2
- Artificial Analysis's word error rate index, a weighted blend of agent-style talk, European Parliament speech and earnings calls, scored on recorded files rather than live streams.

