Limited time: Save up to 33% on every planView pricing
Voibe Logovoibe Resources
speech-to-text-apiapiagentsagent-frameworkstranscriptiondeveloperspricingprivacydata-retention2026

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.

APIBest forBatch list priceThe catch
Groq (Whisper v3 Turbo)Bulk batch on a budget$0.04/hour10-second minimum per request; plain transcript only
Deepgram Nova-3Real-time agent voice$0.258/hour ($0.0043/min)Multilingual costs 21% more than monolingual
VoibeAsync agent jobs that need structure$0.25-$0.30/hourBatch jobs; billed only on delivered transcripts
AssemblyAIAudio intelligence add-ons$0.15-$0.21/hourStreaming bills wall-clock socket time, idle included
OpenAITeams already in the OpenAI SDK$0.18-$0.36/hourWhisper is the most expensive way to run Whisper
ElevenLabs Scribe v2Wide language coverage$0.22/hourEntity 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

Animated comparison of two billing meters running one 3 minute 24 second file through four attempts: billing on submitted audio reaches 13.6 billed minutes, billing only on a delivered transcript reaches 3.4.
The same file, the same four attempts, two billing models. The gap is what a failed job costs.

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.

RuntimeWhat it isHow it would call a transcription API
Claude CodeAnthropic's terminal coding agentA shell call from its Bash tool, or wrapped as an MCP server so the model calls it as a typed tool
Claude CoworkClaude Code's architecture with no terminal required, aimed at non-technical knowledge workAn MCP server or connector; the same tool definition works in both
CodexOpenAI's coding agentA shell step inside the task it is already running
CursorThe AI code editor, whose agent mode runs multi-step tasksA plain HTTP call from the task it is running, or the same MCP tool definition
Grok BuildxAI's agentic coding CLI, with MCP support and parallel sub-agentsAn MCP-connected tool, the same way it reaches GitHub or Linear
Grok BotxAI's always-on AI teammates, in beta since August 2026; each task gets its own persistent cloud computerA plain HTTP call from that cloud box β€” and because it keeps working after you close your device, a webhook suits it better than polling
OpenClawSelf-hosted, local-first agent that runs as a background service and reaches you over messaging channelsPackaged as an AgentSkill; its Gateway already multiplexes HTTP
HermesNous Research's self-hosted always-on agent, which writes a reusable skill after finishing a taskA skill wrapping the three endpoints, reusable from then on
Your own loopA cron job, a queue worker, a LambdaPOST 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.

APIBatch / asyncStreamingFree to startBilling unit
Groq Whisper Large v3 Turbo$0.04/hrNot offeredFree tierPer request, 10s minimum
Groq Whisper Large v3$0.111/hrNot offeredFree tierPer request, 10s minimum
AssemblyAI Universal-2$0.15/hr$0.15/hr (English)$50 credit, no cardPer hour; streaming per session
OpenAI gpt-4o-mini-transcribe$0.003/min ($0.18/hr)Live models from $0.017/minNonePer minute
AssemblyAI Universal-3.5 Pro$0.21/hr$0.45/hr$50 credit, no cardPer hour; streaming per session
ElevenLabs Scribe v2$0.22/hr$0.39/hrFree planPer hour
Voibe$0.25-$0.30/hrNot offered15 min, no cardPer second, on success only
Deepgram Nova-3$0.0043/min ($0.258/hr)$0.0048/min current, $0.0077 regular$200 creditPer minute
OpenAI gpt-transcribe$0.0045/min ($0.27/hr)Live models from $0.017/minNonePer minute
OpenAI Whisper$0.006/min ($0.36/hr)Not offeredNonePer minute
Gladia$0.61/hr Starter, from $0.20/hr Growth$0.75/hr Starter, from $0.25/hr Growth€50 creditPer hour
SpeechmaticsNot itemised publiclyNot itemised publicly$100 credit, no cardNot 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.

