The Best Speech-to-Text API for Agents Isn't the Cheapest Per Hour
Eight speech-to-text APIs priced and audited the way an agent uses them: what a failed job costs, and what each one does with your audio once the transcript exists.
TL;DR: the Cheapest Per Hour and the Cheapest to Run Are Different APIs
An agent does not transcribe a file once. It submits, times out, retries, gets a malformed response, retries again, and only then hands you a transcript. I priced eight speech-to-text APIs the way that workload actually bills β and the headline per-hour rate turned out to be close to useless.
The short answer: if you are moving serious volume and only need plain text, Groq's Whisper Large v3 Turbo at $0.04 per hour is the price floor and nothing else is close. If the agent needs live partial text, Deepgram Nova-3 streaming at $0.0048 per minute is the one to beat. And if you want a plain HTTP job that hands back a diarized transcript plus a summary β and that charges you nothing when it fails β the Voibe speech-to-text API (ours) sits at $0.25 to $0.30 per hour with per-second billing.
Two things are worth internalising before you compare a single rate. Three of these eight vendors bill you for work that produced no transcript β that is where an agent's bill actually comes from. And the default retention behaviour varies from "deleted the moment the transcript exists" to "stored up to 12 months and used for training on the free plan." Nobody advertises the second one on their pricing page.
| API | Best for | Batch list price | The catch |
|---|---|---|---|
| Groq (Whisper v3 Turbo) | Bulk batch on a budget | $0.04/hour | 10-second minimum per request; plain transcript only |
| Deepgram Nova-3 | Real-time agent voice | $0.258/hour ($0.0043/min) | Multilingual costs 21% more than monolingual |
| Voibe | Async agent jobs that need structure | $0.25-$0.30/hour | Batch jobs; billed only on delivered transcripts |
| AssemblyAI | Audio intelligence add-ons | $0.15-$0.21/hour | Streaming bills wall-clock socket time, idle included |
| OpenAI | Teams already in the OpenAI SDK | $0.18-$0.36/hour | Whisper is the most expensive way to run Whisper |
| ElevenLabs Scribe v2 | Wide language coverage | $0.22/hour | Entity detection and keyterms are priced as extras |
Key Takeaway
For an agent workload the number that decides the bill is what a failed job costs, not the headline rate. Voibe bills per second and only on delivered transcripts, so queued, processing and failed jobs cost nothing β which is why it can come out cheaper per finished transcript than a $0.04-per-hour vendor once retries are in play, and Groq at $0.04 is the cheapest per hour on this page. On retention the spread is just as wide: Voibe deletes the recording the moment the transcript exists, with no setting to change and no plan tier to reach, while Gladia stores audio up to 12 months by default and trains on free-plan data.
Why Agent Builders Outgrow Their First Speech-to-Text API

