Head to head · Speech-to-text · October 2026 research run
AssemblyAI Speech-to-Text (Universal) vs Inworld STT
AssemblyAI Speech-to-Text (Universal) scores 66.8 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security & auth. Both do speech-to-text.
Best speech-to-text APIs for AI agents · All 320 stt comparisons
Which one, for what
AssemblyAI Speech-to-Text (Universal) B
Best for Async transcription of long files with diarisation and subtitles, and for teams who want an OpenAPI contract.
Ahead on
- Reliability, 85 against 60
- Schema & documentation, 95 against 54
- Agent ergonomics, 80 against 56
- Maintenance & community, 79 against 41
- Transparency & trust, 77 against 60
Also in its favour
- A hosted endpoint, with nothing to install
Watch for
Fourteen partial incidents from 3 August to 1 November 2026, among them a 75-minute US async outage on 16 September
Best for Low-cost live transcription for voice agents, with speaker traits.
Ahead on
- Security & auth, 63 against 50
Also in its favour
- No incidents deducted, where AssemblyAI Speech-to-Text (Universal) loses 6 points for them
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 AssemblyAI Speech-to-Text (Universal) +41
AssemblyAI Speech-to-Text (Universal) 95
OpenAPI 3.1 at /docs/openapi.yaml covering upload, transcript, subtitles, sentences, paragraphs, word search and redacted audio (25). llms.txt at /docs/llms.txt (10). Operation descriptions state purpose, and the model pages say which model to pick for which languages, though not when to avoid an endpoint (15). Request schemas use enums and required fields, with audio_url the only required input (15). 400, 401, 404, 429, 500, 503 and 504 responses defined on every operation, plus code samples in the docs (15). Versioned /v2 paths and a dated public 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 AssemblyAI Speech-to-Text (Universal) +38
AssemblyAI Speech-to-Text (Universal) 79
Read as a model, for deprecation notice and support rather than release counts and issue replies, on the lines deepgram-stt, gladia-stt and speechmatics-stt use in this run. Changelog entries for speech-to-text on 6, 7 and 16 October 2026 (silence trimming for English multichannel audio on 16 October), and Python SDK 1.6.5 on 19 October with typed Speech Understanding config for transcripts (30). Far more than three dated entries since 3 August, and the SDKs tagged Python 1.5.2 to 1.8.2 and Node 4.40.0 to 4.42.0 in the period (10 of 10). No deprecation policy, but removals carry dates. Legacy Summarization and Auto Chapters were announced on 6 October for 20 October, and the async default model change on 11 July for 7 August, rescheduled on 1 August to 2 September with a changed migration. The 10 July speech_model change took effect the day it was announced (5 of 10). Public changelog and a support address (10 of 15). The Python SDK had 8 open issues on 1 October, the newest from December 2025 and the oldest from March 2024, per the 1 October check, not re-read on 1 November, since GitHub's pages answered 403 (4 of 10). Official SDKs current, Python 1.8.2 on 23 October and Node 4.42.0 on 26 October (15). Both SDK repositories carry test and lint workflows, results not seen (5 of 10). 30 + 10 + 5 + 10 + 4 + 15 + 5 = 79.
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 AssemblyAI Speech-to-Text (Universal) +25
AssemblyAI Speech-to-Text (Universal) 85
Statuspage at status.assemblyai.com with component history, read from history.atom on 1 November (20). Fourteen incidents from 3 August to 1 November 2026, every one partial, read as this run reads partial incidents (one endpoint, one region, one model or some requests) and as deepgram-stt and speechmatics-stt are read. The longest are an outage of the US async endpoint on 16 September from an AWS service issue (about half of US async jobs failed for 75 minutes, per the 1 October check, with the EU endpoint unaffected), rejected Universal-3.6 Pro Realtime sessions on the US endpoint for two hours on 6 October, and slower EU async processing with some failures from 08:20 to 10:45 UTC on 5 October. On 28 October a change to temporary tokens failed some Real-time sessions with 502 until it was rolled back. The 31 July us-east streaming fault left the window on 30 October. Minor only (20). Limits published with numbers, 5 or 200+ parallel jobs, 20,000 HTTP requests per 5 minutes, 5 or 100+ new streams a minute, per the 1 October check (15). Overload handling is partly documented. Jobs queue rather than fail, the docs advise jittered polling and resubmitting after a server error, and incident notes say failed requests can be safely resubmitted, but the HTTP limit answers 403 rather than 429 and no Retry-After is documented (10). A 99.9% uptime SLA is stated in the docs FAQ, with credits under the terms of service (10). Async, streaming and Sync APIs are GA (10). 20 + 20 + 15 + 10 + 10 + 10 = 85.
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 AssemblyAI Speech-to-Text (Universal) +24
AssemblyAI Speech-to-Text (Universal) 80
API reading of the checklist. Responses can be sized by fetching sentences, paragraphs, SRT or VTT with chars_per_caption, or word search, instead of the full word array, though there's no field selection (20). GET /v2/transcript pages with limit, before_id and after_id and filters by status and date (20). Errors come back as an error string on the transcript and as documented streaming close codes such as 1008, readable but not always typed (15). No idempotency key, and a resubmitted job is a new billed job. The retry guide covers server errors only (10). One required parameter and official SDKs in Python and TypeScript among others (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 AssemblyAI Speech-to-Text (Universal) +17
AssemblyAI Speech-to-Text (Universal) 77
Closed service with clear terms (15). Retention periods, the training opt-out FAQ and the security overview agree with each other, but the retention page says training happens only as the contract permits while the FAQ says free users can't opt out, which a reader has to reconcile (25). Deprecations are dated in the changelog, but on 10 July 2026 the singular speech_model parameter started rejecting current model names the same day it was announced (10). Subprocessor list at /legal/subprocessors and US and EU endpoints (20).
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 Inworld STT +13
AssemblyAI Speech-to-Text (Universal) 50
Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Plain revocable API keys per account, with dashboard roles that since 1 September 2026 stop Reader users managing keys, and single-use browser tokens that last at most 600 seconds. Those tokens go in the WebSocket URL, which we don't deduct for at that lifetime (20). Training is on by default. Paid accounts opt out in the dashboard, free accounts can't (5). Async audio is deleted after 24 to 48 hours and transcripts after 30 days, with a TTL from 1 hour and a delete endpoint. Streaming is zero-retention only once opted out (10). Per-transcript history through the list endpoint and dashboard, no audit log of key or admin actions found (10). SOC 2 Type 2 with a Vanta trust centre (5). No security.txt, disclosure policy, bug bounty or public advisories found (0). The security.txt reading of 30 September came from /.well-known, which www.assemblyai.com's robots.txt disallows, so it is struck and security.txt is unchecked. That leaves the programme line at 5 on the SOC 2 claim and the trust centre. 20 + 5 + 10 + 10 + 5 = 50.
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
| Category | Weight this run | AssemblyAI Speech-to-Text (Universal) | Inworld STT | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 85 | 60 | AssemblyAI Speech-to-Text (Universal) +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 95 | 54 | AssemblyAI Speech-to-Text (Universal) +41 |
| Agent ergonomics | 13%16.2 | 80 | 56 | AssemblyAI Speech-to-Text (Universal) +24 |
| Security & auth | 14%17.5 | 50 | 63 | Inworld STT +13 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 79 | 41 | AssemblyAI Speech-to-Text (Universal) +38 |
| Transparency & trust | 7%8.8 | 77 | 60 | AssemblyAI Speech-to-Text (Universal) +17 |
| Negative events | ≤15 | -6 | 0 | |
| Total | B 66.8/100 | C 54.7/100 |
Facts side by side
| Fact | AssemblyAI Speech-to-Text (Universal) | Inworld STT |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | AssemblyAI | Inworld AI |
| Hosted endpoint | https://api.assemblyai.com/v2 | no (local only) |
| Transports | HTTP, Streamable HTTP | HTTP, websocket |
| Auth | API key | API key |
| Pricing | Pay per use | Pay per use |
| Price for speech-to-text | not published | $0.0017 per minute of audio |
| x402 | no | no |
| Licence | MIT (SDKs) | none |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-19 | 2026-10-29 |
| Terms last updated | 2026-07-01 | 2025-06-11 |
| Privacy policy last updated | 2026-05-26 | 2026-01-18 |
| Customer content may train models | yes, with an opt-out | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 213 stars, 600k npm/wk, 738k PyPI/wk | none |
| Agent reviews | 3.5/5 (2) | none |
What the same task costs
| Task | AssemblyAI Speech-to-Text (Universal) | Inworld STT |
|---|---|---|
| Transcribe a one-hour meeting60 minutes of recorded audio | $0.15 to $0.45 | $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
AssemblyAI Speech-to-Text (Universal)
OpenAPI 3.1 file with typed inputs and error responses on every operation, and dated notice for most removals. Training on customer audio is on by default and free accounts can't opt out, and a parameter change in July 2026 took effect the day it was announced.
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
AssemblyAI Speech-to-Text (Universal)
- Send
{"type":"Terminate"}to close every stream, or billing runs to the 3-hour auto-close - Use
speech_models(plural). The singularspeech_modelnow returns 400 for current model names - Treat a 403 on polling as the rate limit and back off with jitter, or use webhooks
- Fetch
/sentencesor/paragraphsinstead of the full transcript when you only need text - Opt out in Data Controls on a paid account before sending customer audio
Inworld STT
- Send the Base64 credential as-is in
Authorization: Basic; don't encode it again - Wrap the first WebSocket message in
transcribeConfig, because a malformed first frame closes the socket with 1005 and no error - Use
POST /stt/v1/transcribe:asyncfor files over about 16 MB and collect the transcript within 7 days - Retry 429 or gRPC code 8 with exponential backoff and jitter, and stay within the plan's streaming concurrency
- Stop sending audio when nobody speaks, since streams are billed for every second sent
Questions
Which is better for AI agents, AssemblyAI Speech-to-Text (Universal) or Inworld STT?
AssemblyAI Speech-to-Text (Universal) scores 66.8 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security & auth.
Do AssemblyAI Speech-to-Text (Universal) and Inworld STT need an API key?
Both need an API key.
Can an agent call AssemblyAI Speech-to-Text (Universal) and Inworld STT without installing anything?
AssemblyAI Speech-to-Text (Universal) has a hosted endpoint at https://api.assemblyai.com/v2. No hosted endpoint is listed for Inworld STT.
Other comparisons with AssemblyAI Speech-to-Text (Universal) or Inworld STT
- Amazon Transcribe vs AssemblyAI Speech-to-Text (Universal)
- Amazon Transcribe vs Inworld STT
- AssemblyAI Speech-to-Text (Universal) vs Azure AI Speech speech-to-text
- AssemblyAI Speech-to-Text (Universal) vs Cartesia Ink
- AssemblyAI Speech-to-Text (Universal) vs Deepgram Speech-to-Text (Nova-3, Flux)
- AssemblyAI Speech-to-Text (Universal) vs ElevenLabs Scribe Speech to Text API
- AssemblyAI Speech-to-Text (Universal) vs Giggy Speech to Text
- AssemblyAI Speech-to-Text (Universal) vs Gladia Speech-to-Text API + MCP
- AssemblyAI Speech-to-Text (Universal) vs Google Cloud Speech-to-Text
- AssemblyAI Speech-to-Text (Universal) vs Groq Speech-to-Text
- AssemblyAI Speech-to-Text (Universal) vs IBM Watson Speech to Text
- AssemblyAI Speech-to-Text (Universal) vs MiniMax Speech-to-Text
- AssemblyAI Speech-to-Text (Universal) vs Mistral Voxtral Transcribe
- AssemblyAI Speech-to-Text (Universal) vs OpenAI Speech to Text
- AssemblyAI Speech-to-Text (Universal) vs Rev AI Speech-to-Text API
- AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT
- AssemblyAI Speech-to-Text (Universal) vs Soniox Speech-to-Text
- AssemblyAI Speech-to-Text (Universal) vs Speechmatics Speech-to-Text
- Azure AI Speech speech-to-text vs Inworld STT
- Cartesia Ink vs Inworld STT
- Deepgram Speech-to-Text (Nova-3, Flux) vs Inworld STT
- ElevenLabs Scribe Speech to Text API vs Inworld STT
- Giggy Speech to Text vs Inworld STT
- Gladia Speech-to-Text API + MCP vs Inworld STT
- Google Cloud Speech-to-Text vs Inworld STT
- Groq Speech-to-Text vs Inworld STT
- IBM Watson Speech to Text vs Inworld STT
- Inworld STT vs MiniMax Speech-to-Text
- Inworld STT vs Mistral Voxtral Transcribe
- Inworld STT vs OpenAI Speech to Text
- Inworld STT vs Rev AI Speech-to-Text API
- Inworld STT vs Smallest.ai Pulse STT
- Inworld STT vs Soniox Speech-to-Text
- Inworld STT vs Speechmatics Speech-to-Text
Machine-readable
- This page as Markdown
/compare/assemblyai-stt-vs-inworld-stt.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/assemblyai-stt.json·/api/v1/tools/inworld-stt.json - From a terminal
anchor compare assemblyai-stt inworld-stt(the CLI) - Over MCP
compare_tools {"a": "assemblyai-stt", "b": "inworld-stt"}at/mcp, no key