APIAudio kept for (default)Trained on by default?How you turn it off
VoibeDeleted the moment the transcript existsNoNothing to turn off β€” it is the default
OpenAIUp to 30 days (abuse-monitoring logs)No β€” opt-in onlyZero Data Retention, subject to prior approval
Deepgram"Only for the duration necessary to process the request" β€” for opted-out requestsOpt-outmip_opt_out=true on every request
AssemblyAIConfigurable TTLOpt-outData Controls page (Owners/Admins)
ElevenLabsZero Retention Mode availableNot stated in the docs reviewedEnable Zero Retention Mode; EU, India and Singapore regions offered
GladiaUp to 12 monthsYes on the Free plan; no on Pro/EnterpriseCustom policy: 1 month, 1 week, 1 day or zero
GroqNot stated publiclyNot stated publiclyPrivacy policy routes GroqCloud data to the Services Agreement and DPA
SpeechmaticsNot itemised publiclyNot itemised publiclySales 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

The Voibe speech-to-text API landing page, showing per-second billing on delivered transcripts and the three-endpoint job API.
Voibe's speech-to-text API. Jobs are charged only on DONE β€” queued, processing and failed jobs cost nothing. Screenshot taken 24 August 2026.

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 speech-to-text API, the streaming recommendation in this roundup

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 speech-to-text API pricing and audio intelligence add-ons

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 situationPickWhy
Voice agent answering live phone callsDeepgram Nova-3 streaming$0.0048/min and billed on audio, not socket time
Batch-transcribing a 10,000-hour archiveGroq Whisper v3 Turbo$0.04/hour; $400 for the whole archive
Agent that retries aggressively on timeoutVoibeFailed and queued jobs cost nothing
Meeting bot that needs speakers plus a summaryVoibeDiarization and a 2,000-char steerable summary in one response
Support pipeline needing sentiment and topicsAssemblyAIAudio intelligence add-ons priced per feature
Prototype where you already hold an OpenAI keyOpenAI gpt-4o-mini-transcribe$0.18/hour and zero new integration work
Inbox spanning 40+ languagesElevenLabs Scribe v290+ languages at a flat $0.22/hour
EU data residency is a hard requirementGladiaEU hosting; Growth pricing from $0.20/hour
Three-second voice commandsVoibe or DeepgramPer-second and per-minute beat a 10-second floor
Enterprise procurement with a language mandateSpeechmatics55+ languages; expect a sales conversation on price
Recordings contain customers, patients or minorsVoibeAudio deleted on transcript by default; no opt-out flag to forget
Evaluating on a free tier with real audioNot Gladia FreeGladia trains on free-plan data; Pro and Enterprise are excluded
Audio must be processed inside the EUGladia or ElevenLabsFrench default hosting; EU, India and Singapore regions. Voibe publishes no region option
You want the summary shaped, transcript untouchedVoibeA 2,000-character prompt steers the summary only, so the transcript stays verbatim
You want the model but not the vendorGroq or self-hostSame Whisper weights, 89% below OpenAI's rate
Dictating into your own editor, not building an agentNot an API at allSee 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?

It depends on whether the agent needs live text. For real-time voice agents, Deepgram Nova-3 streaming at $0.0048 per minute is the strongest option and bills on audio rather than socket time. For high-volume batch work needing only plain text, Groq's Whisper Large v3 Turbo at $0.04 per hour is the cheapest published rate. For async agent jobs that need diarization and a summary in one response, the Voibe speech-to-text API runs $0.25 to $0.30 per hour and charges only for jobs that produce a finished transcript.

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, verified 24 August 2026. Groq's full Whisper Large v3 is $0.111 per hour and AssemblyAI Universal-2 is $0.15 per hour. Groq bills a 10-second minimum per request, so clips shorter than 10 seconds cost more than the headline rate suggests.

Do speech-to-text APIs charge for failed jobs?

Most bill on audio submitted, which includes attempts that returned no usable transcript. The Voibe API states that jobs are charged only on DONE, and that queued, processing and failed jobs cost nothing. AssemblyAI's streaming tier bills per WebSocket session duration rather than audio sent, and its pricing page states that idle connection time counts.

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 roughly 1.5x to 2x more than batch across every major vendor. If the agent submits a recording and acts on the finished result, batch transcription with a webhook callback is cheaper and simpler to operate.