Almost everyone starts in the same place: whichever transcription endpoint their existing SDK already had. That works until the agent runs unattended. Then four things go wrong, in roughly this order.
1. Retries get billed as usage. An agent that retries on timeout is doing exactly what you told it to. On a vendor that bills on submitted audio, four attempts at a 3 minute 24 second file bill as roughly 13.6 minutes for one usable transcript. Nothing in the dashboard tells you that 10 of those minutes bought you nothing.
2. Idle sockets get billed as audio. This one is documented rather than hidden. AssemblyAI's pricing page states plainly that streaming "is billed per session duration β the time the WebSocket connection is open, not the duration of audio sent. Idle connection time counts." An agent that opens a stream, thinks for 40 seconds, then speaks is paying for the thinking.
3. Short clips hit invisible floors. Groq bills audio at a 10-second minimum per request. For an agent handling three-second voice commands, the effective rate is more than triple the sticker price.
4. The response needs a second model to be useful. A raw transcript is rarely what the agent wanted. It wanted speakers separated, or a summary, or both. If the API returns a wall of text, you pay a language model to fix that, and that cost never appears in your transcription line item.
None of these are scandals. They are ordinary pricing decisions that happen to be badly matched to how an autonomous caller behaves.
What Changes When the Caller Is an Agent Instead of a Person
A human uploads a file, watches a spinner, and gets annoyed if it fails. An agent has no patience to lose and no judgment about cost. That flips which API properties matter.
- Failure is routine, not exceptional. A person retries twice and gives up. An agent retries until its policy says stop. So the price of a failed job stops being a rounding error and becomes a line item.
- Latency matters less than you would guess. For an async job the agent is not sitting there watching. A webhook that fires 40 seconds later is fine. Sub-second latency is worth paying for only when a human is waiting on partial text.
- The integration surface has to be boring. An SDK is a dependency, a version, and a breaking change. A bearer token and three HTTP endpoints are none of those things. This is why several of these vendors now lead with plain REST rather than client libraries.
- Structure beats raw accuracy at the margin. Getting speaker labels and a summary in the same response removes a whole model call from the loop.
So the evaluation below weights billing behaviour, failure semantics and response shape more heavily than it weights word error rate. If you need a pure accuracy shoot-out instead, our Whisper alternatives roundup covers the model layer, and how Whisper actually works explains why the same model gives different results on different infrastructure.
Which Agent Runtimes Can Call a Speech-to-Text API
Worth saying plainly before the list: there is no plugin, connector or official integration between Voibe and any runtime below, and none is needed. The API is three HTTP endpoints and a bearer token in a header β the docs treat the absence of an SDK as the feature, and this is why. Anything that can make an HTTP request can use it, which in 2026 means essentially every agent framework shipping.
The same is true of most APIs on this page. The differences that actually bite an agent are the ones covered above: what a failed job costs, and what happens to the audio afterwards.
| Runtime | What it is | How it would call a transcription API |
|---|---|---|
| Claude Code | Anthropic's terminal coding agent | A shell call from its Bash tool, or wrapped as an MCP server so the model calls it as a typed tool |
| Claude Cowork | Claude Code's architecture with no terminal required, aimed at non-technical knowledge work | An MCP server or connector; the same tool definition works in both |
| Codex | OpenAI's coding agent | A shell step inside the task it is already running |
| Cursor | The AI code editor, whose agent mode runs multi-step tasks | A plain HTTP call from the task it is running, or the same MCP tool definition |
| Grok Build | xAI's agentic coding CLI, with MCP support and parallel sub-agents | An MCP-connected tool, the same way it reaches GitHub or Linear |
| Grok Bot | xAI's always-on AI teammates, in beta since August 2026; each task gets its own persistent cloud computer | A plain HTTP call from that cloud box β and because it keeps working after you close your device, a webhook suits it better than polling |
| OpenClaw | Self-hosted, local-first agent that runs as a background service and reaches you over messaging channels | Packaged as an AgentSkill; its Gateway already multiplexes HTTP |
| Hermes | Nous Research's self-hosted always-on agent, which writes a reusable skill after finishing a task | A skill wrapping the three endpoints, reusable from then on |
| Your own loop | A cron job, a queue worker, a Lambda | POST to upload, then poll or take the webhook |
The integration step is itself an agent task, which is the part worth internalising. Because the surface is three documented endpoints and a bearer token, you do not have to write the client at all β you point the agent at the docs and let it write one. In practice that is a single instruction along the lines of "read the Voibe API docs and write me a client that sends a meeting recording and returns the diarized transcript plus a bullet summary." An SDK would actively make this worse: it is one more dependency the model has to know the version of, and one more thing to break. That is the honest reason there isn't one.
Two patterns matter more than which framework you picked. If a human is waiting on the result, poll. If the agent is long-running or headless β an overnight queue, an always-on teammate, a heartbeat that wakes and processes a folder β pass a webhook_url and let the finished payload arrive. The second shape is where per-second, charged-only-on-success billing compounds, because unattended agents retry more and nobody is watching the meter.
And the always-on case is exactly where retention defaults stop being abstract. An agent that transcribes continuously, unattended, for months is the worst possible place to discover that a per-request opt-out flag was missing from one code path. That argument is made in full in the retention section above; it applies with most force here.
Info
If your agent can call a URL, it can listen. There is no plugin or official integration between Voibe and any of these runtimes β the API is three HTTP endpoints and a bearer token.
What to Look For in a Speech-to-Text API for Agents
Seven checks, in the order I would run them. The first three are the ones that actually separate these vendors; the rest are table stakes you should still confirm.
1. What does a failed job cost? Read the billing section, not the pricing table. You are looking for whether the meter starts on submission or on a delivered result. Voibe states that jobs are "charged only on DONE" and that "queued, processing and failed jobs cost nothing." Most vendors bill on audio submitted.
2. What is the billing granularity, and is there a floor? Per-second billing on short clips is materially cheaper than per-minute rounding. Groq's 10-second minimum per request is the clearest example of a floor that reshapes the effective rate for short-utterance agents.
3. Streaming or batch, and are you honest about which you need? Streaming costs roughly 1.5x to 2x batch across every vendor here. Deepgram Nova-3 monolingual is $0.0043 per minute batch against $0.0048 per minute streaming at current promotional pricing, and a $0.0077 per minute regular rate. Paying the streaming premium for a job nobody is watching is the most common overspend I see.
4. Does the response carry structure, or just text? Speaker diarization, timestamps and summaries either come in the response or cost you a second model call. AssemblyAI prices diarization as an add-on: +$0.02 per hour on async, +$0.12 per hour on streaming. Voibe includes diarization and a steerable summary of up to 2,000 characters in the same payload.
5. How does it tell you the job is done? Polling is fine at low volume and wasteful at high volume. A webhook the agent can register is strictly better. Confirm the vendor supports one before you build a polling loop you will have to rip out.
6. What happens to the audio afterwards, by default? For agents handling customer calls or internal meetings this is the question your security review will ask, and the defaults are further apart than the prices. Gladia stores audio up to 12 months by default and trains on free-plan data; Deepgram and AssemblyAI both run model-improvement programs you have to opt out of; OpenAI keeps abuse-monitoring logs up to 30 days and gates zero retention behind approval; Voibe deletes the recording the moment the transcript exists with nothing to configure. Groq and Speechmatics do not state terms in public docs at all. The full breakdown is in the retention section below.
7. Free tier big enough to actually test? Deepgram gives $200 in credit, Speechmatics $100, AssemblyAI $50 with no card, Gladia β¬50, and Voibe 15 free minutes with no card. The credit-based tiers let you run a real evaluation; a 15-minute allowance lets you check the shape of the response and not much more.
Speech-to-Text API Pricing Compared, August 2026
Every figure below came from the vendor's own pricing or docs page on 24 August 2026. Rates move; re-check before you commit budget.
| API | Batch / async | Streaming | Free to start | Billing unit |
|---|---|---|---|---|
| Groq Whisper Large v3 Turbo | $0.04/hr | Not offered | Free tier | Per request, 10s minimum |
| Groq Whisper Large v3 | $0.111/hr | Not offered | Free tier | Per request, 10s minimum |
| AssemblyAI Universal-2 | $0.15/hr | $0.15/hr (English) | $50 credit, no card | Per hour; streaming per session |
| OpenAI gpt-4o-mini-transcribe | $0.003/min ($0.18/hr) | Live models from $0.017/min | None | Per minute |
| AssemblyAI Universal-3.5 Pro | $0.21/hr | $0.45/hr | $50 credit, no card | Per hour; streaming per session |
| ElevenLabs Scribe v2 | $0.22/hr | $0.39/hr | Free plan | Per hour |
| Voibe | $0.25-$0.30/hr | Not offered | 15 min, no card | Per second, on success only |
| Deepgram Nova-3 | $0.0043/min ($0.258/hr) | $0.0048/min current, $0.0077 regular | $200 credit | Per minute |
| OpenAI gpt-transcribe | $0.0045/min ($0.27/hr) | Live models from $0.017/min | None | Per minute |
| OpenAI Whisper | $0.006/min ($0.36/hr) | Not offered | None | Per minute |
| Gladia | $0.61/hr Starter, from $0.20/hr Growth | $0.75/hr Starter, from $0.25/hr Growth | €50 credit | Per hour |
| Speechmatics | Not itemised publicly | Not itemised publicly | $100 credit, no card | Not stated |
A note on ratings: these are infrastructure APIs, not consumer apps, and none of them carry a meaningful third-party review score the way a Mac dictation app does. I have not invented one. The ranking below rests on published pricing, published billing terms and documented capabilities β all of which you can verify against the links.
What Each API Does With Your Audio After It Is Transcribed
This is the question that stops an agent project during security review, and it is the one that pricing pages are quietest about. I read each vendor's own docs, privacy policy or security page rather than their marketing. The defaults differ more than the prices do.
The single most surprising finding: Gladia states "by default, we store data up to 12 months" and that "only users in the Free Plan are subject to data used for model training." So the free tier you evaluate on is the tier that trains on your audio. Pro and Enterprise are excluded.
The second: Deepgram's Model Improvement Partnership Program is opt-out, not opt-in. Their docs are explicit β you "add mip_opt_out=true as a query parameter of all API requests that you want to be excluded". That is a per-request flag. Miss it on one code path and that path is contributing training data. AssemblyAI's model improvement program is likewise something you opt out of, from its Data Controls page, alongside a configurable TTL for audio and transcripts.
| API | Audio kept for (default) | Trained on by default? | How you turn it off |
|---|---|---|---|
| Voibe | Deleted the moment the transcript exists | No | Nothing to turn off β it is the default |
| OpenAI | Up to 30 days (abuse-monitoring logs) | No β opt-in only | Zero Data Retention, subject to prior approval |
| Deepgram | "Only for the duration necessary to process the request" β for opted-out requests | Opt-out | mip_opt_out=true on every request |
| AssemblyAI | Configurable TTL | Opt-out | Data Controls page (Owners/Admins) |
| ElevenLabs | Zero Retention Mode available | Not stated in the docs reviewed | Enable Zero Retention Mode; EU, India and Singapore regions offered |
| Gladia | Up to 12 months | Yes on the Free plan; no on Pro/Enterprise | Custom policy: 1 month, 1 week, 1 day or zero |
| Groq | Not stated publicly | Not stated publicly | Privacy policy routes GroqCloud data to the Services Agreement and DPA |
| Speechmatics | Not itemised publicly | Not itemised publicly | Sales conversation |
Where Voibe actually sits. The recording "is deleted the moment the transcript exists. It is never kept, and never used to train models." There is no retention setting, no per-request flag, and no plan tier that unlocks it β it is how the API behaves out of the box, including on the free 15 minutes. Reads are scoped to your key, so "one customer's transcripts are never visible to another."
None of this is a compliance claim. It is an architectural one: audio that has already been deleted cannot be retained, leaked, or trained on later. What that is worth to you depends on whose voices are in the file. For the broader picture across dictation and AI tools, we keep the AI Privacy Tracker.
Warning
Two of these programs are opt-out rather than opt-in: Deepgram's requires mip_opt_out=true on every API request, and AssemblyAI's is switched off from the Data Controls page. A single un-flagged code path keeps contributing data.
1. Voibe β the job API that charges you for transcripts, not attempts

