{
  "data": {
    "a": {
      "slug": "inworld-stt",
      "name": "Inworld STT",
      "vendor": "Inworld AI",
      "vendorUrl": "https://inworld.ai",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "Inworld's speech-to-text API runs its `inworld/inworld-stt-1` model in 30 languages over synchronous HTTP, bidirectional WebSocket streaming and asynchronous jobs, returning Voice Profile signals (age, emotion, pitch, accent) and turn detection alongside the transcript.",
      "url": "https://www.anchorterminal.com/tools/inworld-stt",
      "markdownUrl": "https://www.anchorterminal.com/tools/inworld-stt.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inworld-stt.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inworld-stt.json",
      "dns": "inworld-stt.grade.anchorterminal.com",
      "transports": [
        "http",
        "websocket"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@inworld/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every call sends `Authorization: Basic` with the Base64 `key_id:secret` credential from the Portal or the CLI. Keys belong to a workspace and are deleted to revoke. Browsers pass a one-time token in the `bearer_` WebSocket subprotocol rather than the URL.",
      "pricing": "usage",
      "pricingNotes": "$0.15 an hour of audio on the free On-Demand plan and $0.10 on the paid plans ($25 to $1,500 a month), billed per second. On-Demand includes up to 400 minutes free. Diarisation and Voice Profile are separate per-second add-ons. Asynchronous jobs need a payment method.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or pricing page (checked 2026-11-06). Plans and credits are bought in the Portal.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.inworld.ai/stt/overview",
      "llmsTxt": "https://docs.inworld.ai/llms.txt",
      "capabilities": [
        "speech.stt",
        "speech.streaming",
        "speech.batch",
        "speech.diarisation",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "usage",
        "free-tier",
        "no-card",
        "closed-source",
        "llms-txt",
        "streaming",
        "batch",
        "mcp",
        "enterprise"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.7,
        "grade": "C",
        "agentReady": false,
        "rank": 895,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 41,
          "payments": 40,
          "reliability": 60,
          "schema": 54,
          "security": 63,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Low-cost live transcription for voice agents, with speaker traits.",
        "strengths": [
          "$0.15 an hour on the free plan and $0.10 on paid plans, billed per second, with 400 free minutes",
          "Sync, WebSocket streaming and async jobs on one model, with turn detection and Voice Profile signals",
          "Browser tokens travel in a WebSocket subprotocol, not the URL",
          "Zero data retention keeps audio and transcripts in memory, and the docs include it from the Developer plan",
          "llms.txt, Markdown twins and a docs MCP server"
        ],
        "weaknesses": [
          "No OpenAPI or other machine-readable contract",
          "The STT release notes path asks for a login, so changes to the model aren't publicly dated",
          "Status history couldn't be read, and an SLA exists only for Enterprise",
          "Speaker diarisation is experimental and async jobs run on a `v1alpha` operations route",
          "Docs and the STT product page disagree on which plans include zero data retention"
        ],
        "agentNotes": [
          "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:async` for 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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.7
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 41,
          "payments": 40,
          "reliability": 60,
          "schema": 54,
          "security": 63,
          "transparency": 45
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @inworld/cli",
        "claudeCode": "claude mcp add inworld -- inworld mcp"
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/inworld-stt"
      },
      "sameCompany": [
        "inworld-tts",
        "inworld-realtime",
        "inworld-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "STT-1, On-Demand",
          "unit": "audio-minute",
          "usd": 0.0025,
          "note": "$0.15 an hour"
        },
        {
          "item": "STT-1, paid plans",
          "unit": "audio-minute",
          "usd": 0.00167,
          "note": "$0.10 an hour on Creator to Growth"
        }
      ],
      "provenance": {
        "legalEntity": "Theai, Inc. dba Inworld AI",
        "domain": "inworld.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://inworld.ai/terms",
        "privacy": "https://inworld.ai/privacy",
        "statusPage": "https://status.inworld.ai",
        "changelog": "https://docs.inworld.ai/release-notes/realtime",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service (effective 11 June 2025) are an agreement with Theai, Inc. dba Inworld AI under California law, with courts in Santa Clara. The Privacy Notice (last updated 18 January 2026) names Theai, Inc.",
          "inworld.ai/.well-known/security.txt returns 404. The security page links a vulnerability report form.",
          "status.inworld.ai runs the open-source issue-status app, which draws incidents from GitHub issues in inworld-ai/inworld-issue-status. Its history wasn't read, because GitHub's robots.txt couldn't be read from our environment.",
          "inworld.ai's robots.txt allows Claude agents on the paths read and sets `Content-Signal: ai-train=no, search=yes, ai-input=no`. docs.inworld.ai has no such signal.",
          "The domain's registration date wasn't established, because the RDAP lookup failed.",
          "firstReleased is left empty. No dated STT launch was found, and the STT release notes path asks for a Portal login."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inworld-stt.json",
      "live": {
        "slug": "inworld-stt",
        "versions": [
          {
            "registry": "npm",
            "name": "@inworld/cli",
            "version": "1.5.0",
            "seenAt": "2026-11-06T23:35:05.474861108Z"
          }
        ],
        "npmWeekly": 290,
        "securityTxt": {
          "url": "https://inworld.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:11.794771951Z"
        },
        "llmsTxt": {
          "url": "https://docs.inworld.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:47.741512787Z"
        },
        "updatedAt": "2026-11-07T16:01:11.794771951Z"
      }
    },
    "answer": "Smallest.ai Pulse STT scores 65 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security \u0026 auth.",
    "b": {
      "slug": "smallest-pulse-stt",
      "name": "Smallest.ai Pulse STT",
      "vendor": "Smallest AI",
      "vendorUrl": "https://smallest.ai",
      "kind": "model",
      "category": "speech-to-text",
      "summary": "Smallest AI's Pulse speech-to-text API transcribes pre-recorded files over HTTP and live audio over WebSocket, with three models (Pulse, Pulse 2.0 and Pulse Pro), diarisation, word timestamps, redaction and turn detection.",
      "url": "https://www.anchorterminal.com/tools/smallest-pulse-stt",
      "markdownUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json",
      "dns": "smallest-pulse-stt.grade.anchorterminal.com",
      "repo": "https://github.com/smallest-inc/smallest-python-sdk",
      "transports": [
        "http",
        "websocket"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "@developer-smallestai/smallest-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer `sk_` API key created in the dashboard after a browser signup, shared by every model and the Voice Agents API. Keys are shown once, revoked by deleting them and carry no scopes. Servers can mint `wat_` access tokens for browsers (30 to 900 seconds, inference routes only), which the STT socket takes as `?api_key=`.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from $0.003 a minute for Pulse batch, $0.004 for Pulse streaming and $0.005 for Pulse 2.0. Pulse Pro is listed at both $0.0035 and $0.004 a minute. $10 in trial credits. Enterprise pricing, SLA and zero data retention by quote.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI file or pricing page (checked 2026-11-06). Credits are bought with a card on file.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.smallest.ai/models/speech-to-text/overview",
      "llmsTxt": "https://docs.smallest.ai/llms.txt",
      "openapi": "https://docs.smallest.ai/openapi/models-api.json",
      "capabilities": [
        "speech.stt",
        "speech.streaming",
        "speech.batch",
        "speech.diarisation",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "usage",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "streaming",
        "batch",
        "webhooks",
        "mcp",
        "enterprise",
        "self-hosted"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65,
        "grade": "B",
        "agentReady": false,
        "rank": 441,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 73,
          "payments": 40,
          "reliability": 63,
          "schema": 92,
          "security": 52,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only.",
        "bestFor": "Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.",
        "strengths": [
          "OpenAPI 3.1 and AsyncAPI 2.6 files cover the batch route and the streaming socket, with llms.txt and Markdown copies of every page",
          "Public prices of $0.003 a minute for batch, $0.004 for streaming and $0.005 for Pulse 2.0, with $10 of trial credits",
          "Dated Pulse changelog with nine entries between 30 August and 2 November 2026",
          "Opt-in diarisation, word timestamps, PII and PCI redaction, keyword boosting and turn detection on the same endpoint",
          "Region-pinned hosts in Mumbai and Oregon for data residency"
        ],
        "weaknesses": [
          "Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes",
          "Keys grant full account access with no scopes, and the docs pass keys or tokens as URL query parameters on WebSockets",
          "Zero data retention is Enterprise only or a $1,000 a month add-on, and no retention period is published for other plans",
          "No published SLA below Enterprise, and the terms allow changes or discontinuation without notice",
          "Several changelog entries correct response fields the reference had documented wrongly"
        ],
        "agentNotes": [
          "Pass `?model=` on every call, since a missing model returns 400; use `pulse-pro` for English files and `pulse` for other languages or streaming",
          "Send booleans such as `diarize` and `word_timestamps` as the lowercase strings \"true\" or \"false\"",
          "Retry 429 with backoff from 500 ms up to 30 s and honour Retry-After; keep within 25 batch requests a minute on the Standard plan",
          "Use the region-pinned host api.us.smallest.ai or api.india.smallest.ai when the audio must stay in one region",
          "Read speaker labels only from final events, because interim streaming events carry no `words[]`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 73,
          "payments": 40,
          "reliability": 63,
          "schema": 92,
          "security": 52,
          "transparency": 55
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install smallestai",
        "http": "curl -X POST \"https://api.smallest.ai/waves/v1/stt/?model=pulse\u0026language=en\" \\\n  -H \"Authorization: Bearer $SMALLEST_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://github.com/smallest-inc/cookbook/raw/main/speech-to-text/getting-started/samples/audio.wav\"}'",
        "claudeCode": "claude mcp add smallest -- npx -y @developer-smallestai/smallest-mcp-server"
      },
      "letme": {
        "capability": "https://letme.dev/speech.stt",
        "tool": "https://letme.dev/smallest-pulse-stt"
      },
      "sameCompany": [
        "smallest-lightning-tts",
        "smallest-voice-clone"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Pulse pre-recorded",
          "unit": "audio-minute",
          "usd": 0.003,
          "note": "pay as you go"
        },
        {
          "item": "Pulse streaming",
          "unit": "audio-minute",
          "usd": 0.004,
          "note": "pay as you go"
        },
        {
          "item": "Pulse Pro pre-recorded",
          "unit": "audio-minute",
          "usd": 0.0035,
          "note": "the pricing page also shows $0.004"
        },
        {
          "item": "Pulse 2.0 streaming",
          "unit": "audio-minute",
          "usd": 0.005,
          "note": "Standard plan, per the Pulse changelog"
        }
      ],
      "provenance": {
        "legalEntity": "Smallest, Inc.",
        "domain": "smallest.ai",
        "domainRegistered": "2023-09-02",
        "endpointOnVendorDomain": true,
        "terms": "https://smallest.ai/terms-of-service",
        "privacy": "https://smallest.ai/privacy-policy",
        "statusPage": "https://status.smallest.ai/",
        "changelog": "https://docs.smallest.ai/changelog/models",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The terms of service (effective 21 October 2026) name Smallest Inc., 311 California Street, Suite 320, San Francisco, under California law. The privacy policy (effective 18 September 2026) names Smallest, Inc. with a registered office in Lewes, Delaware.",
          "The terms forbid accessing or searching the services with spiders, robots, crawlers or similar data mining tools except through means Smallest makes available. Only public pages were read, with no account.",
          "smallest.ai/robots.txt allows all crawlers including ClaudeBot, with Content-Signal ai-train=yes, search=yes, ai-input=yes. docs.smallest.ai/robots.txt allows all paths except /api/fern-docs/.",
          "/.well-known/security.txt names security@smallest.ai and expires 31 December 2026. /security.txt returns 404.",
          "RDAP gives smallest.ai a registration date of 2 September 2023.",
          "Every docs page served as Markdown opens with a block addressed to AI assistants that says which models to prefer. It was read as data, not followed.",
          "firstReleased is left empty. No dated launch of the Models API was found on a page our reader may fetch."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smallest-pulse-stt.json",
      "live": {
        "slug": "smallest-pulse-stt",
        "vendorStatus": {
          "page": "https://status.smallest.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:45.825598924Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smallest-inc/smallest-python-sdk",
            "version": "v2.1.0",
            "released": "2025-03-04",
            "seenAt": "2026-11-07T00:06:40.503973794Z"
          },
          {
            "registry": "npm",
            "name": "@developer-smallestai/smallest-mcp-server",
            "version": "0.11.2",
            "seenAt": "2026-11-07T00:06:37.84247373Z"
          },
          {
            "registry": "npm",
            "name": "smallestai",
            "version": "1.0.1",
            "seenAt": "2026-11-07T00:06:37.805702611Z"
          },
          {
            "registry": "pypi",
            "name": "smallestai",
            "version": "5.14.0",
            "released": "2026-10-07",
            "seenAt": "2026-11-07T00:06:37.684406795Z"
          }
        ],
        "githubStars": 42,
        "npmWeekly": 149,
        "pypiWeekly": 850,
        "securityTxt": {
          "url": "https://smallest.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:01:21.76871346Z"
        },
        "llmsTxt": {
          "url": "https://docs.smallest.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:58.699076043Z"
        },
        "updatedAt": "2026-11-07T16:01:21.76871346Z"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "schema",
        "leads": "smallest-pulse-stt",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "OpenAPI 3.1 for the HTTP routes and AsyncAPI 2.6 for the STT socket, with query parameters and event schemas (25). llms.txt and a Markdown copy of every page (10). Model cards and a compare page say which model suits which audio, and fields say where they're ignored (Pulse Pro ignores redaction), but several changelog entries correct response fields the reference had wrong, such as the diarisation shape and a `redacted_entities` array that doesn't exist (15 of 20). Typed query parameters with enums, defaults and required marks, though booleans are string enums that must be lowercase (13 of 15). Examples in curl, Python and JavaScript, and the reference lists 400, 401, 403, 413, 422 and 429 bodies with known `code` values (14 of 15). Versioned `/v1` paths, a deprecations page and a dated Pulse changelog (15). Total 92."
        },
        "scores": {
          "a": 54,
          "b": 92
        }
      },
      {
        "by": 32,
        "category": "maintenance",
        "leads": "smallest-pulse-stt",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "Read as a model. The newest Pulse changelog entry is dated 2 November 2026 (updated Indic benchmarks), and Pulse 2.0 launched within the period (30). Dated Pulse entries on 30 August, 18, 29 and 30 September, 1, 12, 13 and 21 October and 2 November (20). Public changelog, email support and a Discord server, with no evidence read of how they answer (10 of 15). The Python SDK `smallestai` 5.14.0 dates from 7 October with 12 releases since 9 August, but the npm Node SDK has not been published since May 2025 (8 of 15). The Python SDK repository runs CI and release workflows, but has no licence file (5 of 10). Total 73."
        },
        "scores": {
          "a": 41,
          "b": 73
        }
      },
      {
        "by": 11,
        "category": "security",
        "leads": "inworld-stt",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52."
        },
        "scores": {
          "a": 63,
          "b": 52
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "smallest-pulse-stt",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration targets, deprecated routes return a `Deprecation: true` header, and the 30 September changelog removed 14 European codes from the batch enum with a migration to `multi-eu`. The terms still let Smallest change or discontinue services at any time without notice (15 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 55."
        },
        "scores": {
          "a": 60,
          "b": 71
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "smallest-pulse-stt",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "API reading of the checklist. Word timestamps, utterances, diarisation, emotion and gender are each opt-in, so the default response is the transcript with metadata (18 of 25). There are no list endpoints for transcriptions to page. Output controls are the opt-in fields and finalisation settings on the socket (10 of 20). Errors carry a status and a machine-readable `code` or `error_code` (`LANGUAGE_NOT_SUPPORTED_BY_MODEL`, `AudioTooLong` and others) with fixes, but the body comes in two shapes, `message` or `error` (15 of 20). Batch calls are synchronous with no idempotency key, and whether a retried file is billed again isn't stated (10 of 20). A file call needs only the model and audio. Official Python and Node SDKs exist, though the Node SDK was last published in May 2025 (13 of 15). Total 66."
        },
        "scores": {
          "a": 56,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Inworld AI",
        "b": "Smallest AI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.0017 per minute of audio",
        "b": "not published",
        "name": "Price for speech-to-text"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "0",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "2025-06-11",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-01-18",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Smallest.ai Pulse STT scores 65 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Inworld STT or Smallest.ai Pulse STT?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Inworld STT and Smallest.ai Pulse STT need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Inworld STT. No hosted endpoint is listed for Smallest.ai Pulse STT.",
        "question": "Can an agent call Inworld STT and Smallest.ai Pulse STT without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 63 against 52"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Low-cost live transcription for voice agents, with speaker traits.",
        "slug": "inworld-stt",
        "watchFor": "No OpenAPI or other machine-readable contract"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 92 against 54",
          "Agent ergonomics, 66 against 56",
          "Maintenance \u0026 community, 73 against 41",
          "Transparency \u0026 trust, 71 against 60"
        ],
        "also": null,
        "goodFor": "Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.",
        "slug": "smallest-pulse-stt",
        "watchFor": "Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes"
      }
    ],
    "history": null,
    "job": {
      "capability": "speech.stt",
      "name": "Speech-to-text"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-inworld-stt.json",
        "title": "Amazon Transcribe vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt.json",
        "title": "Amazon Transcribe vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-inworld-stt.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt.json",
        "title": "AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt.json",
        "title": "Azure AI Speech speech-to-text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "Azure AI Speech speech-to-text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-inworld-stt.json",
        "title": "Cartesia Ink vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt.json",
        "title": "Cartesia Ink vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-stt-vs-inworld-stt.json",
        "title": "Deepgram Speech-to-Text (Nova-3, Flux) vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/deepgram-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt.json",
        "title": "Deepgram Speech-to-Text (Nova-3, Flux) vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-inworld-stt.json",
        "title": "ElevenLabs Scribe Speech to Text API vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt.json",
        "title": "ElevenLabs Scribe Speech to Text API vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-inworld-stt.json",
        "title": "Giggy Speech to Text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt.json",
        "title": "Giggy Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gladia-stt-vs-inworld-stt.json",
        "title": "Gladia Speech-to-Text API + MCP vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/gladia-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt.json",
        "title": "Gladia Speech-to-Text API + MCP vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-inworld-stt.json",
        "title": "Google Cloud Speech-to-Text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "Google Cloud Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-inworld-stt.json",
        "title": "Groq Speech-to-Text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "Groq Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-inworld-stt.json",
        "title": "IBM Watson Speech to Text vs Inworld STT",
        "url": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-inworld-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt.json",
        "title": "IBM Watson Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-minimax-stt.json",
        "title": "Inworld STT vs MiniMax Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-minimax-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-mistral-voxtral-transcribe.json",
        "title": "Inworld STT vs Mistral Voxtral Transcribe",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-mistral-voxtral-transcribe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-openai-speech-to-text.json",
        "title": "Inworld STT vs OpenAI Speech to Text",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-openai-speech-to-text"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-rev-ai-stt.json",
        "title": "Inworld STT vs Rev AI Speech-to-Text API",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-rev-ai-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-soniox-stt.json",
        "title": "Inworld STT vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-speechmatics-stt.json",
        "title": "Inworld STT vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-speechmatics-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt.json",
        "title": "MiniMax Speech-to-Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt.json",
        "title": "Mistral Voxtral Transcribe vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt.json",
        "title": "OpenAI Speech to Text vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt.json",
        "title": "Rev AI Speech-to-Text API vs Smallest.ai Pulse STT",
        "url": "https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt.json",
        "title": "Smallest.ai Pulse STT vs Soniox Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-speechmatics-stt.json",
        "title": "Smallest.ai Pulse STT vs Speechmatics Speech-to-Text",
        "url": "https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-speechmatics-stt"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 3,
        "edge": "smallest-pulse-stt",
        "inworld-stt": 60,
        "key": "reliability",
        "name": "Reliability",
        "smallest-pulse-stt": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 38,
        "edge": "smallest-pulse-stt",
        "inworld-stt": 54,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "smallest-pulse-stt": 92,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "smallest-pulse-stt",
        "inworld-stt": 56,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "smallest-pulse-stt": 66,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "inworld-stt",
        "inworld-stt": 63,
        "key": "security",
        "name": "Security \u0026 auth",
        "smallest-pulse-stt": 52,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "inworld-stt": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "smallest-pulse-stt": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "smallest-pulse-stt",
        "inworld-stt": 41,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "smallest-pulse-stt": 73,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "smallest-pulse-stt",
        "inworld-stt": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "smallest-pulse-stt": 71,
        "weight": 7
      }
    ],
    "summary": "Smallest.ai Pulse STT scores 65 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security \u0026 auth. Both do speech-to-text.",
    "tasks": [
      {
        "a": "$0.10 to $0.15",
        "b": "$0.18 to $0.30",
        "cheaper": "inworld-stt",
        "task": "Transcribe a one-hour meeting",
        "what": "60 minutes of recorded audio"
      }
    ],
    "tutorials": [],
    "verdicts": {
      "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.",
      "smallest-pulse-stt": "Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt",
    "json": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.min.md"
  },
  "markdown": "Smallest.ai Pulse STT scores 65 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security \u0026 auth. Both do speech-to-text.\n\n- Inworld STT: grade C, 54.7/100, rank #895 of 1486. Markdown https://www.anchorterminal.com/tools/inworld-stt.md · JSON https://www.anchorterminal.com/api/v1/tools/inworld-stt.json\n- Smallest.ai Pulse STT: grade B, 65/100, rank #441 of 1486. Markdown https://www.anchorterminal.com/tools/smallest-pulse-stt.md · JSON https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json\n- Best speech-to-text APIs for AI agents: https://www.anchorterminal.com/best/speech-to-text/index.md\n- All 320 stt comparisons: https://www.anchorterminal.com/compare/speech-to-text/index.md\n\n## Which one, for what\n\n### Inworld STT (C)\n\nGood for: Low-cost live transcription for voice agents, with speaker traits.\n\nAhead on:\n- Security \u0026 auth, 63 against 52\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No OpenAPI or other machine-readable contract\n\n### Smallest.ai Pulse STT (B)\n\nGood for: Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.\n\nAhead on:\n- Schema \u0026 documentation, 92 against 54\n- Agent ergonomics, 66 against 56\n- Maintenance \u0026 community, 73 against 41\n- Transparency \u0026 trust, 71 against 60\n\nWatch for: Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Smallest.ai Pulse STT +38\n\n- 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.\n- Smallest.ai Pulse STT (92): OpenAPI 3.1 for the HTTP routes and AsyncAPI 2.6 for the STT socket, with query parameters and event schemas (25). llms.txt and a Markdown copy of every page (10). Model cards and a compare page say which model suits which audio, and fields say where they're ignored (Pulse Pro ignores redaction), but several changelog entries correct response fields the reference had wrong, such as the diarisation shape and a `redacted_entities` array that doesn't exist (15 of 20). Typed query parameters with enums, defaults and required marks, though booleans are string enums that must be lowercase (13 of 15). Examples in curl, Python and JavaScript, and the reference lists 400, 401, 403, 413, 422 and 429 bodies with known `code` values (14 of 15). Versioned `/v1` paths, a deprecations page and a dated Pulse changelog (15). Total 92.\n\n### Maintenance \u0026 community: Smallest.ai Pulse STT +32\n\n- 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.\n- Smallest.ai Pulse STT (73): Read as a model. The newest Pulse changelog entry is dated 2 November 2026 (updated Indic benchmarks), and Pulse 2.0 launched within the period (30). Dated Pulse entries on 30 August, 18, 29 and 30 September, 1, 12, 13 and 21 October and 2 November (20). Public changelog, email support and a Discord server, with no evidence read of how they answer (10 of 15). The Python SDK `smallestai` 5.14.0 dates from 7 October with 12 releases since 9 August, but the npm Node SDK has not been published since May 2025 (8 of 15). The Python SDK repository runs CI and release workflows, but has no licence file (5 of 10). Total 73.\n\n### Security \u0026 auth: Inworld STT +11\n\n- 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.\n- Smallest.ai Pulse STT (52): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52.\n\n### Transparency \u0026 trust: Smallest.ai Pulse STT +11\n\n- 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.\n- Smallest.ai Pulse STT (71): Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration targets, deprecated routes return a `Deprecation: true` header, and the 30 September changelog removed 14 European codes from the batch enum with a migration to `multi-eu`. The terms still let Smallest change or discontinue services at any time without notice (15 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 55.\n\n### Agent ergonomics: Smallest.ai Pulse STT +10\n\n- 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.\n- Smallest.ai Pulse STT (66): API reading of the checklist. Word timestamps, utterances, diarisation, emotion and gender are each opt-in, so the default response is the transcript with metadata (18 of 25). There are no list endpoints for transcriptions to page. Output controls are the opt-in fields and finalisation settings on the socket (10 of 20). Errors carry a status and a machine-readable `code` or `error_code` (`LANGUAGE_NOT_SUPPORTED_BY_MODEL`, `AudioTooLong` and others) with fixes, but the body comes in two shapes, `message` or `error` (15 of 20). Batch calls are synchronous with no idempotency key, and whether a retried file is billed again isn't stated (10 of 20). A file call needs only the model and audio. Official Python and Node SDKs exist, though the Node SDK was last published in May 2025 (13 of 15). Total 66.\n\n## Score by category\n\n| Category | Weight | Inworld STT | Smallest.ai Pulse STT | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 63 | Smallest.ai Pulse STT +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 54 | 92 | Smallest.ai Pulse STT +38 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 66 | Smallest.ai Pulse STT +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 52 | Inworld STT +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 73 | Smallest.ai Pulse STT +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 71 | Smallest.ai Pulse STT +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.7 · C** | **65 · B** | |\n\n## Facts side by side\n\n| Fact | Inworld STT | Smallest.ai Pulse STT |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Inworld AI | Smallest AI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, websocket | HTTP, websocket |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for speech-to-text | $0.0017 per minute of audio | not published |\n| x402 | no | no |\n| Tools exposed | 0 | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-29 | 2026-11-02 |\n| Terms last updated | 2025-06-11 | no date given |\n| Privacy policy last updated | 2026-01-18 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n\n## What the same task costs\n\n| Task | Inworld STT | Smallest.ai Pulse STT |\n| --- | --- | --- |\n| Transcribe a one-hour meeting | $0.10 to $0.15 | $0.18 to $0.30 |\n\n## Verdicts\n\n**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.\n\n**Smallest.ai Pulse STT.** Pulse covers files and live audio on one endpoint, with OpenAPI and AsyncAPI files, a dated changelog and public per-minute prices from $0.003. The shared API's health checks failed in every region on five days in September, keys carry no scopes and can travel in a URL, and zero retention is Enterprise only.\n\n## Before you call either\n\n### Inworld STT\n\n1. Send the Base64 credential as-is in `Authorization: Basic`; don't encode it again\n2. Wrap the first WebSocket message in `transcribeConfig`, because a malformed first frame closes the socket with 1005 and no error\n3. Use `POST /stt/v1/transcribe:async` for files over about 16 MB and collect the transcript within 7 days\n4. Retry 429 or gRPC code 8 with exponential backoff and jitter, and stay within the plan's streaming concurrency\n5. Stop sending audio when nobody speaks, since streams are billed for every second sent\n\n### Smallest.ai Pulse STT\n\n1. Pass `?model=` on every call, since a missing model returns 400; use `pulse-pro` for English files and `pulse` for other languages or streaming\n2. Send booleans such as `diarize` and `word_timestamps` as the lowercase strings \"true\" or \"false\"\n3. Retry 429 with backoff from 500 ms up to 30 s and honour Retry-After; keep within 25 batch requests a minute on the Standard plan\n4. Use the region-pinned host api.us.smallest.ai or api.india.smallest.ai when the audio must stay in one region\n5. Read speaker labels only from final events, because interim streaming events carry no `words[]`\n\n## Questions\n\n### Which is better for AI agents, Inworld STT or Smallest.ai Pulse STT?\n\nSmallest.ai Pulse STT scores 65 (B) on agent readiness against Inworld STT's 54.7 (C), and leads in 5 of 7 scored categories. Inworld STT leads on security \u0026 auth.\n\n### Do Inworld STT and Smallest.ai Pulse STT need an API key?\n\nBoth need an API key.\n\n### Can an agent call Inworld STT and Smallest.ai Pulse STT without installing anything?\n\nNo hosted endpoint is listed for Inworld STT. No hosted endpoint is listed for Smallest.ai Pulse STT.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.json, and with the fewest tokens: https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"inworld-stt\", \"b\": \"smallest-pulse-stt\"}`. From a terminal: `anchor compare inworld-stt smallest-pulse-stt`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/inworld-stt.json and https://www.anchorterminal.com/api/v1/tools/smallest-pulse-stt.json\n\n## Other comparisons with Inworld STT or Smallest.ai Pulse STT\n\n- [Amazon Transcribe vs Inworld STT](https://www.anchorterminal.com/compare/amazon-transcribe-vs-inworld-stt.md)\n- [Amazon Transcribe vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/amazon-transcribe-vs-smallest-pulse-stt.md)\n- [AssemblyAI Speech-to-Text (Universal) vs Inworld STT](https://www.anchorterminal.com/compare/assemblyai-stt-vs-inworld-stt.md)\n- [AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/assemblyai-stt-vs-smallest-pulse-stt.md)\n- [Azure AI Speech speech-to-text vs Inworld STT](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-inworld-stt.md)\n- [Azure AI Speech speech-to-text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/azure-speech-to-text-vs-smallest-pulse-stt.md)\n- [Cartesia Ink vs Inworld STT](https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-inworld-stt.md)\n- [Cartesia Ink vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/cartesia-ink-stt-vs-smallest-pulse-stt.md)\n- [Deepgram Speech-to-Text (Nova-3, Flux) vs Inworld STT](https://www.anchorterminal.com/compare/deepgram-stt-vs-inworld-stt.md)\n- [Deepgram Speech-to-Text (Nova-3, Flux) vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/deepgram-stt-vs-smallest-pulse-stt.md)\n- [ElevenLabs Scribe Speech to Text API vs Inworld STT](https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-inworld-stt.md)\n- [ElevenLabs Scribe Speech to Text API vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/elevenlabs-scribe-vs-smallest-pulse-stt.md)\n- [Giggy Speech to Text vs Inworld STT](https://www.anchorterminal.com/compare/giggy-stt-vs-inworld-stt.md)\n- [Giggy Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/giggy-stt-vs-smallest-pulse-stt.md)\n- [Gladia Speech-to-Text API + MCP vs Inworld STT](https://www.anchorterminal.com/compare/gladia-stt-vs-inworld-stt.md)\n- [Gladia Speech-to-Text API + MCP vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/gladia-stt-vs-smallest-pulse-stt.md)\n- [Google Cloud Speech-to-Text vs Inworld STT](https://www.anchorterminal.com/compare/google-speech-to-text-vs-inworld-stt.md)\n- [Google Cloud Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/google-speech-to-text-vs-smallest-pulse-stt.md)\n- [Groq Speech-to-Text vs Inworld STT](https://www.anchorterminal.com/compare/groq-speech-to-text-vs-inworld-stt.md)\n- [Groq Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/groq-speech-to-text-vs-smallest-pulse-stt.md)\n- [IBM Watson Speech to Text vs Inworld STT](https://www.anchorterminal.com/compare/ibm-watson-stt-vs-inworld-stt.md)\n- [IBM Watson Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/ibm-watson-stt-vs-smallest-pulse-stt.md)\n- [Inworld STT vs MiniMax Speech-to-Text](https://www.anchorterminal.com/compare/inworld-stt-vs-minimax-stt.md)\n- [Inworld STT vs Mistral Voxtral Transcribe](https://www.anchorterminal.com/compare/inworld-stt-vs-mistral-voxtral-transcribe.md)\n- [Inworld STT vs OpenAI Speech to Text](https://www.anchorterminal.com/compare/inworld-stt-vs-openai-speech-to-text.md)\n- [Inworld STT vs Rev AI Speech-to-Text API](https://www.anchorterminal.com/compare/inworld-stt-vs-rev-ai-stt.md)\n- [Inworld STT vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/inworld-stt-vs-soniox-stt.md)\n- [Inworld STT vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/inworld-stt-vs-speechmatics-stt.md)\n- [MiniMax Speech-to-Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/minimax-stt-vs-smallest-pulse-stt.md)\n- [Mistral Voxtral Transcribe vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/mistral-voxtral-transcribe-vs-smallest-pulse-stt.md)\n- [OpenAI Speech to Text vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/openai-speech-to-text-vs-smallest-pulse-stt.md)\n- [Rev AI Speech-to-Text API vs Smallest.ai Pulse STT](https://www.anchorterminal.com/compare/rev-ai-stt-vs-smallest-pulse-stt.md)\n- [Smallest.ai Pulse STT vs Soniox Speech-to-Text](https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-soniox-stt.md)\n- [Smallest.ai Pulse STT vs Speechmatics Speech-to-Text](https://www.anchorterminal.com/compare/smallest-pulse-stt-vs-speechmatics-stt.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Inworld STT vs Smallest.ai Pulse STT",
        "url": ""
      }
    ],
    "description": "Smallest.ai Pulse STT scores 65 (B) to Inworld STT's 54.7 (C) for speech-to-text. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Inworld STT C 54.7",
      "Smallest.ai Pulse STT B 65",
      "scores"
    ],
    "h1": "Inworld STT vs Smallest.ai Pulse STT",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/inworld-stt-vs-smallest-pulse-stt",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Inworld STT vs Smallest.ai Pulse STT for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/inworld-stt-vs-smallest-pulse-stt"
  },
  "tokens": {
    "markdown": 5150,
    "slim": 2780
  },
  "version": 1
}