Which speech-to-text API is best for real-time voice agents?

Deepgram Nova-3 streaming, at $0.0048 per minute on current promotional pricing against a $0.0077 per minute regular rate. It bills on audio duration rather than connection time, which matters for agents that hold a socket open between conversational turns. Multilingual streaming costs $0.0058 per minute.

Which speech-to-text APIs include speaker diarization at no extra cost?

The Voibe API includes diarization through a diarize parameter with no separate charge, alongside per-segment timestamps. AssemblyAI prices diarization as an add-on at +$0.02 per hour on async and +$0.12 per hour on streaming. Groq returns plain transcripts without diarization.

Can a speech-to-text API return a summary as well as a transcript?

The Voibe API returns a steerable summary of up to 2,000 characters, guided by a prompt supplied with the job, in the same response as the transcript and its diarized segments. Most other transcription APIs return only the transcript, leaving summarisation to a separate language-model call that is billed independently.

Why is OpenAI's Whisper API more expensive than Groq's?

Both serve the same open Whisper model weights. OpenAI charges $0.006 per minute, which is $0.36 per hour, while Groq charges $0.04 per hour for Whisper Large v3 Turbo. The roughly 9x difference reflects infrastructure and pricing strategy rather than model quality, and is the price of not adding a second API integration.

Do speech-to-text APIs train their models on my audio?

Terms vary by vendor and should be checked against each one's own documentation. The Voibe API states that the recording is deleted the moment the transcript exists, that audio is never used to train models, and that every read is scoped to the calling key. Other providers publish materially different retention and training terms.

Which speech-to-text API deletes audio after transcription?

The Voibe API states that the recording is deleted the moment the transcript exists, that it is never kept, and that it is never used to train models. This is default behaviour with no setting to change and no plan tier required. ElevenLabs offers a Zero Retention Mode, Gladia offers zero retention as a custom policy against a 12-month default, and OpenAI offers Zero Data Retention subject to prior approval. Note that deleting the audio is not the same as storing nothing: transcripts persist so they can be fetched by job ID.

Do speech-to-text APIs train on my audio by default?

It varies, and two of the major providers run opt-out rather than opt-in programs. Deepgram's Model Improvement Partnership Program requires adding mip_opt_out=true as a query parameter to every API request you want excluded. AssemblyAI's model improvement program is switched off from its Data Controls page. Gladia states that only Free Plan users have data used for model training, with Pro and Enterprise excluded. OpenAI states that API data is not used for training unless you explicitly opt in. Voibe states audio is never used to train models.

Is it safe to evaluate a speech-to-text API on its free tier with real audio?

Check the free tier's terms specifically, because they can differ from the paid terms. Gladia's security page states that only Free Plan users are subject to data being used for model training, while Pro and Enterprise customers are not. That means the tier you evaluate on can be the tier that trains on your audio. Voibe applies the same deletion behaviour on its free 15 minutes as on paid usage.

Which AI agent frameworks can use a speech-to-text API?

Any framework that can make an HTTP request, which in 2026 covers essentially all of them: Claude Code and Claude Cowork, OpenAI's Codex, xAI's Grok Build and Grok Bot, self-hosted agents such as OpenClaw and Hermes, and any custom loop, cron job or queue worker. The Voibe API is three endpoints and a bearer token with no SDK, so there is no plugin or official integration to install for any of these β€” the runtime calls it directly, or you wrap it as an MCP server or an agent skill once and reuse it.

How do I use a speech-to-text API with Claude Code or Claude Cowork?

Two routes. Call it as a shell command from Claude Code's Bash tool, which is the fastest way to test. Or wrap the endpoints as an MCP server so the model calls transcription as a typed tool with a defined schema β€” the same tool definition then works in Claude Cowork, which runs Claude Code's architecture without requiring a terminal. Neither route needs a vendor-specific plugin.

Should an agent poll for a transcript or use a webhook?

Poll when a human is waiting on the result, because the round trip is short and the code is simpler. Use a webhook when the agent is long-running or headless β€” an overnight queue, an always-on teammate like Grok Bot that keeps working after you close your device, or a scheduled heartbeat that wakes and processes a folder. The Voibe API supports both: pass a webhook_url and the finished payload is POSTed to you instead of polled.

