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

Cartesia Ink vs Inworld STT

Cartesia Ink scores 67 (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 and payments & pricing. Both do speech-to-text.

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

Which one, for what

Cartesia Ink B

Best for Suited to voice agents that need turn detection and transcription from one model in English, French, Hindi, Japanese or Spanish, and to teams already using Cartesia text-to-speech.

Ahead on

  • Reliability, 73 against 60
  • Schema & documentation, 89 against 54
  • Agent ergonomics, 74 against 56
  • Maintenance & community, 84 against 41
  • Transparency & trust, 68 against 60

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

The terms let Cartesia train models on inputs and outputs unless otherwise agreed. Opting out is a form in the Playground's data controls

Inworld STT C

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

Ahead on

  • Security & auth, 63 against 47
  • Payments & pricing, 40 against 35

Also in its favour

  • Free to start without a card

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.

Maintenance & community Cartesia Ink +43

Cartesia Ink 84

Read as a model, on the lines deepgram-stt, gladia-stt and cartesia-tts use for hosted speech models (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). The cartesia-mcp server, which has a speech_to_text tool, released 0.28.1 on 30 October 2026 with a bug fix, after 0.27.0 (20 October) and 0.28.0 (27 October). The model page still dates ink-2 and ink-preview 17 September 2026 (30). In the 90 days from 3 August the SDKs released 4.0.0, 4.0.1, 4.1.0 and 4.2.0 (14 August to 2 September) and the MCP server several releases, with changelog entries for August and September (10). The deprecations page gives dated sunsets, and Sonic-2, Sonic Turbo and sonic-3-2025-10-27 were sunset after 20 October 2026, announced in the July changelog. No minimum notice period is stated and no Ink model has been retired, read as cartesia-tts is on the same page (5 of 10). The changelog has speech-to-text entries in May, June, July and September 2026, dated by month only, and no October entry (11 of 15). The Python SDK repository had 4 open issues on 9 October, per that check, not re-read on 1 November since GitHub's pages answered 403 (5 of 10). Official cartesia and @cartesia/cartesia-js SDKs at 4.2.0 (2 September 2026), generated for API version 2026-08-14 (15). CI workflows, release automation and lock files in both SDK repositories, with dependency updates merged on 23 October (8 of 10). 30 + 10 + 5 + 11 + 5 + 15 + 8 = 84.

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.

Schema & documentation Cartesia Ink +35

Cartesia Ink 89

Model reading. The docs index links an OpenAPI file (latest.yml) and AsyncAPI files for the WebSocket endpoints, and each reference page embeds its part of them (25). llms.txt with a Markdown twin of every page (10). The comparison page says which of the three endpoints to use and when, and the turn detection guide explains each event and threshold (18 of 20). The AsyncAPI definition has enums for encoding and cartesia_version, minimum and maximum values on the four turn settings and required fields marked. model is a plain string on the auto endpoint (13 of 15). Example scripts for each endpoint in Python and TypeScript and an errors page with nine codes. model_sunsetted appears on the deprecations page and not in that table, and the docs say a wrong encoding or sample_rate might not return an error (11 of 15). Dated API versions through the Cartesia-Version header and a changelog grouped by month with no day dates (12 of 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.

Agent ergonomics Cartesia Ink +18

Cartesia Ink 74

API reading, as for the other speech-to-text listings. Turn events carry a cumulative transcript that is never revised, so an agent reads one turn.end a turn, and word timestamps are opt-in on the manual and batch endpoints (20 of 25). There is nothing to page through. Batch takes a file of any length without client chunking, keyterms steer vocabulary, and there is no diarisation or subtitle output (12 of 20). Errors are structured JSON with error_code, title, message, request_id and an optional doc_url on API version 2026-03-01 and later (17 of 20). Transcription holds no state to duplicate and the SDKs retry failed HTTP calls. A realtime session cannot be resumed, and nothing on reconnecting was found (12 of 20). Realtime needs model, encoding, sample_rate and the version, turn settings have documented defaults, and there are official Python and TypeScript SDKs. Realtime accepts raw PCM only (13 of 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.

Security & auth Inworld STT +16

Cartesia Ink 47

Model reading. Standard keys (sk_car_...) and admin keys are separate types that are not interchangeable, and a server can mint an access token with an stt grant that lasts at most one hour. That token travels in the access_token query parameter on WebSockets, the API key itself goes in a header, and no key limited to speech-to-text was found. The STT WebSocket definition, re-read on 1 November, lists access_token in the query as a security scheme. The checklist takes 10 off for a secret that can travel in a URL query string as a documented option, and this run takes the full 10 for short-lived OAuth tokens in ?access_token= on every Google API listing, so the earlier 5 is brought into line (26, less 10, 16 of 30). The terms, last revised 14 June 2024, say inputs, outputs and interactions may be used to train models unless otherwise agreed, with an opt-out form in the Playground's data controls (5 of 20). Zero data retention covers STT audio and transcripts and is limited to the Enterprise plan. No retention period for other plans was found, and the DPA gives 180 days for deletion after termination (5 of 15). Credit usage and key metadata are readable through admin endpoints. No audit log was found (7 of 15). security.txt is valid until 3 October 2027 with a contact and a policy link to the trust centre. The docs and pricing page state SOC 2 Type II, HIPAA and PCI-DSS. The trust centre is drawn by script and was not read, and no bug bounty was found (14 of 20). 16 + 5 + 5 + 7 + 14 = 47.

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.

Reliability Cartesia Ink +13

Cartesia Ink 73

Hosted reading. The status page at status.cartesia.ai (incident.io) lists Speech to Text as its own component in four regions (20). Its RSS feed, re-read on 1 November, now names each incident's components. In the 90 days from 3 August two incidents touch speech-to-text, both partial and read as minor, as this run reads one region or some requests. On 2 September some clients in the US regions saw connection errors that cleared on retry (Text to Speech and Speech to Text, US), and on 7 October customers in the US regions saw higher latency for some API requests, from 12:29 to about 18:23 (partial outage, Text to Speech, Speech to Text and Voice Cloning, US). The 3 September throttling named only Text to Speech in APAC, the 8 October errors only the Playground and Voice Agents, and the 15 October Playground outage says API services were unaffected. The 1 August API-wide incident has left the window. Minor only (20). Concurrency limits are published per plan, 8, 12, 20 and 60 concurrent STT requests, with a 3-minute idle timeout on sockets (15). Exceeding the limit returns 429 with the concurrency_limited code, and the SDKs retry 429 and 5xx twice with backoff on HTTP calls. No Retry-After header, backoff guidance or reconnection advice for a dropped socket was found (8 of 15). No SLA was found for any plan (0). ink-2 is marked Stable on the model page re-read on 1 November, with ink-preview as the preview line (10). 20 + 20 + 15 + 8 + 0 + 10 = 73.

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.

Transparency & trust Cartesia Ink +8

Cartesia Ink 68

The service is closed and the SDKs are Apache-2.0. The Terms of Service cover the website, its subdomains and APIs, were last revised on 14 June 2024, describe a platform for synthesised sound and never mention transcription (12 of 30). The terms and privacy policy agree that content may be used for training with an opt-out. The DPA says Cartesia will not retain or use customer personal data beyond performing the services, which sits uneasily with the training licence. No retention period is given outside zero data retention, and the privacy policy says the services are designed for users in the United States only while regional endpoints are sold in four other regions (12 of 30). A deprecations page with dated sunsets and a stated promise to preserve fields for a pinned Cartesia-Version (15 of 20). The DPA promises 30 days' notice of sub-processor changes to subscribers and points to a list in the trust centre, which we could not read. Regional deployments are named for Enterprise only (10 of 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.

Score by category

CategoryWeight this runCartesia InkInworld STTEdge
Reliability16%207360Cartesia Ink +13
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28954Cartesia Ink +35
Agent ergonomics13%16.27456Cartesia Ink +18
Security & auth14%17.54763Inworld STT +16
Payments & pricing10%12.53540Inworld STT +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88441Cartesia Ink +43
Transparency & trust7%8.86860Cartesia Ink +8
Negative events≤1500
TotalB 67/100C 54.7/100

Facts side by side

FactCartesia InkInworld STT
KindModel APIModel API
VendorCartesiaInworld AI
Hosted endpointhttps://api.cartesia.aino (local only)
TransportsHTTP, websocket, Streamable HTTPHTTP, websocket
AuthAPI keyAPI key
PricingFreemiumPay per use
Price for speech-to-textnot published$0.0017 per minute of audio
x402nono
LicenceProprietary hosted service under the Cartesia Terms of Service. The Python and JavaScript SDKs are Apache-2.0none
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-09-172026-10-29
Terms last updated2024-06-142025-06-11
Privacy policy last updated2024-06-142026-01-18
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity134 starsnone
Agent reviews3.3/5 (4)none

What the same task costs

TaskCartesia InkInworld STT
Transcribe a one-hour meeting60 minutes of recorded audio$0.07 to $0.54$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

Cartesia Ink

Ink 2 streams transcripts with turn detection built into the model, documented by an AsyncAPI file with typed ranges and structured errors. The terms, last revised 14 June 2024, let Cartesia train on inputs and outputs unless the customer opts out, and zero data retention is an Enterprise setting. Ink 2 has no batch endpoint and no diarisation.

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

Cartesia Ink

  1. Use wss://api.cartesia.ai/stt/turns/websocket with model=ink-2, encoding, sample_rate and cartesia_version=2026-08-14. All four are required.
  2. Send raw mono audio in chunks of about 100 ms at the speed it was spoken. Pushing a whole file into the socket can return an internal server error.
  3. Read the final text from turn.end only. transcript is cumulative within a turn, so joining turn.update events duplicates text.
  4. Send {"type": "close"} after the last audio and keep reading until the server closes the socket, or the buffered tail is lost.
  5. Check encoding and sample_rate against the source before sending. The docs say the server might not return an error when they are wrong.

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, Cartesia Ink or Inworld STT?

Cartesia Ink scores 67 (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 and payments & pricing.

Do Cartesia Ink and Inworld STT need an API key?

Both need an API key.

Can an agent call Cartesia Ink and Inworld STT without installing anything?

Cartesia Ink has a hosted endpoint at https://api.cartesia.ai. No hosted endpoint is listed for Inworld STT.

Other comparisons with Cartesia Ink 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.