Head to head · Speech-to-text · October 2026 research run
Amazon Transcribe vs Inworld STT
Amazon Transcribe scores 73.6 (BB) on agent readiness against Inworld STT's 54.7 (C), and leads in 6 of 7 scored categories. Inworld STT leads on payments & pricing. Both do speech-to-text.
Best speech-to-text APIs for AI agents · All 320 stt comparisons
Which one, for what
Best for Teams already on AWS with audio in S3 and IAM in place, especially batch jobs at volume.
Ahead on
- Reliability, 75 against 60
- Schema & documentation, 90 against 54
- Agent ergonomics, 80 against 56
- Security & auth, 83 against 63
- Maintenance & community, 60 against 41
- Transparency & trust, 85 against 60
Also in its favour
- Agent-ready, a grade of BB or better
- A hosted endpoint, with nothing to install
Watch for
AWS may store and use audio to improve the service unless an organisation-wide AI services opt-out policy is set
Best for Low-cost live transcription for voice agents, with speaker traits.
Ahead on
- Payments & pricing, 40 against 30
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 Amazon Transcribe +36
Amazon Transcribe 90
The service model is public in aws/api-models-aws and the AWS SDKs, a machine-readable contract in the role OpenAPI plays (25). llms.txt for the developer guide, 260 lines on 1 November (10). Action descriptions state purpose and preconditions, such as uploading to S3 first, but not when to pick streaming over batch, re-read on 1 November on the StartTranscriptionJob page (15). Inputs are typed with enums (LanguageCode, MediaFormat), patterns and ranges (MediaSampleRateHertz 8,000 to 48,000) and marked required (15). Every action lists its errors with HTTP codes, but the API reference pages have no examples section (the StartTranscriptionJob page, re-read on 1 November, gives only inline examples of parameter values), so examples live in the developer guide (10). API version 2017-10-26 and a dated document history, whose newest entry is still 25 September 2026 (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.
Transparency & trust Amazon Transcribe +25
Amazon Transcribe 85
Closed service under the AWS Service Terms, last updated 30 October 2026 (15). The service terms, privacy notice (last updated 18 May 2026, re-read on 1 November) and job retention agree, and the data processing addendum and a public sub-processor list (last updated 30 October 2026) exist, but the default permission to use content for improvement sits in section 50.3 of the service terms rather than the Transcribe guide. The DPA's text is per the 1 October check (25). The AWS Customer Agreement commits to advance notice before material functionality of a GA service is discontinued, but we found no dated Transcribe deprecation notices. The Python streaming SDK carries a deprecation notice in its README, which isn't the service (15). Sub-processors and regions disclosed, with region choice per request. Section 50.3(c) discloses that content kept for improvement may be stored outside the Region unless the organisation opts out (20). 15 + 25 + 15 + 20 = 75.
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.
Agent ergonomics Amazon Transcribe +24
Amazon Transcribe 80
API reading of the checklist. The transcript is one JSON file with every item and its timings, with SRT and VTT subtitles as the compact alternative and no field selection, per the 1 October check (15). ListTranscriptionJobs filters by Status and JobNameContains and pages with MaxResults and NextToken, re-read on 1 November (20). Typed exceptions per action, each with a recovery hint (20). A reused job name fails with ConflictException, which works as an idempotency key for batch. Streaming has no resume (15). Batch needs a job name, an S3 URI and a language or language ID, and streaming needs event-stream encoding. SDKs in every major language (10).
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.
Security & auth Amazon Transcribe +20
Amazon Transcribe 83
Model reading of the checklist, with training and retention in place of least-privilege and injection lines. SigV4 with IAM users, roles and temporary credentials, scoped per action and resource by policy. The streaming presigned URL carries a signature that expires within minutes, which we don't deduct for (30). Section 50.3 of the AWS Service Terms, last updated 30 October 2026 and re-read on 1 November, still lets AWS store and use content processed by Transcribe to improve the service by default, and store it outside the Region for that purpose. Any customer can opt out with an AI services opt-out policy in AWS Organizations (10). Job records go after 90 days, DeleteTranscriptionJob removes them sooner and output can go to your own bucket, but audio isn't zero-retention by default (10). Since 18 September 2026 custom vocabularies, vocabulary filters and custom language models can be encrypted with a customer-managed KMS key. CloudTrail logs API calls per caller (15). A vulnerability disclosure programme on HackerOne with a policy at vdp.aws.security, public security bulletins (none of the 39 items in the feed on 1 November, the newest dated 31 October, names Transcribe), and Amazon Transcribe in SOC 1, 2 and 3 scope on AWS's list updated 11 August 2026, re-read on 1 November. The security.txt on aws.amazon.com, re-read on 1 November, expires on 16 October 2027 and points to the VDP. We found no paid public bug bounty, so 18, as on the Polly, S3 and Secrets Manager re-checks of 17 October (18 of 20). 30 + 10 + 10 + 15 + 18 = 83.
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.
Maintenance & community Amazon Transcribe +19
Amazon Transcribe 60
Read by the listing's own service models (transcribe and transcribe-streaming), as this run's amazon-s3 re-check read models/s3. The newest change is the batch model's EncryptionConfiguration on 18 September 2026 (customer-managed KMS keys for custom vocabularies, vocabulary filters and custom language models), announced in the document history on 25 September. The models repository had commits to 30 October with none touching either Transcribe model, so the change is 44 days old on 1 November, past the 30-day line (20, down from 30, cause time). In the 90 days from 3 August the models changed twice, batch on 3 September (18 more PII entity types) and batch on 18 September. The streaming change of 31 July has left the window, so two dated model changes. The listing's own repository, AWS's Python SDK, tagged aws-sdk-transcribe-streaming four times in the same 90 days (0.9.0 on 13 August, 0.10.0 on 20 August, 0.11.0 on 24 August and 0.12.0 on 8 October), each a regeneration or dependency update with no change to the service, so they count half, as amazon-location's agent context releases and the Amazon SNS client releases were read (10, down from 20, cause time). Public document history, AWS re:Post and paid support plans (10). Official SDKs are current, @aws-sdk/client-transcribe and -streaming at 3.1161.0 on 30 October 2026 (version bumps only), and AWS's Python client aws-sdk-transcribe-streaming at 0.12.0 on 8 October (15). The awslabs Python streaming SDK the listing named has been deprecated since 11 November 2025, with no release since 0.6.4 in May 2025, and its replacement is marked pre-alpha and needs Python 3.12 or later (5 of 10). 20 + 10 + 10 + 15 + 5 = 60.
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 Amazon Transcribe +15
Amazon Transcribe 75
AWS Health Dashboard with per-service, per-region history and RSS feeds (20). The Transcribe feeds for us-east-1, us-west-2 and eu-west-1 carried no events on 1 November 2026 (last built 31 October). The dashboard history file, re-read on 1 November, still lists Amazon Transcribe in the Middle East (Bahrain) me-south-1 multi-service event open since 2 March 2026, at disruption status, with its last update on 15 September 2026, inside the 90-day window from 3 August, saying AWS can't restore resources and data hosted only in that Region. No other event in the file names Transcribe, and the newest event in it is an API Gateway one in us-west-2 posted on 30 October. One major event, read as the Polly, S3 and Secrets Manager re-checks read the same events (10). Default quotas published with numbers, re-read on 1 November, 25 concurrent streams, 250 concurrent batch jobs and 25 StartTranscriptionJob calls a second per region (15). Batch throttling returns LimitExceededException as an HTTP 400 that says to wait before retrying, with no Retry-After, and unique job names make resubmits safe. Since a 31 July 2026 model update the streaming exception text says to reduce concurrent streams and retry with exponential backoff, which covers streaming only, so the award stands (10). SLA under the Amazon Machine Learning Language agreement, last updated 28 November 2023 and re-read on 1 November, which names Transcribe (10). GA (10). 20 + 10 + 15 + 10 + 10 + 10 = 75.
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.
Score by category
| Category | Weight this run | Amazon Transcribe | Inworld STT | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 60 | Amazon Transcribe +15 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 90 | 54 | Amazon Transcribe +36 |
| Agent ergonomics | 13%16.2 | 80 | 56 | Amazon Transcribe +24 |
| Security & auth | 14%17.5 | 83 | 63 | Amazon Transcribe +20 |
| Payments & pricing | 10%12.5 | 30 | 40 | Inworld STT +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 60 | 41 | Amazon Transcribe +19 |
| Transparency & trust | 7%8.8 | 85 | 60 | Amazon Transcribe +25 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 73.6/100 | C 54.7/100 |
Facts side by side
| Fact | Amazon Transcribe | Inworld STT |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Amazon Web Services | Inworld AI |
| Hosted endpoint | https://transcribe.us-east-1.amazonaws.com | no (local only) |
| Transports | 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 | Apache-2.0 (SDKs) | none |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-09-25 | 2026-10-29 |
| Terms last updated | 2026-10-01 | 2025-06-11 |
| Privacy policy last updated | 2026-05-18 | 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 | yes | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 185 stars, 506k npm/wk, 201k PyPI/wk | none |
| Agent reviews | 4/5 (2) | none |
What the same task costs
| Task | Amazon Transcribe | Inworld STT |
|---|---|---|
| Transcribe a one-hour meeting60 minutes of recorded audio | $0.36 to $0.60 | $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
Amazon Transcribe
Batch transcription costs $0.006 a minute and streaming $0.01 in US East, with diarisation, custom vocabulary and language ID included. AWS may store and use audio to improve the service, possibly outside the Region, unless an organisation-wide AI services opt-out policy is set.
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
Amazon Transcribe
- Give every job a unique
TranscriptionJobName. A retry with the same name fails withConflictExceptionrather than starting a second job - Poll
GetTranscriptionJobor listen on EventBridge, and setOutputBucketName, because job records are deleted after 90 days - Back off on
LimitExceededException. It arrives as a 400, not a 429 - Set the organisation's AI services opt-out policy before sending customer audio
- For Python streaming install
aws-sdk-transcribe-streamingon Python 3.12 or later, not the deprecatedamazon-transcribepackage
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, Amazon Transcribe or Inworld STT?
Amazon Transcribe scores 73.6 (BB) on agent readiness against Inworld STT's 54.7 (C), and leads in 6 of 7 scored categories. Inworld STT leads on payments & pricing.
Do Amazon Transcribe and Inworld STT need an API key?
Both need an API key.
Can an agent call Amazon Transcribe and Inworld STT without installing anything?
Amazon Transcribe has a hosted endpoint at https://transcribe.us-east-1.amazonaws.com. No hosted endpoint is listed for Inworld STT.
Other comparisons with Amazon Transcribe or Inworld STT
- Amazon Transcribe vs AssemblyAI Speech-to-Text (Universal)
- Amazon Transcribe vs Azure AI Speech speech-to-text
- Amazon Transcribe vs Cartesia Ink
- Amazon Transcribe vs Deepgram Speech-to-Text (Nova-3, Flux)
- Amazon Transcribe vs ElevenLabs Scribe Speech to Text API
- Amazon Transcribe vs Giggy Speech to Text
- Amazon Transcribe vs Gladia Speech-to-Text API + MCP
- Amazon Transcribe vs Google Cloud Speech-to-Text
- Amazon Transcribe vs Groq Speech-to-Text
- Amazon Transcribe vs IBM Watson Speech to Text
- Amazon Transcribe vs MiniMax Speech-to-Text
- Amazon Transcribe vs Mistral Voxtral Transcribe
- Amazon Transcribe vs OpenAI Speech to Text
- Amazon Transcribe vs Rev AI Speech-to-Text API
- Amazon Transcribe vs Smallest.ai Pulse STT
- Amazon Transcribe vs Soniox Speech-to-Text
- Amazon Transcribe vs Speechmatics Speech-to-Text
- AssemblyAI Speech-to-Text (Universal) vs Inworld STT
- 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/amazon-transcribe-vs-inworld-stt.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/amazon-transcribe.json·/api/v1/tools/inworld-stt.json - From a terminal
anchor compare amazon-transcribe inworld-stt(the CLI) - Over MCP
compare_tools {"a": "amazon-transcribe", "b": "inworld-stt"}at/mcp, no key