What is the best speech-to-text API for OpenClaw?

Any HTTP-capable transcription API works with OpenClaw, since its Gateway already multiplexes HTTP and its AgentSkill system is designed for exactly this kind of wrapper. Package the three endpoints as an AgentSkill once and it is reusable across workspaces. Because OpenClaw is local-first and often runs unattended as a background service, weigh two things beyond price: whether failed jobs are billed, and what the API does with audio by default. An agent transcribing continuously for months is the worst place to discover a per-request training opt-out was missing from one code path.

What is the best speech-to-text API for Hermes?

Hermes Agent writes a reusable skill after completing a task, so the practical pattern is to have it wrap the transcription endpoints once and reuse that skill from then on. Any API that is plain HTTP with a bearer token suits this; no SDK is needed. As with any always-on self-hosted agent, retention defaults matter more than the headline rate, because the agent keeps running whether or not anyone is watching.

What is the best speech-to-text API for Claude Code?

Call it as a shell command from Claude Code's Bash tool, which is the fastest way to test, or wrap the endpoints as an MCP server so the model calls transcription as a typed tool with a defined schema. The MCP route is worth the extra step if the agent will call it repeatedly, because the schema stops the model from improvising the request shape. The same tool definition then works in Claude Cowork.

What is the best speech-to-text API for Codex?

Codex can call a transcription API as a shell step inside the task it is already running, which means no framework-specific integration work. Prefer an API whose job model tolerates retries, since coding agents re-run steps: an API that charges only on a delivered transcript costs nothing for the attempts that fail.

What is the best speech-to-text API for Grok Bot?

Grok Bot gives each task its own persistent cloud computer and keeps working after you close your device, so a plain HTTP call from that machine is all that is required. For this shape specifically, prefer a webhook over polling β€” pass a webhook_url and the finished payload is delivered rather than waited on, which suits an agent with no one watching it.

What is the best speech-to-text API for Cursor?

Cursor's agent mode can call a transcription API over plain HTTP as part of a multi-step task, or use the same MCP tool definition you would write for Claude Code. No editor-specific plugin is needed for any API that exposes documented HTTP endpoints.

Can I customize the output of a speech-to-text API with a prompt?

The Voibe API accepts a prompt of up to 2,000 characters that shapes the returned summary, for example "summarise as bullet points, focus on decisions." The prompt changes the summary only and never the transcript, so the transcript remains a verbatim record while the summary is formatted for whatever consumes it downstream. This removes a separate language-model call from an agent loop.

Which speech-to-text APIs offer EU data residency?

Gladia states it uses a European provider based in France by default to respect GDPR constraints, and offers other geographies on request. ElevenLabs offers isolated environments with storage locations in the EU, India and Singapore in addition to the US. AssemblyAI states its services are predominantly hosted and operated in the United States. Voibe does not publish a data-residency or region option.

Which speech-to-text API has the best free tier for evaluation?

Deepgram offers $200 in credit, Speechmatics $100 with no card, AssemblyAI $50 with no card, and Gladia 50 euros, which it estimates at 80+ hours of batch transcription. Voibe gives 15 free minutes with no card, which is enough to verify the response format but not to run a full accuracy evaluation.

Do I need an SDK to use a speech-to-text API in an agent?

No. The Voibe API is three REST endpoints authenticated with a bearer token and ships no SDK by design. Most other providers offer client libraries but also expose plain HTTP endpoints, which is generally the better choice inside an agent where every added dependency is a potential breaking change.

How much does it cost to transcribe 1,000 hours of audio?

At published August 2026 list prices: $40 on Groq Whisper Large v3 Turbo, $150 on AssemblyAI Universal-2, $180 on OpenAI gpt-4o-mini-transcribe, $220 on ElevenLabs Scribe v2, $250 to $300 on Voibe, $258 on Deepgram Nova-3 batch, and $360 on OpenAI's Whisper endpoint. Retried and failed jobs add to every one of these except Voibe, which bills only on delivered transcripts.

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 β†’