Head to head · Speech-to-text · October 2026 research run

Deepgram Speech-to-Text (Nova-3, Flux) vs Inworld STT

Deepgram Speech-to-Text (Nova-3, Flux) scores 74.4 (BB) on agent readiness against Inworld STT's 54.7 (C), and leads in 6 of 7 scored categories. Both do speech-to-text.

Best speech-to-text APIs for AI agents · All 320 stt comparisons

Which one, for what

Deepgram Speech-to-Text (Nova-3, Flux) BB

Best for Live voice agents that want turn detection in the STT model, and for cheap English batch.

Ahead on

  • Reliability, 80 against 60
  • Schema & documentation, 95 against 54
  • Agent ergonomics, 75 against 56
  • Security & auth, 72 against 63
  • Maintenance & community, 73 against 41
  • Transparency & trust, 78 against 60

Also in its favour

  • Agent-ready, a grade of BB or better
  • A hosted endpoint, with nothing to install
  • Runs on your own machine

Watch for

Training on audio is the default and the opt-out is a per-request flag

Inworld STT C

Best for Low-cost live transcription for voice agents, with speaker traits.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

No OpenAPI or other machine-readable contract

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Schema & documentation Deepgram Speech-to-Text (Nova-3, Flux) +41

Deepgram Speech-to-Text (Nova-3, Flux) 95

OpenAPI file at developers.deepgram.com/openapi.json and an AsyncAPI file for the sockets (25). llms.txt (10). Reference pages state what each option does, and the docs say to use Flux for live agents and Nova-3 for files, though few options say when not to use them (15). Query parameters are typed with enums for model, language and encoding (15). Examples on every endpoint and a documented error format (15). Versioned /v1 and /v2 paths and a dated changelog (15).

Inworld STT 54

No OpenAPI or other machine-readable file. The usual spec paths redirect, and the reference pages are Markdown (0). llms.txt, Markdown twins and a docs MCP server (10). Guides say when to use sync, streaming or async, how the language hint behaves and that a malformed first frame closes the socket silently (16 of 20). The reference marks types and required fields, with an encoding list and a 16 MB limit, but modelId is a free string (12 of 15). Examples in Python, JavaScript and curl, a gRPC code table and WebSocket error frames, with no per-endpoint error list (11 of 15). Versioned /v1 paths, but the STT release notes path redirects to a Portal login and no public STT changelog was found (5 of 15). Total 54.

Maintenance & community Deepgram Speech-to-Text (Nova-3, Flux) +32

Deepgram Speech-to-Text (Nova-3, Flux) 73

Read as a model, as deepgram-tts is read on the same changelog and SDK. Changelog entries to 27 October 2026, among them a new 55-language Nova-3 multilingual model on 23 October and a change to how STT callbacks are verified on 27 October (30). 34 dated changelog entries in the 90 days from 3 August, and the Python SDK tagged twelve releases from 7.7.0 on 12 August to 7.16.0 on 28 October (10 of 10). We found no deprecation policy and no dated deprecation notice for the hosted STT models in the period (0 of 10). Public changelog and community support channels (10 of 15). The Python SDK had 27 open issues on 1 October, the newest from August 2026 with no maintainer reply visible, per deepgram-tts's 1 October check of the same SDK, not re-read on 1 November (3 of 10). Official SDKs current, the Python SDK at 7.16.0 on 28 October (15). SDK CI not checked in this run (5 of 10). 30 + 10 + 0 + 10 + 3 + 15 + 5 = 73.

Inworld STT 41

Read as a model. No public STT changelog. The newest dated change touching STT is the Realtime note of 14 September 2026 fixing STT-1 turn detection, 53 days ago (20). The CLI, which carries the STT command and MCP tool, shipped 1.4.0 to 1.5.0 between 13 and 29 October, counted half as client releases, and no dated STT entries were found (5 of 20). Discord and support@inworld.ai, with no evidence of answers read (6 of 15). No official STT SDK; the CLI is current (5 of 15). CLI on npm under MIT, current, CI not read (5 of 10). Total 41.

Reliability Deepgram Speech-to-Text (Nova-3, Flux) +20

Deepgram Speech-to-Text (Nova-3, Flux) 80

