Choosing a speech-to-text API in 2026

We build live transcription and translation, so before we shipped anything we evaluated the speech-to-text (STT) engines we could send audio to, and picked one. This post is not about which engine we landed on. It is everything we gathered while deciding, across this part and its sequel.
This part covers 12 STT providers and the open-source models you can self-host, on the things you can verify from the outside: what they charge, whether they stream in real time, whether they translate, how many languages they cover, whether you can run them on your own hardware, and what open models actually cost to run.
Part two is the original work all of this builds toward: our own accuracy benchmark, running these engines on identical audio and reporting word error rate.
How to read this
Every figure below was pulled from the provider's own pricing page or docs on July 15, 2026. Prices change often, so treat these as a snapshot from that date.
We show price per hour of audio because most vendors quote it that way and the numbers read more cleanly. Some providers meter per token (Soniox, OpenAI) or per second, so the per-hour figure is a converted equivalent rather than a literal line item.
Pricing
Pricing is where STT providers are least comparable. Some bundle features into one rate, others itemize each one, and a few do not publish a real-time rate at all. Two quirks are worth flagging before you read the table. Deepgram inverts the usual order, charging more for pre-recorded audio than for real-time. And AssemblyAI meters real-time on the full WebSocket session wall-clock, including idle time, rather than the audio you actually send. The table shows the flagship pay-as-you-go rate for each provider.
| Provider | Batch ($/hr) | Real-time ($/hr) | Free tier |
|---|---|---|---|
| 0.04 | not offered | none | |
| 0.10 | 0.12 | none for new signups | |
| 0.18 | 1.00 | 5 hrs/mo | |
| 0.18 (dynamic batch) | 0.96 | none on V2 | |
| 0.21 | 0.45 | $50 credit | |
| 0.20 | not published | 5 hrs | |
| 0.22 | 0.39 | 4.5 hrs batch / 2.5 hrs real-time per mo | |
| 0.36 | 0.36 | none | |
| 0.36 | 0.60 | 60 min/mo (first 12 mo) | |
| 0.46 | 0.29 | $200 credit | |
| 0.61 | 0.75 | 10 hrs/mo | |
| not broken out | not broken out | 50 hrs/mo |
Rates are the flagship English pay-as-you-go tier, converted to USD per audio hour. Speechmatics publishes only a blended hourly rate, without separate batch and real-time numbers. Google's cheap 0.18/hr is its lower-urgency dynamic-batch rate; standard recognition starts at 0.96/hr and drops with volume. Amazon and Azure prices are US regions and vary elsewhere. Groq is batch only, so it has no real-time rate.
The spread is enormous: at the batch extreme, Groq's hosted Whisper is roughly 15 times cheaper per hour than Gladia's Solaria. Price buys very different feature sets, which is the next table.
Features
Two engines at the same price can do completely different jobs. The big splits: does it stream in real time or only process finished files, does it translate as part of the same request, and can you run it on your own hardware.
| Provider | Streaming | Translation | Languages | Diarization | Timestamps | Self-host |
|---|---|---|---|---|---|---|
| Yes | Real-time | 60 | Yes | Yes | No | |
| Yes | No | 50 | Add-on | Yes | Yes | |
| Yes | No | 99 | Add-on | Yes | Yes | |
| Yes | Real-time | 99 | Yes | Yes | No | |
| Yes | Real-time | 56 | Yes | Yes | Yes | |
| Yes | No | 90+ | Yes | Yes | No | |
| Partial | English | 57 | No | Whisper-1 | No | |
| No | English | auto | No | Yes | No | |
| Yes | Separate | 113 | Yes | Yes | No | |
| Yes | Separate | 148 | Yes | Yes | Yes | |
| Yes | Chirp 2 | 137 | Yes | Chirp 2 | Testers | |
| Yes | Async | 58 | Yes | Yes | Yes |
How to read the short labels. Translation: "Real-time" means translated text comes back inside the same live stream (Soniox, Gladia, Speechmatics); "English" means it only translates into English, which is Whisper's built-in behavior (OpenAI, Groq); "Separate" means translation is a separate or separately billed step (Amazon needs Amazon Translate; Azure's real-time translation is billed on its own); "Chirp 2" means only Google's Chirp 2 model translates, and only synchronously; "Async" means Rev translates only finished files. Streaming "Partial" (OpenAI) means it streams but not at true low latency. Diarization "Add-on" (Deepgram, AssemblyAI) means speaker labels cost extra. Timestamps "Whisper-1" and "Chirp 2" mean word-level timestamps work only on that specific model. Self-host "Testers" (Google) means on-prem is limited to trusted testers. Language counts come from each vendor's supported-language list.
A few things jump out. If you need translation delivered live in the same connection, the field narrows fast to Soniox, Gladia, and Speechmatics. And the Whisper-based hosted options (Groq, OpenAI's whisper-1) only translate into English, which rules them out for most non-English translation work. Self-hosting splits the field too, which the next section covers.
Deployment, privacy, and compliance
If you handle regulated data, this section can matter more than price or accuracy. The dividing line is whether the engine has to run in the vendor's cloud or can run in your environment.
- Self-host or on-prem: Speechmatics offers containers and fully air-gapped deployment; Azure offers connected and disconnected (air-gapped) containers; Deepgram, AssemblyAI, and Rev support self-hosting on an enterprise contract; Google has an on-prem option in trusted-tester status. The rest are cloud only.
- HIPAA: Soniox, Deepgram, AssemblyAI, Speechmatics, ElevenLabs, OpenAI, Google, and Rev all document HIPAA support, usually via a signed BAA and sometimes an enterprise plan. Amazon and Azure inherit HIPAA eligibility from their parent cloud.
- Data retention: most default to not storing your audio, or to short windows you can shorten further. Soniox, Speechmatics real-time, and Azure real-time process in memory and keep nothing by default. Deepgram, Google, and OpenAI keep data out of model training unless you opt in.
- Certifications: SOC 2 Type 2 is close to table stakes here (Soniox, Deepgram, AssemblyAI, Speechmatics, ElevenLabs, OpenAI, Rev all hold it); several add ISO 27001, PCI, GDPR data residency, or CJIS.
What about accuracy?
This is the number everyone wants, and it is the one you should trust least from a vendor page. Almost every provider publishes a word error rate (WER) that makes it look best. The problem is that they are not measuring the same thing.
- The numbers are self-reported. Nearly every accuracy claim we found (Deepgram, AssemblyAI, Speechmatics, Gladia, ElevenLabs, OpenAI, Rev) is the vendor grading its own homework, often against competitor versions the vendor chose.
- They use different audio. One vendor reports on clean read speech, another on call-center audio, another on a private set. Different test sets produce wildly different WER.
- Public leaderboards do not cover everyone. The Open ASR Leaderboard is excellent but mostly ranks open models rather than these commercial APIs. Artificial Analysis covers some commercial engines, misses others, and does not test on your kind of audio.
- Training contamination is invisible. If a model trained on the same public set it is graded on, its score is flattering and you cannot tell from the outside.
The closest thing to apples-to-apples
That said, two third-party benchmarks do run providers on the same audio with one scorer, which is as close to a fair comparison as public data gets. Artificial Analysis covers the commercial APIs; the Open ASR Leaderboard covers the open models. Both sets of numbers below are from July 2026.
| Provider (model tested) | AA-WER |
|---|---|
| 2.2% | |
| 2.4% | |
| 3.0% | |
| 3.2% | |
| 4.0% | |
| 4.0% | |
| 4.1% | |
| 4.3% | |
| 4.6% | |
| 5.2% | |
| 5.9% | |
| not listed |
Artificial Analysis AA-WER v2, non-streaming, accessed July 15, 2026. A duration-weighted average over about 8 hours of audio from three public sets: AA-AgentTalk (50%, conversational), VoxPopuli-Cleaned (25%), and Earnings22-Cleaned (25%), scored against cleaned reference transcripts. Soniox is not on the leaderboard. Whisper's score shifts with who hosts it (same weights, different serving stack), a caution in itself.
| Open model | Avg WER | Speed (RTFx) |
|---|---|---|
| 5.39% | 6,038x | |
| 5.65% | 100x | |
| 5.66% | 6,098x | |
| 5.78% | 2,126x | |
| 6.01% | 180x | |
| 6.39% | 1,821x | |
| 6.55% | 462x | |
| 7.01% | 783x | |
| 8.60% | 2,767x |
Open ASR Leaderboard, average WER (cleaned) over 7 public English sets (AMI, Earnings22, GigaSpeech, LibriSpeech clean and other, SPGISpeech, VoxPopuli), accessed July 15, 2026. RTFx is speed on a datacenter GPU, how many times faster than real time; higher is better. These are read and meeting recordings, which run easier than the conversational audio that dominates the Artificial Analysis set, so the WER here is not comparable to the table above.
These narrow the question but do not close it. Artificial Analysis skips Soniox and the open leaderboard skips the commercial APIs, so no public benchmark runs all twelve providers and the open models on the same audio with the same scorer. Part two of this post does: we send an identical test set through these engines and report word error rate with confidence intervals, using the same open scoring method the research community uses.
Open-source and self-hosted
The 12 above are hosted APIs, but you do not have to use one. Several open-weight models are now as accurate as the commercial engines, a few beat Whisper outright, and some also translate (see the table). If you run the model yourself, or rent it by the second on a GPU platform, the cost math changes.
| Model | License | Runs locally | Streaming | Translation |
|---|---|---|---|---|
| CC-BY-4.0 | Yes, on a laptop | Yes | No | |
| Apache-2.0 | Mini: yes; 24B: server | Yes (Realtime build) | Any-to-any | |
| CC-BY-4.0 | Yes, on a laptop | No | 24 languages | |
| MIT / Apache-2.0 | Yes, on a laptop | No | English only | |
| CC-BY-NC-4.0 | Yes, on a laptop | No | SeamlessM4T: yes |
"Runs locally" means it fits on a modern laptop or Apple Silicon Mac (roughly, models under 3B parameters). Only the largest, such as Voxtral 24B and IBM Granite Speech 8B, need a datacenter GPU. Parakeet v3 is the fastest and near the top on accuracy but transcription-only; Whisper has the widest tooling but is now mid-pack; Voxtral and Canary-1B-v2 add translation. Open-model accuracy moves monthly: a 2025-2026 wave (Cohere Transcribe, Qwen3-ASR, NVIDIA Canary-Qwen, IBM Granite Speech) pushed the top of the Open ASR Leaderboard into the ~5% WER band, ahead of Whisper, so date any "most accurate" claim and check the live leaderboard. CC-BY-NC means research or non-commercial use only.
Running it on your own machine
Unlike large language models, most of these models are small enough to run on a normal computer. Whisper, Parakeet 0.6B, Canary 1B, and Voxtral Mini all run on a modern laptop or an Apple Silicon Mac; only the largest need a server. We ran Whisper and Parakeet on an M4 Pro MacBook ourselves, to check whether on-device transcription was fast enough to ship rather than take vendor throughput claims on faith. On that machine, Parakeet transcribed about 50 times faster than real time and Whisper large-v3 about 1 to 3 times.
When it runs on hardware you already own, the only marginal cost is electricity: power draw, times how long the transcription runs, times your rate. US residential electricity averages about 17 cents per kWh. A laptop draws roughly 45 watts under load, a desktop with a discrete GPU 300 to 400.
| Setup (hardware you own) | Cost per audio-hour |
|---|---|
| Parakeet on an Apple Silicon laptop (~50x real time) | ~$0.0002 |
| Whisper large-v3 on the same laptop (~1x real time) | ~$0.008 |
| Desktop with a consumer GPU | well under $0.01 |
Electricity only, at about $0.17/kWh (US residential average, EIA) with the machine drawing 45 to 400 watts. Real-time factors are measured from our on-device benchmark on an M4 Pro. You already paid for the hardware; this is only the power it draws while transcribing.
So on a machine you own, transcription is effectively free, a fraction of a cent per hour of audio. The catch: it ties up that one machine, does not scale past it, and you paid for the hardware up front. For a desktop app or an on-device feature this is unbeatable. For a service handling many streams at once, you are back to renting GPUs.
Running it at scale on rented GPUs
At scale you rent GPUs, and an open model has no list price, only your compute bill. To compare it against the APIs above, normalize to dollars per hour of audio. The formula is: cost per audio-hour = GPU price per second times (3600 divided by RTFx), where RTFx is how many times faster than real time the model runs on that GPU. You measure RTFx by transcribing a known length of audio and reading the billed compute time.
You can rent this by the second (fal, Replicate, Modal, and Baseten all host Whisper, and most host Parakeet or Canary too) or run it on a GPU you rent by the hour. Serverless is simplest; a dedicated GPU is cheapest at steady high volume. Here is what that works out to.
| Setup | Cost per audio-hour |
|---|---|
| Naive, one file at a time (Whisper on an H100) | ~$6.90 |
| Serverless convenience (fal, NVIDIA Canary) | ~$2.88 |
| Batched pipeline (Parakeet or Canary on an H100) | ~$0.006 |
| Self-hosted, GPU fully utilized (Parakeet v3) | under $0.002 |
Figures from the platforms' own published examples and rate cards (Modal, fal, Replicate), July 2026. The roughly 1,000x range means cost is set by how busy you keep the GPU, not by the model.
So self-hosting is not automatically cheaper. Run a model naively, one clip at a time, and it can cost more than a commercial API. Compare the table above to the API prices earlier: Groq is $0.04 per audio-hour, Soniox $0.10, Azure batch $0.18, all cheaper than naive self-hosted Whisper. The open-source cost advantage only shows up at scale, when you batch hard and keep the GPU saturated. Until then, a cheap hosted API (Groq is literally hosted Whisper) gives you the same model with none of the operational work.
When open-source is worth it
Self-hosting also adds fixed costs the APIs absorb for you: building the batching pipeline, autoscaling GPUs, reliability, monitoring, and rebuilding features like diarization and formatting yourself. Whether the savings clear that overhead comes down to two things.
- Volume. Batched open-source saves roughly $0.03 per audio-hour against the cheapest API (Groq) and around $0.60 against a premium real-time API. If a self-host pipeline costs you on the order of $50k a year in engineering time to build and run, you need a few thousand audio-hours a day to beat Groq, but only a few hundred a day to beat a premium API. Below that break-even, an API is cheaper once you count the engineering.
- Requirements no API can meet at any price. Audio that must stay on-prem or air-gapped for compliance, full control of the model, fine-tuning on your own domain, or offline and edge use. These justify open-source regardless of volume.
- When it is not worth it: low or spiky volume, a small team, or you need diarization, translation, and formatting working out of the box. A cheap hosted API wins on total cost and time to ship.
How we would approach the choice
Here is the decision framed as tradeoffs. Match it to the job you actually have.
- Live translation in one stream: you want translation delivered as the person speaks, without a second service. Look at Soniox, Gladia, and Speechmatics first.
- Cheapest bulk transcription of recordings: if you process finished files and do not need real time, the hosted-Whisper options (Groq, then OpenAI) are dramatically cheaper per hour, at the cost of features like diarization.
- Regulated or on-prem: if data cannot leave your environment, start with Speechmatics and Azure (both do air-gapped), then Deepgram, AssemblyAI, and Rev for enterprise self-hosting.
- Widest language coverage: Azure (148), Google (137), and Amazon (113) lead on raw language count, though coverage quality varies by language.
- Speaker labels included: Amazon, Azure, Speechmatics, Soniox, Gladia, and Rev include diarization without a separate add-on charge.
- Very high volume, or a strict on-prem requirement: consider self-hosting an open model (Parakeet v3 for speed, Whisper for tooling) on batched GPUs. See the open-source section for when the savings actually beat an API.
Whatever you pick, run your own audio through it before you commit. Vendor demos use easy audio. Your users will not.
Sources (all accessed July 15, 2026)
- Soniox pricing: https://soniox.com/pricing
- Deepgram pricing: https://deepgram.com/pricing
- AssemblyAI pricing: https://www.assemblyai.com/pricing
- Gladia pricing: https://www.gladia.io/pricing
- Speechmatics pricing: https://www.speechmatics.com/pricing
- ElevenLabs API pricing: https://elevenlabs.io/pricing/api
- OpenAI API pricing: https://developers.openai.com/api/docs/pricing
- Groq pricing: https://groq.com/pricing
- Amazon Transcribe pricing: https://aws.amazon.com/transcribe/pricing/
- Azure AI Speech pricing: https://azure.microsoft.com/en-us/pricing/details/cognitive-services/speech-services/
- Google Cloud Speech-to-Text pricing: https://cloud.google.com/speech-to-text/pricing
- Rev AI pricing: https://www.rev.ai/pricing
- Open ASR Leaderboard: https://huggingface.co/spaces/hf-audio/open_asr_leaderboard
- Artificial Analysis Speech-to-Text: https://artificialanalysis.ai/speech-to-text
- fal.ai pricing: https://fal.ai/pricing
- Replicate pricing: https://replicate.com/pricing
- Modal pricing: https://modal.com/pricing
- Modal: deploying Whisper (cost example): https://modal.com/blog/how-to-deploy-whisper
- Baseten pricing: https://www.baseten.co/pricing/
- NVIDIA Parakeet TDT 0.6B v3 model card: https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3
- Mistral Voxtral (Hugging Face): https://huggingface.co/mistralai/Voxtral-Mini-3B-2507
- US electricity price (EIA): https://www.eia.gov/electricity/monthly/update/end-use.php