This is the one I reach for when an agent submits recorded audio and needs a structured result back. It is a batch API built around a billing model and a retention default that the rest of this field does not match β and it is priced per second, on delivered transcripts only.
What it does have is the billing model I wish everything else had. Jobs are charged only on DONE; queued, processing and failed jobs cost nothing. Billing is per second, so a 3 minute 24 second file costs 3.4 minutes rather than rounding to 4. And minutes never expire, which matters when an agent's volume is lumpy.
For a retry-heavy workload that inverts the comparison. Four attempts on that same file bill 13.6 minutes on a submission-billed vendor and 3.4 minutes here. At that retry rate the effective cost per finished transcript is roughly $1.00 per hour on a $0.258/hour vendor, against $0.25 per hour here.
The API surface is three endpoints: POST /transcripts returns a signed upload URL, GET /transcripts/{job_id} returns status plus the transcript and summary, and GET /transcripts lists jobs up to 200 per page. Auth is a bearer token in a header. There is no SDK, which the docs treat as the feature β "no SDK to adopt, no runtime to install, no framework to marry."
The retention behaviour is the other reason I reach for it. The recording is deleted the moment the transcript exists, it is never used to train models, and every read is scoped to your key. There is no flag to set and no plan tier to reach β it is the default, including on the free 15 minutes. Against a field where two vendors run opt-out training programs and one stores audio for up to 12 months, that is the cleanest default on this page.
The response carries what an agent usually needs next: a diarized transcript array with per-segment speaker and start/end times, a flat transcript_text string, and a summary you shape with a prompt β up to 2,000 characters of instruction, so the summary "comes back the way your code wants to read it: decisions only, action items, bullet points." A prompt as short as "summarise as bullet points, focus on decisions" changes the shape of what the agent gets back, which removes a language-model call from the loop. Note the deliberate boundary: the prompt changes the summary only, never the transcript. That is the right way round for agent work β the transcript stays a verbatim record you can audit, while the part you actually feed downstream is the part you get to shape. Pass a webhook_url and the finished payload is POSTed to you instead of polled. On retention, the landing page is unambiguous: the recording "is deleted the moment the transcript exists," it is "never used to train models," and "every read is scoped to your key."
Pricing: $10 for 2,000 minutes ($0.30/hour), $25 for 5,250 minutes ($0.29/hour), $50 for 11,000 minutes ($0.27/hour), $100 for 24,000 minutes ($0.25/hour). Fifteen free minutes on a new account, no card.
Where it fits: this is a batch API, built for audio that already exists β recordings, uploads, queued jobs. Live partial text as someone speaks is a different job, and Deepgram is the pick there. For supported languages and file limits, the playground is the fastest way to confirm against your own audio.
Best for: agents that submit recorded audio and want a structured result back β especially where retries are common, or where the audio is sensitive enough that "deleted on transcript, by default" is worth more than a lower hourly rate. It is the same team and the same transcription philosophy behind our Mac and Windows dictation app β see getting started with Voibe if you want the desktop side.
Tip
Before comparing hourly rates, instrument your current pipeline for one week and count failed and retried jobs as a share of total submissions. If that number is above about 15%, billing semantics will dominate your bill and the per-hour rate is close to irrelevant.
2. Groq β the price floor, and it is not close
Groq runs open Whisper weights on its own inference hardware and prices accordingly. Whisper Large v3 Turbo is $0.04 per hour of audio; the full Whisper Large v3 is $0.111 per hour. Against OpenAI's own Whisper endpoint at $0.36 per hour, Turbo is 89% cheaper for the same model family.
If your agent's job is "turn a large pile of recordings into plain text," this is the answer and the rest of this page is a detour. The rate limits are published rather than negotiated β 400K audio seconds per hour and 400 requests per minute on Turbo, 200K and 300 RPM on Large v3, with a 100 MB maximum file size.
The honest catch: two of them. Audio bills at a 10-second minimum per request, so short-utterance agents pay a real premium over the sticker rate. And you get a transcript, not a product β no diarization pipeline, no summaries, no audio intelligence. Everything past raw text you build yourself.
Best for: high-volume batch where you already have the downstream tooling and want the cheapest competent transcription available.
3. Deepgram Nova-3 β the one to beat for real-time