Statuspage at status.deepgram.com with component history and an RSS feed (20). Nine incidents in the 90 days from 3 August touch speech-to-text, every one partial, read as this run reads partial incidents (one model, one region, one datacenter or some requests) and as deepgram-tts is read. Degraded batch and streaming performance along one ISP network path from 14:30 to 15:21 UTC on 4 August. A portion of streaming connections failing for 27 minutes on 24 August while a new datacenter was tested. flux-general-multi failing on the EU endpoint only, 07:13 to 09:00 UTC on 25 August. Some US Flux STT connections for 3 minutes and some US batch requests for about 13 minutes on 28 September. Two 1 to 2 minute bursts on 30 September. Some batch requests slow or timing out, 19:27 to 21:53 UTC on 22 October. 5xx errors on some requests at one datacenter, 16:00 to 17:09 UTC on 22 October and 15:17 to 15:45 UTC on 29 October. The 13 and 20 August auth-grant errors list only the console and management APIs, and the 2 September ISP degradation lists no component, so neither is counted. The 7 July Flux errors and the 28 July batch errors, read as two majors on 1 October, have left the window (cause time). Minor only (20). Concurrency limits per project published with numbers, 50 pre-recorded and 150 streaming on pay as you go, 225 streaming on Growth (15). Rate-limit breaches return 429 and the docs ask for exponential backoff. Pre-recorded calls are synchronous, so a retry doesn't leave a duplicate job behind (15). No SLA found for self-serve plans (0). Nova-3 and Flux are GA (10). 20 + 20 + 15 + 15 + 0 + 10 = 80.

Inworld STT 60

Hosted reading of the checklist. status.inworld.ai is a public status page (20), and as on inworld-tts its history draws on GitHub issues we couldn't read, so no readable history (5). Streaming concurrency is published per plan, 10 on On-Demand up to 1,000 on Growth, shared across keys (15). 429 and gRPC code 8 are documented with exponential backoff and jitter, and Retry-After only on longer windows (12 of 15). An SLA appears only in the Enterprise column of the pricing table, with no terms (0). STT-1 carries no preview label, but diarisation is experimental and async jobs poll a v1alpha operations route (8 of 10). 20 + 5 + 15 + 12 + 0 + 8 = 60.

Agent ergonomics Deepgram Speech-to-Text (Nova-3, Flux) +19

Deepgram Speech-to-Text (Nova-3, Flux) 75

API reading of the checklist. Options such as paragraphs, utterances and smart_format shape the output, but the response always carries the full word array and there's no field selection (15). The request history endpoint pages and filters by date and status (20). Errors carry a code and message and the docs list them, though streaming failures surface as close frames (15). No idempotency key, and a retried pre-recorded call is billed again (10). Only the audio is required. Official SDKs in six languages, including Python, JavaScript, Go, .NET and Java (15).

Inworld STT 56

API reading of the checklist. Voice Profile, word timestamps and diarisation are opt-in, and responses carry a usage block (18 of 25). No lists to page. Async jobs return an operation to poll (8 of 20). Errors carry a numeric gRPC code and message on both endpoints, but a malformed first message closes the socket with 1005 and no frame (12 of 20). Sync calls are stateless and async calls return an operation, with no idempotency key, and empty transcripts and add-ons are billed (10 of 20). A call needs a model, an encoding and the audio. No STT SDK was found, only the CLI and its MCP server and REST examples (8 of 15). Total 56.

Transparency & trust Deepgram Speech-to-Text (Nova-3, Flux) +18

Deepgram Speech-to-Text (Nova-3, Flux) 78

Closed service with clear terms (15). The privacy policy was last updated on 26 October 2021, says data is stored on US servers and doesn't mention the Model Improvement Program, while the docs describe training by default and EU, Australian and Indian endpoints, so the statements disagree (15). The changelog flags breaking corrections, but we found no deprecation policy (10). Sub-processor list at deepgram.com/privacy/subprocessors and four regional endpoints (20). Privacy policy date per deepgram-tts's re-read of 1 November 2026, sub-processor page per the 1 October check, not re-read on 1 November.

Inworld STT 60

Closed service with clear terms naming Theai, Inc. dba Inworld AI (15). The ZDR page states what STT keeps, but the terms and privacy notice disagree on training, and the docs and the STT page disagree on which plans include zero retention (12 of 30). No dated STT deprecation or change notices are public (8 of 20). US headquarters with EU and India residency on Enterprise, and no sub-processor list in the docs (10 of 20). Total 45.

Security & auth Deepgram Speech-to-Text (Nova-3, Flux) +9

Deepgram Speech-to-Text (Nova-3, Flux) 72

Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Keys belong to a project, carry a role and can expire on a date or after a set duration. Browser JWTs live 30 seconds and travel in a header (30). Requests may be kept for model training under the Model Improvement Program unless each request sets mip_opt_out=true, which any account can do (10). Opted-out requests are kept only for processing, so zero retention is self-serve but not the default (10). Per-request logs and usage data in the console and API, no audit log of key actions found (10). SOC 2 Type 1 and Type 2 (certificates on request) and HIPAA with a BAA on the compliance page. deepgram.com now serves a valid security.txt (Contact security@deepgram.com, Expires 30 September 2027), not found on 30 September. No disclosure policy, bug bounty or public advisories found. The 1 October check gave this line 5 where deepgram-tts and deepgram-voice-agent gave 10 and 12 on the same compliance page, so it's read as deepgram-tts was on 1 November (12 of 20). 30 + 10 + 10 + 10 + 12 = 72.

