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

AssemblyAI Speech-to-Text (Universal) vs Smallest.ai Pulse STT

AssemblyAI Speech-to-Text (Universal) scores 66.8 (B) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories. Both do speech-to-text.

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

Which one, for what

AssemblyAI Speech-to-Text (Universal) B

Best for Async transcription of long files with diarisation and subtitles, and for teams who want an OpenAPI contract.

Ahead on

  • Reliability, 85 against 63
  • Agent ergonomics, 80 against 66
  • Maintenance & community, 79 against 73
  • Transparency & trust, 77 against 71

Also in its favour

  • A hosted endpoint, with nothing to install
  • Free to start without a card

Watch for

Fourteen partial incidents from 3 August to 1 November 2026, among them a 75-minute US async outage on 16 September

Smallest.ai Pulse STT B

Best for Low-cost transcription for voice agents and call analytics, with Indic coverage and turn detection.

Also in its favour

  • No incidents deducted, where AssemblyAI Speech-to-Text (Universal) loses 6 points for them

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.

Reliability AssemblyAI Speech-to-Text (Universal) +22

AssemblyAI Speech-to-Text (Universal) 85

Statuspage at status.assemblyai.com with component history, read from history.atom on 1 November (20). Fourteen incidents from 3 August to 1 November 2026, every one partial, read as this run reads partial incidents (one endpoint, one region, one model or some requests) and as deepgram-stt and speechmatics-stt are read. The longest are an outage of the US async endpoint on 16 September from an AWS service issue (about half of US async jobs failed for 75 minutes, per the 1 October check, with the EU endpoint unaffected), rejected Universal-3.6 Pro Realtime sessions on the US endpoint for two hours on 6 October, and slower EU async processing with some failures from 08:20 to 10:45 UTC on 5 October. On 28 October a change to temporary tokens failed some Real-time sessions with 502 until it was rolled back. The 31 July us-east streaming fault left the window on 30 October. Minor only (20). Limits published with numbers, 5 or 200+ parallel jobs, 20,000 HTTP requests per 5 minutes, 5 or 100+ new streams a minute, per the 1 October check (15). Overload handling is partly documented. Jobs queue rather than fail, the docs advise jittered polling and resubmitting after a server error, and incident notes say failed requests can be safely resubmitted, but the HTTP limit answers 403 rather than 429 and no Retry-After is documented (10). A 99.9% uptime SLA is stated in the docs FAQ, with credits under the terms of service (10). Async, streaming and Sync APIs are GA (10). 20 + 20 + 15 + 10 + 10 + 10 = 85.

Smallest.ai Pulse STT 63

BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Standard plan limits published per model, 100 concurrent streaming sessions and 25 batch requests a minute, and the pricing page also says 100 concurrent STT streams (15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and batch calls are synchronous with optional webhooks (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms published, and the terms disclaim any availability commitment (5 of 10). Pulse, Pulse 2.0 and Pulse Pro carry no preview label, but eleven language codes are marked Beta (8 of 10). 20 + 0 + 15 + 15 + 5 + 8 = 63.

Agent ergonomics AssemblyAI Speech-to-Text (Universal) +14

AssemblyAI Speech-to-Text (Universal) 80

API reading of the checklist. Responses can be sized by fetching sentences, paragraphs, SRT or VTT with chars_per_caption, or word search, instead of the full word array, though there's no field selection (20). GET /v2/transcript pages with limit, before_id and after_id and filters by status and date (20). Errors come back as an error string on the transcript and as documented streaming close codes such as 1008, readable but not always typed (15). No idempotency key, and a resubmitted job is a new billed job. The retry guide covers server errors only (10). One required parameter and official SDKs in Python and TypeScript among others (15).

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.

Maintenance & community AssemblyAI Speech-to-Text (Universal) +6

AssemblyAI Speech-to-Text (Universal) 79

Read as a model, for deprecation notice and support rather than release counts and issue replies, on the lines deepgram-stt, gladia-stt and speechmatics-stt use in this run. Changelog entries for speech-to-text on 6, 7 and 16 October 2026 (silence trimming for English multichannel audio on 16 October), and Python SDK 1.6.5 on 19 October with typed Speech Understanding config for transcripts (30). Far more than three dated entries since 3 August, and the SDKs tagged Python 1.5.2 to 1.8.2 and Node 4.40.0 to 4.42.0 in the period (10 of 10). No deprecation policy, but removals carry dates. Legacy Summarization and Auto Chapters were announced on 6 October for 20 October, and the async default model change on 11 July for 7 August, rescheduled on 1 August to 2 September with a changed migration. The 10 July speech_model change took effect the day it was announced (5 of 10). Public changelog and a support address (10 of 15). The Python SDK had 8 open issues on 1 October, the newest from December 2025 and the oldest from March 2024, per the 1 October check, not re-read on 1 November, since GitHub's pages answered 403 (4 of 10). Official SDKs current, Python 1.8.2 on 23 October and Node 4.42.0 on 26 October (15). Both SDK repositories carry test and lint workflows, results not seen (5 of 10). 30 + 10 + 5 + 10 + 4 + 15 + 5 = 79.

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.

Transparency & trust AssemblyAI Speech-to-Text (Universal) +6

AssemblyAI Speech-to-Text (Universal) 77

Closed service with clear terms (15). Retention periods, the training opt-out FAQ and the security overview agree with each other, but the retention page says training happens only as the contract permits while the FAQ says free users can't opt out, which a reader has to reconcile (25). Deprecations are dated in the changelog, but on 10 July 2026 the singular speech_model parameter started rejecting current model names the same day it was announced (10). Subprocessor list at /legal/subprocessors and US and EU endpoints (20).

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.

Score by category

CategoryWeight this runAssemblyAI Speech-to-Text (Universal)Smallest.ai Pulse STTEdge
Reliability16%208563AssemblyAI Speech-to-Text (Universal) +22
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29592AssemblyAI Speech-to-Text (Universal) +3
Agent ergonomics13%16.28066AssemblyAI Speech-to-Text (Universal) +14
Security & auth14%17.55052Smallest.ai Pulse STT +2
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87973AssemblyAI Speech-to-Text (Universal) +6
Transparency & trust7%8.87771AssemblyAI Speech-to-Text (Universal) +6
Negative events≤15-60
TotalB 66.8/100B 65/100

Facts side by side

FactAssemblyAI Speech-to-Text (Universal)Smallest.ai Pulse STT
KindModel APIModel API
VendorAssemblyAISmallest AI
Hosted endpointhttps://api.assemblyai.com/v2no (local only)
TransportsHTTP, Streamable HTTPHTTP, websocket
AuthAPI keyAPI key
PricingPay per usePay per use
x402nono
LicenceMIT (SDKs)none
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-192026-11-02
Terms last updated2026-07-01no date given
Privacy policy last updated2026-05-26no date given
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waivernot found in the textyes
Popularity213 stars, 600k npm/wk, 738k PyPI/wknone
Agent reviews3.5/5 (2)none

What the same task costs

TaskAssemblyAI Speech-to-Text (Universal)Smallest.ai Pulse STT
Transcribe a one-hour meeting60 minutes of recorded audio$0.15 to $0.45$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.

How the scores have moved

Verdicts

AssemblyAI Speech-to-Text (Universal)

OpenAPI 3.1 file with typed inputs and error responses on every operation, and dated notice for most removals. Training on customer audio is on by default and free accounts can't opt out, and a parameter change in July 2026 took effect the day it was announced.

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

AssemblyAI Speech-to-Text (Universal)

  1. Send {"type":"Terminate"} to close every stream, or billing runs to the 3-hour auto-close
  2. Use speech_models (plural). The singular speech_model now returns 400 for current model names
  3. Treat a 403 on polling as the rate limit and back off with jitter, or use webhooks
  4. Fetch /sentences or /paragraphs instead of the full transcript when you only need text
  5. Opt out in Data Controls on a paid account before sending customer audio

Smallest.ai Pulse STT

  1. Pass ?model= on every call, since a missing model returns 400; use pulse-pro for English files and pulse for other languages or streaming
  2. Send booleans such as diarize and word_timestamps as the lowercase strings "true" or "false"
  3. 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
  4. Use the region-pinned host api.us.smallest.ai or api.india.smallest.ai when the audio must stay in one region
  5. Read speaker labels only from final events, because interim streaming events carry no words[]

Questions

Which is better for AI agents, AssemblyAI Speech-to-Text (Universal) or Smallest.ai Pulse STT?

AssemblyAI Speech-to-Text (Universal) scores 66.8 (B) on agent readiness against Smallest.ai Pulse STT's 65 (B), and leads in 5 of 7 scored categories.

Do AssemblyAI Speech-to-Text (Universal) and Smallest.ai Pulse STT need an API key?

Both need an API key.

Can an agent call AssemblyAI Speech-to-Text (Universal) and Smallest.ai Pulse STT without installing anything?

AssemblyAI Speech-to-Text (Universal) has a hosted endpoint at https://api.assemblyai.com/v2. No hosted endpoint is listed for Smallest.ai Pulse STT.

Other comparisons with AssemblyAI Speech-to-Text (Universal) or Smallest.ai Pulse STT

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.