A $0.15/hour API can bill $0.30 for one hour of audio, while a $0.36/hour one bills $0.36 for the same file. That single billing detail decides more STT budgets than any accuracy leaderboard, and most comparisons bury it.
The best speech-to-text API in 2026 depends on whether you transcribe files or run a live voice agent. For recorded audio on a budget, start with AssemblyAI Universal-2 at $0.15/hour. For live agents where turn-taking matters, start with Deepgram Flux or Nova-3 streaming. For 90+ languages with broad diarization support, test ElevenLabs Scribe v2 at $0.22/hour batch. Prices below are pay-as-you-go flagship rates, normalized to per-audio-hour before volume discounts.
Batch and streaming are different products
Treat batch transcription and real-time streaming as two separate purchases. Batch APIs charge per audio hour processed, often with an upload-then-poll flow. Streaming APIs charge per session minute, including idle time while the WebSocket stays open, and live or die by partial-result speed.
Partial-result, finalization, and end-of-turn latency measure different moments: when first words appear, when words stop changing, and when the system decides the caller finished. Ranking vendors across those mixed definitions misleads, as streaming comparisons from Dexto and versusref warn.
The practical split:
- Large recorded archive, podcasts, meetings, call logs: optimize for $/hour, diarization accuracy, large-file handling, and correction time.
- Live captions or phone agents: optimize for stable partials, endpointing, interruption handling, and end-to-end delay including your LLM and TTS.
- Contact-center calls on AWS or GCP: procurement and per-channel billing often outweigh a $0.05/hour list-price gap.
"Test these APIs on actual customer recordings. Noisy rooms. Indian accents. Hindi-English code-switching... Accuracy, latency, and reliability first. Price last." — @Aditya_Chawla20
That post compared AssemblyAI at $0.21/hour, ElevenLabs Scribe v2 at $0.22/hour, and Deepgram Nova-3 near $0.26/hour and concluded the 5-cent spread matters less than which model survives real audio.
What 1 audio hour costs
| Provider | Batch | Streaming / realtime | Languages | Free starting offer |
|---|---|---|---|---|
| Groq Whisper | Large v3 Turbo $0.04/hr | No streaming endpoint | Whisper multilingual set | Free tier with limits |
| Soniox | ~$0.10/hr async | ~$0.12/hr realtime | 60+ in one model | None stated |
| AssemblyAI | Universal-2 $0.15/hr; Universal-3.5 Pro $0.21/hr | Universal-Streaming $0.15/hr; Pro Realtime $0.45/hr | 99 on U2; 18 on 3.5 Pro | $50 credit, no card |
| Google Cloud | Dynamic Batch $0.18/hr; Standard $0.96/hr | Standard $0.96/hr first 500k min | 125+ locales claimed | $300 Cloud credit |
| ElevenLabs Scribe | Scribe v2 $0.22/hr | Scribe v2 Realtime $0.39/hr | 90+ | ~4.5 hrs on free plan |
| Deepgram | Nova-3 $0.26–$0.46/hr by tier (promo vs regular monolingual) | Nova-3 promo ~$0.29/hr; Flux English $0.39/hr ($0.0065/min) | 45+ | $200 credit |
| OpenAI | gpt-transcribe $0.27/hr ($0.0045/min) | gpt-live-transcribe $1.02/hr ($0.017/min) | Stated per model, Whisper 98 | None stated |
| AWS Transcribe | $0.36/hr ($0.006/min) | $0.60/hr ($0.01/min) | Broad, varies by feature | 60 min/mo for 12 mo |
| Speechmatics | Melia 1 $0.24/hr base | Linden 1 $0.30/hr; Enhanced $0.80/hr | 55+ | $100 credit |
| Gladia | Solaria-3 €0.16/hr | €0.68/hr | 100+ on Solaria-1; 6 on Solaria-3 | €50 credit, 1 year |
Deepgram's range reflects promo versus regular monolingual prerecorded pricing; confirm the active tier on the Deepgram pricing page before budgeting.
The multichannel trap
One hour of stereo audio is not always one billable hour. AssemblyAI and Google bill every channel separately, so a 60-minute two-channel call at Universal-2 costs $0.15 x 2 = $0.30. The same call on Google Standard costs $0.96 x 2 = $1.92. AWS Transcribe includes up to two channels in the duration charge, so that stereo call stays near $0.36 batch in the US East high-volume example cited by CometAPI. Check channel counting before comparing any two $/hour figures.
Add-ons that flip the ranking
Base transcription is only the first line. Per CometAPI's line-item breakdown, Deepgram Nova-3 monolingual prerecorded at $0.0077/min becomes $0.0097/min with diarization and $0.0117/min with diarization plus redaction; keyterm prompting adds another $0.0013/min. AssemblyAI charges $0.02/hour for recorded diarization but $0.12/hour for streaming diarization. ElevenLabs adds $0.08/hour for realtime keyterms and $0.07/hour for entity detection.
Total cost per accepted transcript = API processing + paid features + retries + storage/transfer + human correction time. In CometAPI's worked example at $30/hour reviewer cost, a $0.15/hour route needing 8 minutes of fixes totaled $4.15, while a $0.60/hour route needing 3 minutes totaled $2.10.
If you are building a voice agent, test turn-taking first
Voice agents fail on interruptions and pauses, not on clean-audio WER. Compare turn-taking mechanism, context controls, realtime price, and the key limitation side by side.
| Provider | Turn-taking | Realtime price | Limitation |
|---|---|---|---|
| Deepgram Flux | EndOfTurn events, tunable threshold; eager mode + TurnResumed; eager can raise LLM calls 50–70% per Deepgram docs cited by Dexto | Flux English $0.0065/min; Nova-3 streaming promo ~$0.0048/min | 10-language multilingual Flux; promos expire |
| AssemblyAI | Prompt + keyterms + 1,750 chars of agent previous reply; punctuation-based endpointing | Universal-Streaming $0.15/hr; Pro Realtime $0.45/hr | Cheap streaming tier is English-focused; idle socket time bills |
| ElevenLabs Scribe | ~150 ms vendor model latency; 90+ langs; batch diarization to 32 speakers | Scribe v2 Realtime $0.39/hr + $0.08/hr realtime keyterms | Realtime diarization not listed; vendor figure excludes network/agent stack |
| OpenAI | Transcript deltas over WebSocket; no server-side VAD; client commits turn; no realtime speaker labels or word timestamps | gpt-live-transcribe $0.017/min | Client-side endpointing required; highest realtime $/hr here |
Measure tool-call and LLM delay too. One hotel-agent builder on X reported 5–7 seconds of post-tool-call silence despite fast STT: @albertolco88. That end-to-end gap never appears in STT-only tables.
If you transcribe recordings, score text and diarization separately
A user benchmark reported on r/speechtech tested a real 2-hour-22-minute Swedish meeting with six speakers against pyannote ground truth. The reporter found Deepgram fastest and strongest on diarization, ElevenLabs better on Swedish transcript text but missing two of six speakers, and AssemblyAI close on accuracy but much slower for that pipeline. The author combined providers rather than declaring one winner.
"Deepgram is the strongest of the three, and was very quick." — u/DoctorNootNoot on r/speechrecognition
Three recording-specific checks separate usable APIs from frustrating ones:
- Code-switching inside one utterance. Builders in the multilingual meeting thread report garbled transition zones when speakers mix Finnish and English or Spanish and English mid-sentence. Universal-3.5 Pro lists code-switching across 18 languages; Gladia and Speechmatics position multilingual detection as their edge. No vendor handles every European pair cleanly out of the box, so test your actual pairs.
- Diarization at scale. Ask how many speakers are supported (ElevenLabs batch lists 32, Azure lists 35, Speechmatics realtime lists no stated cap), whether realtime diarization exists at all, and what it adds to price and delay. The same Swedish benchmark reporter described AssemblyAI's turnaround as too slow for their production pipeline even though text accuracy was close.
- Large files. OpenAI caps audio uploads at 25 MB, which complicates long recordings. Batch-first APIs accept URL-based jobs, multi-hour files, and durable async polling. A user in the batch-transcription thread reported they "cannot upload large files" and did not understand URL processing — an adoption blocker no WER table captures.
Self-hosted Whisper large-v3 remains the offline option. In Echosaw's same-audio test across 22.7 minutes of English read and meeting speech, hosted APIs scored under 2.1% WER on clean chapters while a two-vCPU Whisper setup scored 10–17% with dropped segments, plus 32.7% on meeting audio at 0.5x real time. Production self-hosting normally uses a GPU with VAD and chunking for practical throughput.
Cloud, specialist, or self-host
- Hyperscaler native. Google Dynamic Batch at $0.18/hour suits large non-urgent archives already on GCP; Standard at $0.96/hour punishes realtime use. AWS Transcribe fits S3/IAM call flows with two channels included. Azure Speech bills batch near $0.18/hour and realtime near $1.00/hour with a 5-hour/month free realtime tier. Factor storage, transfer, and redaction fees outside the transcription line.
- Cheap managed batch. Groq Whisper Turbo at $0.04/hour undercuts every managed API for plain batch dumps but offers no streaming or stated diarization. Soniox near $0.10/hour async is the lowest batch figure in the table above that bundles 60+ languages with diarization and timestamps included, though with thinner independent benchmark coverage.
- Hybrid pipeline. Use ElevenLabs for transcript text where it leads, Deepgram for diarization where it leads, and Whisper or Groq for cheap overflow batch. That split adds orchestration cost, but when no single provider tops both text and speaker labels on your audio, two cheap calls beat one expensive correction pass.
Migration note: OpenAI marks whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, and gpt-4o-transcribe-diarize as deprecated with shutdown scheduled February 26, 2027. Teams still on those models should test replacements before the cutoff, especially where word timestamps and diarization behavior differ.
Run a 7-day test on your own audio
Vendor WER figures use different datasets, normalizers, and model versions and cannot be compared directly. Collect 30–50 real caller turns or meeting segments with your accents, noise, and vocabulary, hand-transcribe the reference once, then stream or upload identical audio to two or three providers with the rest of your pipeline unchanged.
Log audio seconds, channel count, enabled features, model version, partial latency, finalization delay, end-to-end agent delay, diarization error rate, and correction minutes per accepted transcript. Score business-critical tokens — names, emails, amounts, product terms — separately from generic WER. The cheapest $/hour route that doubles human review usually loses on total cost.
FAQ
What is the cheapest speech-to-text API in 2026?
Soniox near $0.10/hour and AssemblyAI Universal-2 at $0.15/hour are the lowest managed batch list prices with diarization support in the table above. Groq Whisper Turbo at $0.04/hour is cheaper for raw batch without streaming or diarization.
Which API has the lowest streaming latency?
Per Dexto's vendor-claim roundup: ElevenLabs ~150 ms model latency, Deepgram ~260 ms end-of-turn, Speechmatics <350 ms mean finalization. Test partial, finalization, and end-to-end delay on your own calls.
Which STT API is best for voice agents?
Deepgram Flux for native turn-taking, AssemblyAI for context prompting, ElevenLabs Realtime for broad language coverage on an ElevenLabs voice stack, OpenAI live transcription for OpenAI-native stacks that can implement endpointing.
Which handles multilingual and code-switched audio best?
ElevenLabs (90+), AssemblyAI U2 (99; 3.5 Pro 18 with code-switching), Gladia Solaria-1 (100+), Speechmatics (55+). Test your exact pair; mid-sentence switching still garbles transitions.
Should I use one vendor or combine transcription and diarization?
If one provider tops text but trails on speaker labels on your audio, as in the Swedish six-speaker report linked above, combining providers can beat either alone. Budget orchestration and dual billing against correction time saved.
Is OpenAI Whisper being shut down?
OpenAI has marked older transcription models including whisper-1 and gpt-4o-transcribe variants as deprecated with shutdown scheduled February 26, 2027. Current paths are gpt-transcribe for files and gpt-live-transcribe for live audio.
| Workload | Start with | Why |
|---|---|---|
| Large recorded archive | AssemblyAI U2 / Google Dynamic Batch / Groq Whisper | Lowest $/hour; Groq cheapest when diarization is unneeded |
| Live voice agent | Deepgram Flux / AssemblyAI Realtime / ElevenLabs Realtime | Turn-taking, context prompts, low model latency |
| Multilingual meetings | ElevenLabs Scribe v2 / Speechmatics / Gladia | 90+/55+/100+ language positioning, code-switch design |
| AWS or GCP native | Transcribe / Cloud STT | IAM, storage, procurement outweigh list price |
| Offline or data-residency | Self-hosted Whisper | Audio never leaves your hardware |
Related reading: Best Text-to-Speech API, Best Voice Cloning API 2026, Gemini 3.5 Transcribe API Guide.