Deepgram is the default recommendation for anything where a human is waiting on partial text, and its published streaming pricing is the reason. Nova-3 monolingual streaming is $0.0048 per minute at current promotional pricing against a $0.0077 per minute regular rate; on the prepaid Growth plan that falls to $0.0042. Batch on the same model is $0.0043 per minute, or $0.258 per hour.
Crucially, streaming here is billed on audio rather than on how long you held the socket open. For an agent that opens a connection early and speaks late, that difference is larger than any rate gap on this page.
The $200 free credit is the most generous starting allowance of the eight, which makes Deepgram the easiest vendor to run a genuine bake-off against before you commit.
The honest catch: multilingual carries a real surcharge β $0.0052 per minute batch and $0.0058 streaming, roughly 21% above the monolingual rate. Budget for it if your agent handles more than one language.
Best for: live voice agents, phone workloads, and anything where partial transcripts drive the interaction.
4. AssemblyAI β strong models, one billing clause to read twice

AssemblyAI's async pricing is among the most competitive here: Universal-2 at $0.15 per hour and Universal-3.5 Pro at $0.21 per hour, both billed per hour of audio submitted. At $0.15 per hour it undercuts Voibe's best tier by 40% on the sticker rate, and it undercuts Deepgram Nova-3 batch by 42%.
The audio intelligence layer is the real draw β this is the vendor that treats transcription as the first step rather than the product. Add-ons are priced honestly and separately: diarization is +$0.02 per hour on async and +$0.12 on streaming, and Medical Mode adds $0.15 per hour across models.
The honest catch, and read this one carefully: streaming is billed per session duration. Their own page states it is charged on "the time the WebSocket connection is open, not the duration of audio sent. Idle connection time counts." For an agent that keeps a socket warm between turns, the $0.15 per hour English streaming rate can bill far above what the audio alone suggests. On async this does not apply.
Best for: async pipelines that want entity detection, sentiment and topic labels without a second vendor. Treat the streaming tier with more care than the rate implies.
5. OpenAI β convenient, and the most expensive way to run Whisper
If your agent already holds an OpenAI key, adding transcription is a few lines and no new vendor review. That convenience is the entire case, and for a lot of teams it is enough.
The current rates span a wide range: gpt-4o-mini-transcribe at $0.003 per minute ($0.18/hour), gpt-transcribe at $0.0045 ($0.27/hour), and both gpt-4o-transcribe and the legacy Whisper endpoint at $0.006 per minute ($0.36/hour). Live transcription models start at $0.017 per minute, with realtime translation at $0.034.
The number worth staring at: OpenAI's Whisper endpoint costs $0.36 per hour for a model Groq serves at $0.04. That is a 9x premium for the same open weights, paid for the convenience of one fewer API key. Sometimes that trade is correct. It should at least be deliberate.
The honest catch: no free credit for transcription, and the cheapest tier (gpt-4o-mini-transcribe) is a smaller model β verify it on your own audio rather than assuming parity with the full model.
Best for: teams optimising for one fewer integration, and prototypes where transcription volume is too low to matter.
6. ElevenLabs Scribe v2 β the language-coverage pick
Scribe v2 runs $0.22 per hour with a realtime variant at $0.39, and ElevenLabs publishes support for 90+ languages on both. If your agent handles a genuinely international inbox, that breadth is the differentiator β most vendors here either charge extra for multilingual or support a narrower set.
Pricing is modular rather than bundled: entity detection is +$0.070 per hour and keyterm prompting +$0.050. Keyterm prompting is the one to note for agent work β it is how you get domain vocabulary (product names, internal jargon) recognised without fine-tuning anything.
The honest catch: the extras add up. Scribe v2 with entity detection and keyterms lands at $0.34 per hour, above Voibe's entry tier and well above AssemblyAI Universal-2. Price the configuration you will actually run, not the base rate.
It also has the most developed data-residency story here: isolated environments with storage locations in the EU, India and Singapore alongside the US, plus a Zero Retention Mode. The docs I reviewed do not state whether customer audio is used for training, so ask before assuming either way.
Best for: multilingual agent workloads where language coverage or regional processing outranks cost per hour. Related reading: multilingual speech-to-text.
7. Gladia β European hosting, and a Growth plan that changes the maths
Gladia's Starter rates are the highest here β $0.61 per hour async and $0.75 real-time β which makes it look uncompetitive until you read the next column. Growth drops async to as low as $0.20 per hour and real-time to $0.25, at which point it undercuts most of this list on both.
The company publishes support for 100+ languages and advertises sub-300ms latency for live voice applications. That latency figure is Gladia's own published claim rather than an independent benchmark, so treat it as a spec to verify in your own test rather than a settled fact.
The €50 free credit is enough for a real evaluation β Gladia puts it at 80+ hours of batch or 60+ hours of real-time.
The retention catch, and it is the bigger one: Gladia's security page states that "by default, we store data up to 12 months" and that "only users in the Free Plan are subject to data used for model training." Pro and Enterprise are excluded from training, and shorter policies down to zero retention are available on request β but the tier you evaluate on with the €50 credit is the tier that trains. Plan your trial audio accordingly.
The pricing catch: the 3x gap between Starter and Growth means your actual price depends entirely on a commitment conversation. The public number is not the number you will pay in either direction.
Best for: teams with EU data-residency requirements and enough volume to reach Growth pricing.
8. Speechmatics β strong reputation, opaque public pricing
Speechmatics has a long-standing accuracy reputation and publishes support for 55+ languages and dialects, with $100 in credit and no card required to start. The free plan allows 2 concurrent real-time sessions.
I am not going to quote you a per-hour rate, because the pricing page does not clearly give one. A Pro figure of $0.129 appears without a stated unit, and batch versus real-time is not itemised publicly; the page routes you to sales. That is a legitimate go-to-market choice and a real obstacle to the kind of comparison this page is doing.
The honest catch: if you cannot model the cost from the public page, you cannot model it in a build plan either. Budget a sales conversation before you budget the workload.
Best for: enterprise deployments where language breadth and a procurement relationship matter more than self-serve pricing transparency.
How to Choose: Four Questions That Settle It
1. Is a human waiting on partial text?
- Yes → You need streaming. Deepgram Nova-3 at $0.0048/min, or ElevenLabs Scribe v2 Realtime at $0.39/hour for wider language coverage. Check whether the vendor bills audio or socket time before you build.
- No → Do not pay the streaming premium. Every vendor here charges 1.5x to 2x more for it. Go to question 2.
2. What share of your jobs fail or get retried?
- Above ~15% → Billing semantics dominate. Voibe bills only on a delivered transcript; most others bill on submitted audio.
- Below ~15% → The sticker rate is a fair proxy. Go to question 3.
3. Do you need more than plain text back?
- Just text → Groq Whisper Large v3 Turbo at $0.04/hour. Nothing else competes on price.
- Speakers plus a summary → Voibe returns diarization and a steerable 2,000-character summary in one response.
- Entities, sentiment, topics → AssemblyAI, priced per add-on.
4. Are your clips short?
- Under ~10 seconds → Avoid per-request floors. Groq's 10-second minimum roughly triples the effective rate on a 3-second clip; per-second billing is worth real money here.
- Minutes-long files → Granularity barely matters. Optimise for rate and failure semantics instead.
Best Speech-to-Text API for Your Situation
| Your situation | Pick | Why |
|---|---|---|
| Voice agent answering live phone calls | Deepgram Nova-3 streaming | $0.0048/min and billed on audio, not socket time |
| Batch-transcribing a 10,000-hour archive | Groq Whisper v3 Turbo | $0.04/hour; $400 for the whole archive |
| Agent that retries aggressively on timeout | Voibe | Failed and queued jobs cost nothing |
| Meeting bot that needs speakers plus a summary | Voibe | Diarization and a 2,000-char steerable summary in one response |
| Support pipeline needing sentiment and topics | AssemblyAI | Audio intelligence add-ons priced per feature |
| Prototype where you already hold an OpenAI key | OpenAI gpt-4o-mini-transcribe | $0.18/hour and zero new integration work |
| Inbox spanning 40+ languages | ElevenLabs Scribe v2 | 90+ languages at a flat $0.22/hour |
| EU data residency is a hard requirement | Gladia | EU hosting; Growth pricing from $0.20/hour |
| Three-second voice commands | Voibe or Deepgram | Per-second and per-minute beat a 10-second floor |
| Enterprise procurement with a language mandate | Speechmatics | 55+ languages; expect a sales conversation on price |
| Recordings contain customers, patients or minors | Voibe | Audio deleted on transcript by default; no opt-out flag to forget |
| Evaluating on a free tier with real audio | Not Gladia Free | Gladia trains on free-plan data; Pro and Enterprise are excluded |
| Audio must be processed inside the EU | Gladia or ElevenLabs | French default hosting; EU, India and Singapore regions. Voibe publishes no region option |
| You want the summary shaped, transcript untouched | Voibe | A 2,000-character prompt steers the summary only, so the transcript stays verbatim |
| You want the model but not the vendor | Groq or self-host | Same Whisper weights, 89% below OpenAI's rate |
| Dictating into your own editor, not building an agent | Not an API at all | See speech-to-text apps β a desktop tool is the right shape |
Questions Builders Ask Before Committing
Pricing and billing
What is the cheapest speech-to-text API in 2026? Groq's Whisper Large v3 Turbo at $0.04 per hour of audio is the cheapest published rate among major providers. The next cheapest is Groq's own Whisper Large v3 at $0.111 per hour, then AssemblyAI Universal-2 at $0.15. Groq bills a 10-second minimum per request, so very short clips cost more than the rate implies.
Why is OpenAI's Whisper endpoint more expensive than Groq's? Both serve the same open Whisper weights. OpenAI charges $0.006 per minute ($0.36/hour); Groq charges $0.04 per hour for Turbo. The 9x gap is infrastructure and pricing strategy, not model quality. You are paying OpenAI for the convenience of one fewer API key.
Do any speech-to-text APIs charge for failed jobs? Most bill on audio submitted, which includes attempts that returned no usable transcript. Voibe states jobs are charged only on DONE, with queued, processing and failed jobs costing nothing. AssemblyAI's streaming tier bills on WebSocket session duration including idle time, per its own pricing page.
Streaming versus batch
Do I need a streaming speech-to-text API for my agent? Only if a human is waiting on partial text mid-utterance. Streaming costs 1.5x to 2x batch across every vendor here. If your agent submits a recording and acts on the result, batch with a webhook is cheaper and simpler.
Which speech-to-text API is best for real-time voice agents? Deepgram Nova-3 streaming at $0.0048 per minute (current promotional rate; $0.0077 regular). It bills on audio rather than connection time, which matters for agents that hold sockets open between turns.
Response format and features
Which speech-to-text APIs include speaker diarization for free? Voibe includes diarization via a diarize parameter at no extra charge. AssemblyAI prices it as an add-on at +$0.02 per hour async and +$0.12 per hour streaming. Groq returns plain transcripts with no diarization.
Can a speech-to-text API return a summary as well as a transcript? Voibe returns a steerable summary of up to 2,000 characters, guided by a prompt you supply, in the same response as the transcript. Most other vendors return the transcript only, leaving summarisation to a separate language-model call.
Privacy and data handling
Do speech-to-text APIs train on my audio? It varies and you should check each vendor's own wording. Voibe states that the recording is deleted the moment the transcript exists and is never used to train models. Retention terms differ materially across vendors, which is why we track them separately in the AI Privacy Tracker.
Is a cloud speech-to-text API safe for confidential recordings? That depends on the vendor's retention and training terms, not on the transport. Read the retention clause, confirm whether audio is deleted after processing, and check whether a data processing agreement is available. If the audio genuinely cannot leave the machine, an API is the wrong architecture β see cloud versus local dictation.
Getting started
Which speech-to-text API has the best free tier for testing? Deepgram's $200 credit is the largest, followed by Speechmatics at $100, AssemblyAI at $50 with no card, and Gladia at €50. Voibe gives 15 free minutes with no card, which is enough to check the response shape but not to run a full evaluation.
Do I need an SDK to use a speech-to-text API? No. Voibe is three REST endpoints with a bearer token and ships no SDK by design. Most other vendors offer client libraries but also expose plain HTTP, which is usually the better choice inside an agent where every dependency is a future breaking change.
What I'd Actually Build On
If I were wiring transcription into an agent tomorrow, I would make two calls and skip the rest of the matrix.
For anything live, Deepgram. The streaming rate is competitive and it bills audio rather than socket time, which is the failure mode that quietly wrecks streaming budgets.
For everything else, the split is volume. Above a few thousand hours a month and needing only text, Groq at $0.04 per hour is not a close call. Below that, or when the agent wants speakers and a summary without a second model call, our own Voibe speech-to-text API is the one I would reach for β three endpoints, a bearer token, per-second billing, and nothing charged until a transcript exists. Fifteen minutes free, no card, if you want to see the response shape before deciding.
There is a third axis that only shows up in a security review, and it is worth checking before you are committed: what the API does with the audio by default. Deepgram and AssemblyAI both need you to opt out of model training, Gladia keeps audio up to 12 months and trains on free-plan data, and Groq and Speechmatics do not say in public. Voibe deletes the recording the moment the transcript exists, with nothing to configure. If the files have customers or patients in them, that default is worth more than a few cents an hour.
The one thing I would not do is pick on the per-hour rate alone. Run your pipeline for a week, count what fraction of jobs failed or retried, and price that. For most agents it moves the answer.
Building the desktop side of a voice workflow rather than the API side? Start with dictation software for developers, or dictating into Claude Code if that is where your agent lives.
Frequently Asked Questions
What is the best speech-to-text API for AI agents in 2026?
What is the cheapest speech-to-text API in 2026?
Do speech-to-text APIs charge for failed jobs?
Do I need a streaming speech-to-text API for my agent?
Which speech-to-text API is best for real-time voice agents?
Which speech-to-text APIs include speaker diarization at no extra cost?
Can a speech-to-text API return a summary as well as a transcript?
Why is OpenAI's Whisper API more expensive than Groq's?
Do speech-to-text APIs train their models on my audio?
Which speech-to-text API deletes audio after transcription?
Do speech-to-text APIs train on my audio by default?
Is it safe to evaluate a speech-to-text API on its free tier with real audio?
Which AI agent frameworks can use a speech-to-text API?
How do I use a speech-to-text API with Claude Code or Claude Cowork?
Should an agent poll for a transcript or use a webhook?
What is the best speech-to-text API for OpenClaw?
What is the best speech-to-text API for Hermes?
What is the best speech-to-text API for Claude Code?
What is the best speech-to-text API for Codex?
What is the best speech-to-text API for Grok Bot?
What is the best speech-to-text API for Cursor?
Can I customize the output of a speech-to-text API with a prompt?
Which speech-to-text APIs offer EU data residency?
Which speech-to-text API has the best free tier for evaluation?
Do I need an SDK to use a speech-to-text API in an agent?
How much does it cost to transcribe 1,000 hours of audio?
Ready to type 5x faster?
Voibe is the fastest, most private dictation app for Mac and Windows. Try it today.
- On-device or private cloud
- Free to try
- No subscription
- Mac + Windows
- 90+ languages
Prefer to go Pro? Save 20% on any plan with code VOIBE20 View pricing β
Related Articles
Best Speech-to-Text Apps
The desktop side of the same problem, for when you are not building an agent.
OpenAI Whisper Alternatives
The model layer underneath most of these APIs, compared on accuracy.
How Whisper Works
Why the same weights give different results on different infrastructure.
Best Agentic Engineering Tools
What else belongs in the stack once your agent can hear.