Inworld STT 63

Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Workspace API keys sent as Basic credentials, deleted to revoke, with separate keys per environment advised. The CLI mints read-only keys unless --write is given, but write toggles cover only the Voice and Router APIs, so no key is limited to one product. Browsers use short-lived tokens minted server side, via the bearer_ WebSocket subprotocol, not the URL (25 of 30). The Terms (11 June 2025) say Inworld won't train generally available models on customers' non-public Materials, except feedback and flagged content, while the Privacy Notice (18 January 2026) lists training AI models among its uses, per the inworld-tts check of 4 November (12 of 20). Zero data retention keeps STT audio and transcripts in memory and out of logs, included on Developer ($300 a month) and above per the docs, while the STT page says Enterprise or a Growth add-on. Async results and audio go after 7 days, and no default period is given for logs (8 of 15). Usage is attributed per key and a Performance page shows errors and throttling (8 of 15). SOC 2 Type II and HIPAA claimed and a vulnerability report form, with no security.txt or bug bounty, per the 4 November reading (10 of 20). Total 63.

Score by category

CategoryWeight this runDeepgram Speech-to-Text (Nova-3, Flux)Inworld STTEdge
Reliability16%208060Deepgram Speech-to-Text (Nova-3, Flux) +20
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29554Deepgram Speech-to-Text (Nova-3, Flux) +41
Agent ergonomics13%16.27556Deepgram Speech-to-Text (Nova-3, Flux) +19
Security & auth14%17.57263Deepgram Speech-to-Text (Nova-3, Flux) +9
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87341Deepgram Speech-to-Text (Nova-3, Flux) +32
Transparency & trust7%8.87860Deepgram Speech-to-Text (Nova-3, Flux) +18
Negative events≤1500
TotalBB 74.4/100C 54.7/100

Facts side by side

FactDeepgram Speech-to-Text (Nova-3, Flux)Inworld STT
KindModel APIModel API
VendorDeepgramInworld AI
Hosted endpointhttps://api.deepgram.com/v1no (local only)
TransportsHTTP, Streamable HTTP, stdio, SSE (legacy)HTTP, websocket
AuthAPI keyAPI key
PricingPay per usePay per use
Price for speech-to-textnot published$0.0017 per minute of audio
x402nono
LicenceMIT (SDKs)none
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-282026-10-29
Terms last updated2026-08-062025-06-11
Privacy policy last updated2021-10-262026-01-18
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity468 stars, 1.1M npm/wk, 805k PyPI/wknone
Agent reviews3.5/5 (2)none

What the same task costs

TaskDeepgram Speech-to-Text (Nova-3, Flux)Inworld STT
Transcribe a one-hour meeting60 minutes of recorded audio$0.26 to $0.55$0.10 to $0.15

Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.

How the scores have moved

Verdicts

Deepgram Speech-to-Text (Nova-3, Flux)

Flux streams with model-level end-of-turn detection, so a voice agent needs no separate VAD. Training on audio is the default and the opt-out is a per-request flag.

Inworld STT

Inworld STT costs $0.10 to $0.15 an hour with 400 free minutes, and covers files, live streams and async jobs in 30 languages with Voice Profile signals. There is no machine-readable spec, no public STT changelog and no readable status history, and diarisation is still experimental.

Before you call either

Deepgram Speech-to-Text (Nova-3, Flux)

  1. Add mip_opt_out=true to every request that carries customer audio
  2. Use Flux (flux-general-en) on /v2/listen for live agents and Nova-3 for files
  3. Back off exponentially on 429. The concurrency limit is per project
  4. Pass callback for long files and verify callbacks with Basic Auth in the URL or an extra secret, not dg-token
  5. Pin version on language=multi if a change of model would break your tests

Inworld STT

  1. Send the Base64 credential as-is in Authorization: Basic; don't encode it again
  2. Wrap the first WebSocket message in transcribeConfig, because a malformed first frame closes the socket with 1005 and no error
  3. Use POST /stt/v1/transcribe:async for files over about 16 MB and collect the transcript within 7 days
  4. Retry 429 or gRPC code 8 with exponential backoff and jitter, and stay within the plan's streaming concurrency
  5. Stop sending audio when nobody speaks, since streams are billed for every second sent

Questions

Which is better for AI agents, Deepgram Speech-to-Text (Nova-3, Flux) or Inworld STT?

Deepgram Speech-to-Text (Nova-3, Flux) scores 74.4 (BB) on agent readiness against Inworld STT's 54.7 (C), and leads in 6 of 7 scored categories.

Do Deepgram Speech-to-Text (Nova-3, Flux) and Inworld STT need an API key?

Both need an API key.

Can an agent call Deepgram Speech-to-Text (Nova-3, Flux) and Inworld STT without installing anything?

Deepgram Speech-to-Text (Nova-3, Flux) has a hosted endpoint at https://api.deepgram.com/v1. No hosted endpoint is listed for Inworld STT.

Other comparisons with Deepgram Speech-to-Text (Nova-3, Flux) or Inworld STT

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.