Head to head · Speech-to-text · October 2026 research run
Inworld STT vs Smallest.ai Pulse STT
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 & auth. Both do speech-to-text.
Best speech-to-text APIs for AI agents · All 320 stt comparisons
Which one, for what
Best for Low-cost live transcription for voice agents, with speaker traits.
Ahead on
- Security & auth, 63 against 52
Also in its favour
- Free to start without a card
Watch for
No OpenAPI or other machine-readable contract
Best for Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.
Ahead on
- Schema & documentation, 92 against 54
- Agent ergonomics, 66 against 56
- Maintenance & community, 73 against 41
- Transparency & trust, 71 against 60
Watch 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
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Schema & documentation Smallest.ai Pulse STT +38
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.
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.
Maintenance & community Smallest.ai Pulse STT +32
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.
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.
Security & auth Inworld STT +11
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.
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.
Transparency & trust Smallest.ai Pulse STT +11
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.
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.
Agent ergonomics Smallest.ai Pulse STT +10
Inworld STT 56
API reading of the checklist. Voice Profile, word timestamps and diarisation are opt-in, and responses carry a usage block (18 of 25). No lists to page. Async jobs return an operation to poll (8 of 20). Errors carry a numeric gRPC code and message on both endpoints, but a malformed first message closes the socket with 1005 and no frame (12 of 20). Sync calls are stateless and async calls return an operation, with no idempotency key, and empty transcripts and add-ons are billed (10 of 20). A call needs a model, an encoding and the audio. No STT SDK was found, only the CLI and its MCP server and REST examples (8 of 15). Total 56.
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.
Score by category
| Category | Weight this run | Inworld STT | Smallest.ai Pulse STT | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 60 | 63 | Smallest.ai Pulse STT +3 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 54 | 92 | Smallest.ai Pulse STT +38 |
| Agent ergonomics | 13%16.2 | 56 | 66 | Smallest.ai Pulse STT +10 |
| Security & auth | 14%17.5 | 63 | 52 | Inworld STT +11 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 41 | 73 | Smallest.ai Pulse STT +32 |
| Transparency & trust | 7%8.8 | 60 | 71 | Smallest.ai Pulse STT +11 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 54.7/100 | B 65/100 |
Facts side by side
| Fact | Inworld STT | Smallest.ai Pulse STT |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Inworld AI | Smallest AI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP, websocket | HTTP, websocket |
| Auth | API key | API key |
| Pricing | Pay per use | Pay per use |
| Price for speech-to-text | $0.0017 per minute of audio | not published |
| x402 | no | no |
| Tools exposed | 0 | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-29 | 2026-11-02 |
| Terms last updated | 2025-06-11 | no date given |
| Privacy policy last updated | 2026-01-18 | no date given |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | yes |
What the same task costs
| Task | Inworld STT | Smallest.ai Pulse STT |
|---|---|---|
| Transcribe a one-hour meeting60 minutes of recorded audio | $0.10 to $0.15 | $0.18 to $0.30 |
Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.
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.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.
Before you call either
Inworld STT
- Send the Base64 credential as-is in
Authorization: Basic; don't encode it again - Wrap the first WebSocket message in
transcribeConfig, because a malformed first frame closes the socket with 1005 and no error - Use
POST /stt/v1/transcribe:asyncfor files over about 16 MB and collect the transcript within 7 days - Retry 429 or gRPC code 8 with exponential backoff and jitter, and stay within the plan's streaming concurrency
- Stop sending audio when nobody speaks, since streams are billed for every second sent
Smallest.ai Pulse STT
- Pass
?model=on every call, since a missing model returns 400; usepulse-profor English files andpulsefor other languages or streaming - Send booleans such as
diarizeandword_timestampsas 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[]
Questions
Which is better for AI agents, Inworld STT or Smallest.ai Pulse STT?
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 & auth.
Do Inworld STT and Smallest.ai Pulse STT need an API key?
Both need an API key.
Can an agent call Inworld STT and Smallest.ai Pulse STT without installing anything?
No hosted endpoint is listed for Inworld STT. No hosted endpoint is listed for Smallest.ai Pulse STT.
Other comparisons with Inworld STT or Smallest.ai Pulse STT
- Amazon Transcribe vs Inworld STT
- Amazon Transcribe vs Smallest.ai Pulse STT
- AssemblyAI Speech-to-Text (Universal) vs Inworld STT
- AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT
- Azure AI Speech speech-to-text vs Inworld STT
- Azure AI Speech speech-to-text vs Smallest.ai Pulse STT
- Cartesia Ink vs Inworld STT
- Cartesia Ink vs Smallest.ai Pulse STT
- Deepgram Speech-to-Text (Nova-3, Flux) vs Inworld STT
- Deepgram Speech-to-Text (Nova-3, Flux) vs Smallest.ai Pulse STT
- ElevenLabs Scribe Speech to Text API vs Inworld STT
- ElevenLabs Scribe Speech to Text API vs Smallest.ai Pulse STT
- Giggy Speech to Text vs Inworld STT
- Giggy Speech to Text vs Smallest.ai Pulse STT
- Gladia Speech-to-Text API + MCP vs Inworld STT
- Gladia Speech-to-Text API + MCP vs Smallest.ai Pulse STT
- Google Cloud Speech-to-Text vs Inworld STT
- Google Cloud Speech-to-Text vs Smallest.ai Pulse STT
- Groq Speech-to-Text vs Inworld STT
- Groq Speech-to-Text vs Smallest.ai Pulse STT
- IBM Watson Speech to Text vs Inworld STT
- IBM Watson Speech to Text vs Smallest.ai Pulse STT
- Inworld STT vs MiniMax Speech-to-Text
- Inworld STT vs Mistral Voxtral Transcribe
- Inworld STT vs OpenAI Speech to Text
- Inworld STT vs Rev AI Speech-to-Text API
- Inworld STT vs Soniox Speech-to-Text
- Inworld STT vs Speechmatics Speech-to-Text
- MiniMax Speech-to-Text vs Smallest.ai Pulse STT
- Mistral Voxtral Transcribe vs Smallest.ai Pulse STT
- OpenAI Speech to Text vs Smallest.ai Pulse STT
- Rev AI Speech-to-Text API vs Smallest.ai Pulse STT
- Smallest.ai Pulse STT vs Soniox Speech-to-Text
- Smallest.ai Pulse STT vs Speechmatics Speech-to-Text
Machine-readable
- This page as Markdown
/compare/inworld-stt-vs-smallest-pulse-stt.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/inworld-stt.json·/api/v1/tools/smallest-pulse-stt.json - From a terminal
anchor compare inworld-stt smallest-pulse-stt(the CLI) - Over MCP
compare_tools {"a": "inworld-stt", "b": "smallest-pulse-stt"}at/mcp, no key