What Speech-to-Text APIs Really Cost
Compare ten speech-to-text APIs using official prices, then calculate how short clips, stereo channels and idle streaming time change a 100-hour bill.

Speech-to-text API pricing ranges from $0.04 per audio hour for Groq’s Whisper Large V3 Turbo to $0.96 per hour for Google Cloud Speech-to-Text V2 standard recognition at the first usage tier. Those figures describe different products and billing rules. Groq charges for at least ten seconds per file; Google rounds each request to a second and charges each processed channel. A useful quote starts with your model, processing mode, clip lengths and channel count, then adds any required features. The prices below are public US-dollar rates read from each provider’s own page on November 4, 2026. They are not performance rankings or account-specific quotes.
Compare ten APIs in their native billing units
The table uses one named model or service per provider. A dash means the linked public page did not establish a comparable price for that mode. Rates exclude taxes, storage, committed-use discounts and introductory credits. “Per hour” is a display conversion, not a promise that a provider bills only complete hours.
| Provider and product | File or batch rate | Live rate | Billing detail that matters |
|---|---|---|---|
| AssemblyAI Universal-2 | $0.15/audio hour | — | Speaker diarization adds $0.02/hour; multichannel audio is billed per channel. |
| Deepgram Nova-3 Monolingual | Lower file rate is stated, but no comparable figure in the displayed rate table | $0.0077/audio minute ($0.462/hour) | Per second, with no minimum; multichannel sums channel duration. Speaker diarization adds $0.0020/minute. |
| Google Cloud Speech-to-Text V2 standard | Dynamic batch $0.003/minute ($0.18/hour) | Standard recognition starts at $0.016/minute ($0.96/hour) | Each request rounds to a second; processed channels are charged separately. The standard rate changes above 500,000 minutes/month. |
| OpenAI GPT Transcribe | $0.0045/audio minute ($0.27/hour) | The same model also accepts Realtime transcription input; check the selected endpoint’s billing | The model page quotes transcription audio duration. It does not publish a universal clip minimum there. |
| ElevenLabs Scribe v2 | $0.22/hour | Scribe v2 Realtime: $0.39/hour | Keyterm prompting and transcript editing have separate hourly prices in the API table. |
| Speechmatics Melia 1 | Displayed rate: $0.12/hour | Displayed rate: $0.20/hour | These are different pre-recorded and real-time rates; medical and Enhanced models cost differently. The base rate without the page’s training and volume discount choices was not established from the readable display; verify those choices before budgeting. |
| Groq Whisper Large V3 Turbo | $0.04/hour | — | At least ten billable seconds per file; Groq transcribes the first track of a multitrack file. |
| Soniox Speech-to-Text | About $0.10/hour equivalent | About $0.12/hour equivalent | Actual API billing uses input audio, input text and output text tokens. Streaming input audio reflects session duration. |
| Amazon Transcribe | Region and monthly-tier dependent; check the selected region | AWS’s US East example uses $0.01/minute at 2 million monthly minutes | Billed per second with no minimum; AWS says a two-channel conversation is charged by total audio duration. |
| Mistral Voxtral Mini Transcribe 3 | $0.0035/audio minute ($0.21/hour) | Voxtral Mini Transcribe Realtime 3: $0.008/minute ($0.48/hour) | The pricing page names separate file and realtime models. |
The table is deliberately asymmetric. Deepgram’s displayed pay-as-you-go rate identifies its live price, while its FAQ says pre-recorded runs lower without supplying a figure in that table. Amazon asks you to select a region and tier. Soniox quotes approximate hourly equivalents but calculates actual usage from tokens. Filling those gaps with a competitor’s cached number would make the comparison look more certain than the makers’ pages allow.
Calculate billable audio before multiplying by a rate
Start with the unit the provider uses. For second-based billing, a useful worksheet is billable seconds = sum of ceil(file duration in seconds / billing increment) × billing increment, then apply a documented minimum to each file. Convert billable seconds to hours by dividing by 3,600 or to minutes by dividing by 60. Multiply by the rate for the exact model and mode. Apply channel multiplication only when that provider documents it.
Google says it measures processed audio in one-second increments and rounds each request up to the next second. A 3.2-second file therefore contributes four seconds before any channel multiplier. Deepgram says its normal audio requests bill per second with no block minimum. Groq’s ten-second minimum changes the arithmetic even if the file contains just two seconds of speech. These rules matter more than a one-cent difference in hourly list price when an application sends many short files.
Features go into a separate line. For example, AssemblyAI’s pricing page lists Universal-2 at $0.15/hour and speaker diarization at another $0.02/hour. A 100-hour mono batch with diarization is 100 × ($0.15 + $0.02) = $17, before any other charge. Deepgram lists diarization at $0.0020/minute on pay-as-you-go, which adds $12 to 6,000 billable minutes. A provider that includes a feature should not be compared with a stripped-down rate from a provider that sells it separately.
Soniox needs a different formula: (audio input tokens × audio rate + input text tokens × input-text rate + output text tokens × output-text rate) / 1,000,000. Its pricing page gives approximate token counts for an hour, so its $0.10 and $0.12 hourly equivalents are guides. Your actual transcript length, context and session duration affect the invoice. The AI API cost calculator on this site prices text-model tokens; it does not calculate these speech-audio charges.
Price the same 100 hours three ways
The following are illustrative calculations, not tests or vendor quotes. The mono rows use 100 hours of audio. The two-channel rows assume a 100-hour recording with both channels processed: 200 channel-hours where the provider charges for each channel, not 100 channel-hours split across two channels. Assume no free credits, no tax and no extra storage. Hold language and required accuracy fixed before comparing providers; neither was measured here. The examples change the packaging of that audio. The idle-streaming comparison below is separate: 100 hours of speech across 400 connected hours.
| Workload | Billable-unit calculation | Example base charge |
|---|---|---|
| Long mono files, Google V2 dynamic batch | 6,000 minutes × $0.003/minute | $18.00 |
| Long mono files, Groq Turbo | 100 hours × $0.04/hour; each file exceeds ten seconds | $4.00 |
| 120,000 separate three-second mono clips, Google V2 dynamic batch | 120,000 × 3 seconds = 100 hours; one-second rounding changes nothing | $18.00 |
| 120,000 separate three-second mono clips, Groq Turbo | 120,000 × 10-second minimum = 333.33 billable hours; × $0.04/hour | About $13.33 |
| 100 hours of two-channel audio, Google V2 dynamic batch | 100 hours × 2 channels × $0.18/hour | $36.00 |
| 100 hours of two-channel audio, Deepgram Nova-3 live | 6,000 minutes × 2 channels × $0.0077/minute | $92.40 |
| 100 hours of two-channel audio, AssemblyAI Universal-2 file | 100 hours × 2 channels × $0.15/hour | $30.00 |
The stereo rows illustrate different channel policies. They are not interchangeable transcripts: Groq’s documentation describes mono preprocessing and says it transcribes only the first audio track of a multitrack file. A stereo track and multiple audio tracks are different; do not assume this endpoint returns separate channel transcripts. Google, Deepgram and AssemblyAI explicitly charge for processed channels. AWS says its two-channel conversation example is charged for total audio duration. Its example’s $0.01/minute rate assumes two million monthly minutes and cannot be applied to this 100-hour worksheet without checking the applicable tier. Decide whether you need separate channel transcripts or a mixed mono recording before estimating a saving.
Idle live time can change the bill too. Soniox describes streaming input audio tokens as the duration of audio or the streaming session and provides a reference of about 30,000 input audio tokens per hour and 15,000 output text tokens per hour of speech. Suppose 100 hours of actual speech occur across 400 connected hours, with no input text. At the listed realtime token rates, the illustrative calculation is 400 × 30,000 / 1,000,000 × $2 + 100 × 15,000 / 1,000,000 × $4 = $30. If those same 100 speech hours occupied only 100 connected hours, it would be $6 + $6 = $12. Actual token usage may differ; measure it in the provider’s usage records. Other vendors may define live billable duration differently, so do not copy this session formula to every row.
Find the short-clip tipping point
The Groq-versus-Google example shows how the price order can change with clip length. For uniform clips of d seconds, with d below Groq’s ten-second minimum, Groq’s effective rate per usable audio hour is $0.04 × 10 / d. Google’s one-second request rounding makes its dynamic-batch rate per usable hour $0.18 × ceil(d) / d. At two seconds, Groq’s minimum makes 100 usable hours cost $20, above Google’s $18. At three seconds, Groq costs about $13.33, below Google’s $18. There is no fractional break-even point implied by those whole-second examples: rounding changes Google’s cost between them. This is a price-only comparison of two eligible file-processing paths; it says nothing about transcript quality, turnaround or whether a 120,000-file workload fits your account limits.
Replace the clip length, minimum and rates with your own values. If clips have mixed lengths, calculate each length bucket separately rather than averaging first. For Google, round each request to a second before summing. For a provider with a minimum, take the larger of its minimum and rounded duration for each request. An average duration hides how many files cross that minimum.
Choose the mode that fits the job
Set the deadline and output requirements first. A completed recording can use a file or dynamic-batch path if its turnaround is acceptable. A live caption or voice agent needs a real-time path; a cheaper offline price does not meet that requirement. Check languages, speaker labels, separate channel output and retention rules against the named model. Provider marketing claims about accuracy are not a shared benchmark, and this article did not run a recognition test.
For a recurring budget, exclude sign-up credits and promotional rates. Separate transcription, optional features, storage and any other cloud resources. Google’s pricing page notes that Cloud Storage and other Google Cloud resources can add costs. Read account-specific discounts after you have a bill at public list rates. Our text-token price comparison and batch API guide explain related text-model bills; the API rate-limit guide helps check whether a large clip workload fits throughput limits. The AI model tracker covers model releases, not speech billing.
Sources
- AssemblyAI pricing — Universal-2, diarization and multichannel policy.
- Deepgram pricing — Nova-3, per-second and channel rules, add-ons.
- Google Cloud Speech-to-Text pricing — V2 rates, rounding, channels and dynamic batch.
- OpenAI GPT Transcribe model — named model’s audio-minute rate.
- ElevenLabs API pricing — Scribe v2 file and realtime rates and add-ons.
- Speechmatics pricing — Melia 1 file and live rates.
- Groq Speech-to-Text documentation — Turbo rate, ten-second minimum and first-track rule.
- Soniox API pricing — token rates and approximate hourly equivalents.
- Amazon Transcribe pricing — regional tiers, second increments, two-channel example.
- Mistral API pricing — Voxtral Mini Transcribe 3 and Realtime 3 rates.
All pages read on November 4, 2026.
Free toolWhat will 10,000 chats a month cost?Estimate my bill

