{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "cartesia-ink-stt",
    "name": "Cartesia Ink",
    "vendor": "Cartesia",
    "vendorUrl": "https://www.cartesia.ai",
    "kind": "model",
    "category": "speech-to-text",
    "summary": "Cartesia's hosted speech-to-text API. Ink 2 transcribes live audio in five languages over a WebSocket with built-in turn detection, and the older Ink Whisper model transcribes uploaded files in about 100 languages.",
    "url": "https://www.anchorterminal.com/tools/cartesia-ink-stt",
    "markdownUrl": "https://www.anchorterminal.com/tools/cartesia-ink-stt.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cartesia-ink-stt.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cartesia-ink-stt.json",
    "repo": "https://github.com/cartesia-ai/cartesia-python",
    "license": "Proprietary hosted service under the Cartesia Terms of Service. The Python and JavaScript SDKs are Apache-2.0",
    "transports": [
      "http",
      "websocket",
      "streamable-http"
    ],
    "remoteUrl": "https://api.cartesia.ai",
    "packages": [
      {
        "registry": "pypi",
        "name": "cartesia"
      },
      {
        "registry": "npm",
        "name": "@cartesia/cartesia-js"
      },
      {
        "registry": "pypi",
        "name": "cartesia-mcp"
      }
    ],
    "auth": "api-key",
    "authNotes": "Self-serve API key (`sk_car_...`) from the Playground at play.cartesia.ai/keys, sent as `Authorization: Bearer` or `X-API-Key`. Browser clients use an access token with an `stt` grant, valid for at most one hour, passed as the `access_token` query parameter on WebSockets. Usage and key-metadata endpoints need a separate admin key (https://docs.cartesia.ai/use-the-api/api-conventions).",
    "pricing": "freemium",
    "pricingNotes": "Billed in credits. `ink-2` costs 3 credits a second of audio on both realtime endpoints, silence included. `ink-whisper` costs 1 credit a second in realtime and 1 credit per 2 seconds in batch (https://docs.cartesia.ai/pricing). Plans are Free ($0, 20,000 credits a month), Pro ($5, 100,000), Startup ($49, 1.25 million) and Scale ($299, 8 million), so an agent's owner can start without a contract. Commercial use starts at Pro (https://www.cartesia.ai/pricing).",
    "priceSummary": "Freemium",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the docs index, the pricing pages or the STT reference (checked 2026-10-09).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": 134,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-10-09"
    },
    "docsUrl": "https://docs.cartesia.ai/use-the-api/stt/compare-endpoints",
    "llmsTxt": "https://docs.cartesia.ai/llms.txt",
    "openapi": "https://docs.cartesia.ai/latest.yml",
    "capabilities": [
      "speech.stt",
      "speech.streaming",
      "speech.batch",
      "speech.languages"
    ],
    "tags": [
      "official",
      "hosted",
      "model",
      "closed-source",
      "streaming",
      "batch",
      "free-tier",
      "python",
      "typescript",
      "openapi",
      "llms-txt",
      "mcp",
      "status-page",
      "security-txt",
      "soc2",
      "enterprise"
    ],
    "lastRelease": "2026-09-17",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 67.9,
      "grade": "B",
      "agentReady": false,
      "rank": 238,
      "ranked": true,
      "rankOf": 950,
      "categoryRank": 9,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 74,
        "maintenance": 85,
        "payments": 35,
        "reliability": 73,
        "schema": 89,
        "security": 52,
        "transparency": 67
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 73,
          "points": 14.6,
          "reason": "Hosted reading. The status page at status.cartesia.ai (incident.io) lists Speech to Text as its own component in four regions (20). For July to October 2026 it showed 99.97% for the US, 99.994% for the EU and APAC and 100% for Australia. The history from 17 July to 8 October names no speech-to-text incident and lists five API-wide ones (1 August, 2 and 3 September, 7 and 8 October) whose durations were not shown to us, read as minor incidents 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, with `ink-preview` as the preview line (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 89,
          "points": 14.46,
          "reason": "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)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 74,
          "points": 12.03,
          "reason": "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)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 52,
          "points": 9.1,
          "reason": "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 (26, less 5 for the token in the URL, 21 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)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 35,
          "points": 4.38,
          "reason": "No x402, MPP or L402 (0). The docs pricing page gives 3 credits a second for `ink-2` and the public pricing page gives plan prices and overage rates of $65, $45 and $38 per million credits, all read without a login (20). The Free plan is $0 with 20,000 credits a month, about 1 hour 51 minutes of `ink-2` audio. Neither page says whether sign-up asks for a card, and we did not sign up, so 15 of 20. A person creates the key in the Playground in a browser, and the hosted MCP server also needs a browser sign-in (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 85,
          "points": 7.44,
          "reason": "Model reading, as for the other hosted speech-to-text listings. The model page dates the current `ink-2` and `ink-preview` 17 September 2026, 22 days before the check (30). The deprecations page gives dated sunsets, and the July 2026 changelog announced three text-to-speech sunsets for 20 October 2026. No minimum notice period is stated and no Ink model has been retired (8 of 12). No speech-to-text model was retired or renamed in the last 90 days (8 of 8). The changelog has speech-to-text entries in May, June, July and September 2026, dated by month only (11 of 15). The Python SDK repository had 4 open issues on 9 October. Replies were not sampled (5 of 10). Official `cartesia` and `@cartesia/cartesia-js` SDKs both reached 4.2.0 on 2 September 2026, generated for API version 2026-08-14, and the MCP server's v0.26.1 is dated 8 October (15). CI workflows, release automation and lock files in both SDK repositories (8 of 10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 67,
          "points": 5.86,
          "note": "editorial 49, provenance 84",
          "reason": "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)."
        }
      ],
      "assessment": {
        "date": "2026-10-09",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "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).",
          "maintenance": "Model reading, as for the other hosted speech-to-text listings. The model page dates the current `ink-2` and `ink-preview` 17 September 2026, 22 days before the check (30). The deprecations page gives dated sunsets, and the July 2026 changelog announced three text-to-speech sunsets for 20 October 2026. No minimum notice period is stated and no Ink model has been retired (8 of 12). No speech-to-text model was retired or renamed in the last 90 days (8 of 8). The changelog has speech-to-text entries in May, June, July and September 2026, dated by month only (11 of 15). The Python SDK repository had 4 open issues on 9 October. Replies were not sampled (5 of 10). Official `cartesia` and `@cartesia/cartesia-js` SDKs both reached 4.2.0 on 2 September 2026, generated for API version 2026-08-14, and the MCP server's v0.26.1 is dated 8 October (15). CI workflows, release automation and lock files in both SDK repositories (8 of 10).",
          "payments": "No x402, MPP or L402 (0). The docs pricing page gives 3 credits a second for `ink-2` and the public pricing page gives plan prices and overage rates of $65, $45 and $38 per million credits, all read without a login (20). The Free plan is $0 with 20,000 credits a month, about 1 hour 51 minutes of `ink-2` audio. Neither page says whether sign-up asks for a card, and we did not sign up, so 15 of 20. A person creates the key in the Playground in a browser, and the hosted MCP server also needs a browser sign-in (0).",
          "reliability": "Hosted reading. The status page at status.cartesia.ai (incident.io) lists Speech to Text as its own component in four regions (20). For July to October 2026 it showed 99.97% for the US, 99.994% for the EU and APAC and 100% for Australia. The history from 17 July to 8 October names no speech-to-text incident and lists five API-wide ones (1 August, 2 and 3 September, 7 and 8 October) whose durations were not shown to us, read as minor incidents 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, with `ink-preview` as the preview line (10).",
          "schema": "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).",
          "security": "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 (26, less 5 for the token in the URL, 21 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).",
          "transparency": "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)."
        },
        "sources": [
          {
            "what": "docs index (llms.txt)",
            "url": "https://docs.cartesia.ai/llms.txt",
            "seen": "2026-10-09"
          },
          {
            "what": "Ink 2 model page",
            "url": "https://docs.cartesia.ai/build-with-cartesia/stt/latest",
            "seen": "2026-10-09"
          },
          {
            "what": "older STT models",
            "url": "https://docs.cartesia.ai/build-with-cartesia/stt/older-models",
            "seen": "2026-10-09"
          },
          {
            "what": "endpoint comparison",
            "url": "https://docs.cartesia.ai/use-the-api/stt/compare-endpoints",
            "seen": "2026-10-09"
          },
          {
            "what": "realtime (auto) reference, read as the embedded AsyncAPI definition in the Markdown twin",
            "url": "https://docs.cartesia.ai/api-reference/stt/turns/websocket",
            "seen": "2026-10-09"
          },
          {
            "what": "realtime (manual) reference, read as the embedded AsyncAPI definition in the Markdown twin",
            "url": "https://docs.cartesia.ai/api-reference/stt/websocket",
            "seen": "2026-10-09"
          },
          {
            "what": "batch reference, read as the embedded OpenAPI definition in the Markdown twin",
            "url": "https://docs.cartesia.ai/api-reference/stt/transcribe",
            "seen": "2026-10-09"
          },
          {
            "what": "turn detection guide",
            "url": "https://docs.cartesia.ai/use-the-api/stt/turns",
            "seen": "2026-10-09"
          },
          {
            "what": "audio input guide",
            "url": "https://docs.cartesia.ai/build-with-cartesia/stt/audio-input",
            "seen": "2026-10-09"
          },
          {
            "what": "troubleshooting, realtime auto",
            "url": "https://docs.cartesia.ai/use-the-api/stt/troubleshooting/auto",
            "seen": "2026-10-09"
          },
          {
            "what": "realtime STT quickstart",
            "url": "https://docs.cartesia.ai/get-started/realtime-speech-to-text-quickstart",
            "seen": "2026-10-09"
          },
          {
            "what": "docs pricing page",
            "url": "https://docs.cartesia.ai/pricing",
            "seen": "2026-10-09"
          },
          {
            "what": "public pricing page and FAQ",
            "url": "https://www.cartesia.ai/pricing",
            "seen": "2026-10-09"
          },
          {
            "what": "API conventions and versioning",
            "url": "https://docs.cartesia.ai/use-the-api/api-conventions",
            "seen": "2026-10-09"
          },
          {
            "what": "API errors",
            "url": "https://docs.cartesia.ai/use-the-api/api-errors",
            "seen": "2026-10-09"
          },
          {
            "what": "concurrency and WebSocket limits",
            "url": "https://docs.cartesia.ai/use-the-api/concurrency-limits-and-timeouts",
            "seen": "2026-10-09"
          },
          {
            "what": "authentication and access tokens",
            "url": "https://docs.cartesia.ai/get-started/authenticate-your-client-applications",
            "seen": "2026-10-09"
          },
          {
            "what": "access token reference",
            "url": "https://docs.cartesia.ai/api-reference/auth/access-token",
            "seen": "2026-10-09"
          },
          {
            "what": "zero data retention",
            "url": "https://docs.cartesia.ai/enterprise/zero-data-retention",
            "seen": "2026-10-09"
          },
          {
            "what": "regional endpoints",
            "url": "https://docs.cartesia.ai/enterprise/regional-endpoints",
            "seen": "2026-10-09"
          },
          {
            "what": "changelog 2026",
            "url": "https://docs.cartesia.ai/changelog/2026",
            "seen": "2026-10-09"
          },
          {
            "what": "deprecated models and breaking changes",
            "url": "https://docs.cartesia.ai/build-with-cartesia/tts-models/api-changes",
            "seen": "2026-10-09"
          },
          {
            "what": "MCP server docs",
            "url": "https://docs.cartesia.ai/tools/ai/mcp",
            "seen": "2026-10-09"
          },
          {
            "what": "Ink product page",
            "url": "https://www.cartesia.ai/ink",
            "seen": "2026-10-09"
          },
          {
            "what": "Terms of Service, last revised 14 June 2024",
            "url": "https://www.cartesia.ai/legal/terms",
            "seen": "2026-10-09"
          },
          {
            "what": "Privacy Policy, last revised 14 June 2024",
            "url": "https://www.cartesia.ai/legal/privacy",
            "seen": "2026-10-09"
          },
          {
            "what": "Acceptable Use Policy, last revised 23 July 2025",
            "url": "https://www.cartesia.ai/legal/acceptable-use",
            "seen": "2026-10-09"
          },
          {
            "what": "Data Protection Addendum",
            "url": "https://www.cartesia.ai/legal/dpa",
            "seen": "2026-10-09"
          },
          {
            "what": "status page",
            "url": "https://status.cartesia.ai/",
            "seen": "2026-10-09"
          },
          {
            "what": "status history",
            "url": "https://status.cartesia.ai/history",
            "seen": "2026-10-09"
          },
          {
            "what": "security.txt",
            "url": "https://www.cartesia.ai/.well-known/security.txt",
            "seen": "2026-10-09"
          },
          {
            "what": "Python SDK repository, shallow clone, tags and README",
            "url": "https://github.com/cartesia-ai/cartesia-python",
            "seen": "2026-10-09"
          },
          {
            "what": "JavaScript SDK repository, shallow clone and tags",
            "url": "https://github.com/cartesia-ai/cartesia-js",
            "seen": "2026-10-09"
          },
          {
            "what": "MCP server source, shallow clone",
            "url": "https://github.com/cartesia-ai/cartesia-mcp",
            "seen": "2026-10-09"
          },
          {
            "what": "star and open issue counts",
            "url": "https://api.github.com/repos/cartesia-ai/cartesia-python",
            "seen": "2026-10-09"
          },
          {
            "what": "domain registration (RDAP)",
            "url": "https://rdap.org/domain/cartesia.ai",
            "seen": "2026-10-09"
          }
        ],
        "openQuestions": [
          "unchecked: trust.cartesia.ai is drawn by script, so the certifications, the sub-processor list and any disclosure policy or bug bounty were not read",
          "unchecked: the duration and scope of the five API-wide incidents on the status history (1 August, 2 and 3 September, 7 and 8 October 2026). Only titles and dates were shown to us",
          "unchecked: whether the Free plan asks for a card at sign-up, and how keys are rotated or revoked in the Playground, which is behind a sign-in",
          "unchecked: replies on the SDK issue trackers, and weekly download counts on npm and PyPI",
          "unchecked: the OpenAPI file at `/latest.yml` was not fetched whole. The definitions were read as embedded in the reference pages' Markdown twins",
          "The Terms of Service forbid using 'automation software (bots)' and 'any robot, spider, crawlers, scraper, or other automatic device' that accesses the Services to monitor or collect data, and forbid using the Services to develop competing products. No benchmarking clause was found. Recorded as a fact with no deduction. It matters before any probe is run",
          "docs.cartesia.ai's robots.txt carries `Content-Signal: ai-train=yes, search=yes, ai-input=yes`. www.cartesia.ai allows every path. status.cartesia.ai and trust.cartesia.ai serve no robots.txt",
          "The lead described a REST batch API for Ink 2. The docs say batch `/stt` accepts `ink-whisper` only and mark `ink-2` batch as 'Not available yet'. The listing is named Cartesia Ink and covers both models",
          "The model page dates `ink-2` 17 September 2026 while the changelog announced Ink 2 in May 2026. The September date is read as the multilingual release, and `lastRelease` uses it",
          "Cartesia's pricing FAQ quotes $0.39 an hour for Ink on the Scale plan. Plan arithmetic (10,800 credits an hour at $299 for 8 million) gives $0.40",
          "The privacy policy says the services are designed for users in the United States only, while the docs sell regional deployments in the EU, UK, India and Australia",
          "The access token page lists an OpenAI-compatible `/audio/transcriptions` endpoint under the STT grant. No reference page for it was found in the docs index",
          "The `cartesia-mcp` repository has no licence file in its root. The SDK repositories are Apache-2.0",
          "Both SDK repositories returned 134 stars and 4 open issues from the GitHub API on 9 October. The match was not investigated",
          "Whether this listing should stand apart from the Cartesia text-to-speech listing is the editor's call. It shares the API host, keys, plans, terms and status page, and has its own models, endpoints, prices and status components"
        ]
      },
      "negative": 0,
      "verdict": "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.",
      "bestFor": "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.",
      "strengths": [
        "`/stt/turns/websocket` emits `turn.start`, `turn.update`, `turn.eager_end`, `turn.resume` and `turn.end`, so no separate voice activity detector is needed",
        "OpenAPI and AsyncAPI files, llms.txt and Markdown twins of every docs page, with enums and numeric ranges on the WebSocket parameters",
        "Structured errors on `Cartesia-Version` 2026-03-01 and later, with `error_code`, `title`, `message`, `request_id` and an optional `doc_url`",
        "Short-lived access tokens (at most one hour) carry an `stt` grant, and admin keys are a separate key type from standard keys",
        "The status page lists Speech to Text in four regions, at 99.97% (US), 99.994% (EU and APAC) and 100% (AU) for July to October 2026"
      ],
      "weaknesses": [
        "The terms let Cartesia train models on inputs and outputs unless otherwise agreed. Opting out is a form in the Playground's data controls",
        "Zero data retention is an Enterprise plan setting, and no retention period for other plans was found in the terms, privacy policy or docs",
        "`ink-2` supports English, French, Hindi, Japanese and Spanish only and has no batch endpoint. `POST /stt` accepts `ink-whisper` only",
        "No diarisation or speaker labels in the reviewed documentation, and realtime input is raw mono PCM with `encoding` and `sample_rate` required",
        "The terms of 14 June 2024 forbid automation software (bots) and any robot or scraper that accesses the Services to collect data, which matters before any probe is run",
        "No SLA was found, and a 429 for exceeding the concurrency limit is documented without a `Retry-After` header or backoff guidance"
      ],
      "agentNotes": [
        "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.",
        "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.",
        "Read the final text from `turn.end` only. `transcript` is cumulative within a turn, so joining `turn.update` events duplicates text.",
        "Send `{\"type\": \"close\"}` after the last audio and keep reading until the server closes the socket, or the buffered tail is lost.",
        "Check `encoding` and `sample_rate` against the source before sending. The docs say the server might not return an error when they are wrong."
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "B",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 67.9
        }
      ],
      "editorialScores": {
        "ergonomics": 74,
        "maintenance": 85,
        "payments": 35,
        "reliability": 73,
        "schema": 89,
        "security": 52,
        "transparency": 49
      },
      "provenanceScore": 84
    },
    "connect": {
      "install": "pip install 'cartesia[websockets]'   # or: npm install @cartesia/cartesia-js",
      "claudeCode": "claude mcp add --transport http --scope user cartesia https://mcp.cartesia.ai/mcp"
    },
    "letme": {
      "capability": "https://letme.dev/speech.stt",
      "tool": "https://letme.dev/cartesia-ink-stt"
    },
    "sameCompany": [
      "cartesia-tts",
      "cartesia-voice-cloning"
    ],
    "notable": [
      "Three endpoints. `/stt/turns/websocket` (realtime with turn detection, `ink-2` and `ink-preview`), `/stt/websocket` (realtime, the client sends `finalize`, all models) and `POST /stt` (batch file upload, `ink-whisper` only) (https://docs.cartesia.ai/use-the-api/stt/compare-endpoints)",
      "The model page dates `ink-2` (Stable) and `ink-preview` (Preview) 17 September 2026, with English, French, Hindi, Japanese and Spanish detected automatically. The changelog first announced Ink 2 in May 2026, English only (https://docs.cartesia.ai/build-with-cartesia/stt/latest)",
      "`ink-whisper-2025-06-04` is the older model, listed as Stable with about 100 language codes (https://docs.cartesia.ai/build-with-cartesia/stt/older-models)",
      "Keyterm prompting takes up to 100 `keyterm` values totalling 1,200 characters on `ink-2` and `ink-preview` (https://docs.cartesia.ai/api-reference/stt/turns/websocket)",
      "Concurrent STT requests are 8 on Free, 12 on Pro, 20 on Startup and 60 on Scale, counted apart from TTS. Idle STT WebSockets count towards the limit and close after 3 minutes (https://docs.cartesia.ai/use-the-api/concurrency-limits-and-timeouts)",
      "The pricing table marks batch `/stt` for `ink-2` as 'Not available yet'. The lead for this listing named a batch API for Ink 2, which the docs do not support",
      "The official MCP server at `https://mcp.cartesia.ai/mcp` has a `speech_to_text` tool marked read-only, which defaults to batch `ink-whisper` and uses `ink-2` in `mode=stream`. It takes a `file_id` or a path on the server, not live audio (https://docs.cartesia.ai/tools/ai/mcp)",
      "Cartesia's product page claims the lowest word error rate of any streaming speech-to-text model and a 0.1 second time to final transcript. These are vendor claims, not our measurements (https://www.cartesia.ai/ink)",
      "Enterprise customers can use dedicated regional deployments in the United States, European Union, United Kingdom, India and Australia (https://docs.cartesia.ai/enterprise/regional-endpoints)",
      "The same API host, keys, plans, terms and status page as the Cartesia text-to-speech and voice cloning listings"
    ],
    "area": "voice",
    "details": [
      {
        "label": "Models",
        "value": "`ink-2` (Stable) and `ink-preview` (Preview) for realtime, `ink-whisper` for realtime and batch"
      },
      {
        "label": "Languages",
        "value": "`ink-2` covers English, French, Hindi, Japanese and Spanish with automatic detection. `ink-whisper` lists about 100 language codes"
      },
      {
        "label": "Streaming latency",
        "value": "Cartesia claims a 0.1 second time to final transcript on its product page. Not measured by us"
      },
      {
        "label": "Turn detection",
        "value": "Built into `ink-2` on `/stt/turns/websocket`, with start, eager-end and end thresholds and an end timeout of 640 to 11,200 ms (default 5,600)"
      },
      {
        "label": "Diarisation",
        "value": "None found"
      },
      {
        "label": "Input",
        "value": "Realtime takes raw mono PCM (`pcm_s16le`, `pcm_s32le`, `pcm_f16le`, `pcm_f32le`, `pcm_mulaw`, `pcm_alaw`). Batch takes flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav or webm of any length"
      },
      {
        "label": "Output",
        "value": "Turn events with cumulative transcripts on the auto endpoint, transcript deltas with `is_final` on the manual endpoint, one transcript in batch. Word timestamps on the manual and batch endpoints"
      },
      {
        "label": "Free tier",
        "value": "20,000 credits a month, about 1 hour 51 minutes of `ink-2` audio, for non-commercial use"
      },
      {
        "label": "Rate limits",
        "value": "Concurrent STT requests 8 (Free), 12 (Pro), 20 (Startup), 60 (Scale), custom on Enterprise. Idle sockets close after 3 minutes"
      },
      {
        "label": "Trains on API data",
        "value": "Yes unless otherwise agreed, per the terms. An opt-out form is in the Playground's data controls"
      },
      {
        "label": "Data retention",
        "value": "Zero data retention is an Enterprise setting that covers STT audio and transcripts. No period was found for other plans"
      },
      {
        "label": "Compliance",
        "value": "The docs and pricing page state SOC 2 Type II, HIPAA, PCI-DSS service provider and GDPR. The trust centre could not be read"
      },
      {
        "label": "Regions",
        "value": "`api.cartesia.ai` routes to the closest endpoint. Dedicated US, EU, UK, India and Australia deployments for Enterprise"
      },
      {
        "label": "MCP",
        "value": "Hosted at `https://mcp.cartesia.ai/mcp` with a Playground sign-in, or run locally. 18 tools in `server.py` at v0.26.1, one of them `speech_to_text`"
      }
    ],
    "unitPrices": [
      {
        "item": "Ink 2 realtime, Scale plan",
        "unit": "audio-minute",
        "usd": 0.0067,
        "note": "180 credits a minute at $299 for 8M credits. Cartesia quotes $0.39 an hour"
      },
      {
        "item": "Ink 2 realtime, Startup plan",
        "unit": "audio-minute",
        "usd": 0.0071,
        "note": "180 credits a minute at $49 for 1.25M credits"
      },
      {
        "item": "Ink 2 realtime, Pro plan",
        "unit": "audio-minute",
        "usd": 0.009,
        "note": "180 credits a minute at $5 for 100,000 credits"
      },
      {
        "item": "Ink Whisper realtime, Scale plan",
        "unit": "audio-minute",
        "usd": 0.0022,
        "note": "60 credits a minute at $299 for 8M credits"
      },
      {
        "item": "Ink Whisper batch, Scale plan",
        "unit": "audio-minute",
        "usd": 0.0011,
        "note": "30 credits a minute at $299 for 8M credits"
      }
    ],
    "provenance": {
      "legalEntity": "Cartesia AI, Inc.",
      "domain": "cartesia.ai",
      "domainRegistered": "2023-05-10",
      "endpointOnVendorDomain": true,
      "terms": "https://www.cartesia.ai/legal/terms",
      "privacy": "https://www.cartesia.ai/legal/privacy",
      "statusPage": "https://status.cartesia.ai",
      "changelog": "https://docs.cartesia.ai/changelog/2026",
      "securityTxt": "valid",
      "checked": "2026-10-09",
      "score": 84,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Cartesia AI, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "cartesia.ai, registered 2023-05-10 (3 years)",
          "points": 7,
          "max": 15,
          "state": "part"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "api.cartesia.ai",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points",
          "points": 5.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 4 of the 8 things a reader expects",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Status page",
          "value": "status.cartesia.ai",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "valid",
          "points": 10,
          "max": 10,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://www.cartesia.ai/legal/terms",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2024-06-14",
          "words": 7592,
          "points": 5.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Revised on June 14, 2024",
              "says": "Last updated 2024-06-14"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "…initiative and are responsible for compliance with applicable local laws.These Terms are governed by the laws of the State of California, without regard to conflict of laws rules, and the proper venue for any disputes arising out of or relating to any of the same will be the arbitration venue set forth in Section 8, o…",
              "says": "The law of the State of California, with disputes in the courts of Santa Clara County, California"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "…PROHIBITED BY LAW, THE CARTESIA ENTITIES’ TOTAL LIABILITY TO YOU FOR ANY DAMAGES FINALLY AWARDED SHALL NOT EXCEED THE GREATER OF:THE TOTAL AMOUNT PAID TO CARTESIA BY YOU IN THE PAST SIX (6) MONTHS FOR THE SERVICES GIVING RISE TO SUCH LIABILITY;$100;IF APPLICABLE, THE STATUTORY REMEDY OR PENALTY IMPOSED BY THE STATUTE…",
              "says": "Capped at the greater of $100 and the fees paid in the 6 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "Additionally, Cartesia may suspend, disable, or delete your Account and/or the Services (or any part of the foregoing) with or without notice, for any or no reason."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "The updated Terms will be effective as of the time of posting, or such later date as may be specified in the updated Terms.",
              "says": "Changes are posted, with no other notice named"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "You may not use the Services if you are barred from doing so under the laws of the United States, your place of residence, or any other applicable jurisdiction."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "training.optout",
              "label": "Says it may use customer content to train or improve models, and gives an opt-out",
              "found": true,
              "quote": "You may request that we not use certain categories of Your Content to train our Models by completing this online form."
            },
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "Duplicate, decompile, reverse engineer, disassemble or decode the Services (including any underlying idea or algorithm), or attempt to do any of the same;Use automation software (bots), hacks, modifications (mods) or any other unauthorized third-party software designed to modify the Services;",
              "costsPoints": true
            },
            {
              "key": "terms.benchmark",
              "label": "Restricts benchmarking or competitive use",
              "found": true,
              "quote": "Use any part of the Services or any Output to research and develop products, models and services that compete with Cartesia;",
              "costsPoints": true
            },
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "Additionally, Cartesia may suspend, disable, or delete your Account and/or the Services (or any part of the foregoing) with or without notice, for any or no reason."
            },
            {
              "key": "terms.arbitration",
              "label": "Requires arbitration or waives class actions",
              "found": true,
              "quote": "Section 8 contains an arbitration clause and class action waiver."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "The customer grants Cartesia an irrevocable, perpetual, transferable and sublicensable licence to use inputs and outputs for training and improving its models.",
              "quote": "you hereby grant to Cartesia a non-exclusive, irrevocable, perpetual, worldwide, royalty-free, fully paid, transferable, sublicensable right and license to use any Inputs and Outputs made available by you or otherwise generated in connection with your use of the Services at any point"
            },
            {
              "date": "2026-10-08",
              "text": "Outputs may not be monetised or put to commercial use unless the subscription tier expressly permits commercial use.",
              "quote": "You represent and warrant that you will not monetize, make commercial use of, or otherwise use for or in connection with any commercial purposes, any of Your Outputs that you create with the Services (unless commercial use is expressly permitted by your subscription tier)."
            },
            {
              "date": "2026-10-08",
              "text": "Other users of the service have the right to use, publish, display, modify or copy a customer's content as part of their own use of the service.",
              "quote": "you agree that the other users of the Services shall have the right to comment on and/or tag Your Content and/or to use, publish, display, modify or include a copy of Your Content as part of their own use of the Services"
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://www.cartesia.ai/legal/privacy",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2024-06-14",
          "words": 2057,
          "points": 7,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last revised on June 14, 2024",
              "says": "Last updated 2024-06-14"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "When you use or access the Services, we collect certain information about you from different sources."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": false
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "We may disclose your information about you with third parties in the following circumstances:"
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": false
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": false
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "Should you have any questions about our privacy practices or this Privacy Policy, please email us at security@cartesia.ai.",
              "says": "security@cartesia.ai"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "training.optout",
              "label": "Says it may use customer content to train or improve models, and gives an opt-out",
              "found": true,
              "quote": "You may request that we not use certain categories of your Content to train our models by completing this online form."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "The policy says the services are designed for users in the United States only and are not intended for users elsewhere.",
              "quote": "Please note that the Services are designed for users in the United States only and are not intended for users located outside the United States."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/cartesia-ink-stt.json",
    "live": {
      "slug": "cartesia-ink-stt",
      "probe": {
        "target": "https://api.cartesia.ai",
        "method": "get",
        "lastAt": "2026-10-10T03:53:23.190570767Z",
        "lastOk": true,
        "lastStatus": 200,
        "lastMs": 59,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 68,
        "p95ms24h": 169,
        "samples24h": 125,
        "samples30d": 125,
        "days": [
          {
            "date": "2026-10-09",
            "probes": 85,
            "ok": 85
          },
          {
            "date": "2026-10-10",
            "probes": 40,
            "ok": 40
          }
        ]
      },
      "vendorStatus": {
        "page": "https://status.cartesia.ai",
        "indicator": "none",
        "summary": "All Systems Operational",
        "checkedAt": "2026-10-10T03:58:02.325041166Z"
      },
      "versions": [
        {
          "registry": "github",
          "name": "cartesia-ai/cartesia-python",
          "version": "v4.2.0",
          "released": "2026-09-02",
          "seenAt": "2026-10-09T16:44:27.669680758Z"
        },
        {
          "registry": "npm",
          "name": "@cartesia/cartesia-js",
          "version": "4.2.0",
          "seenAt": "2026-10-09T16:44:25.845737197Z"
        },
        {
          "registry": "pypi",
          "name": "cartesia",
          "version": "4.2.0",
          "released": "2026-09-02",
          "seenAt": "2026-10-09T16:44:25.659263821Z"
        },
        {
          "registry": "pypi",
          "name": "cartesia-mcp",
          "version": "0.26.1",
          "released": "2026-10-08",
          "seenAt": "2026-10-09T16:44:26.977578193Z"
        }
      ],
      "githubStars": 134,
      "npmWeekly": 79696,
      "pypiWeekly": 205864,
      "pages": [
        {
          "url": "https://docs.cartesia.ai/changelog/2026",
          "kind": "changelog",
          "status": 200,
          "checkedAt": "2026-10-09T18:36:45.184290806Z",
          "changedAt": "2026-10-07T18:04:49.25388057Z",
          "fingerprint": "405fadad924b"
        },
        {
          "url": "https://docs.cartesia.ai/pricing",
          "kind": "pricing",
          "status": 200,
          "checkedAt": "2026-10-09T18:36:47.532132362Z",
          "changedAt": "0001-01-01T00:00:00Z",
          "fingerprint": "379a41a8bcf3"
        },
        {
          "url": "https://www.cartesia.ai/pricing",
          "kind": "pricing",
          "status": 200,
          "checkedAt": "2026-10-09T18:48:59.764022121Z",
          "changedAt": "0001-01-01T00:00:00Z",
          "fingerprint": "12bd9269bdef"
        },
        {
          "url": "https://www.cartesia.ai/legal/privacy",
          "kind": "privacy",
          "status": 200,
          "checkedAt": "2026-10-09T18:48:55.522982064Z",
          "changedAt": "2026-10-08T18:26:54.204830291Z",
          "fingerprint": "90fbd63881e5"
        },
        {
          "url": "https://www.cartesia.ai/legal/terms",
          "kind": "terms",
          "status": 200,
          "checkedAt": "2026-10-09T18:48:57.753461207Z",
          "changedAt": "2026-10-08T18:26:56.591248396Z",
          "fingerprint": "2153bed03a23"
        }
      ],
      "updatedAt": "2026-10-10T03:58:02.325041166Z"
    }
  }
}
