Head to head · Voice agents · October 2026 research run

AssemblyAI Voice Agent API vs Inworld Realtime API

Inworld Realtime API scores 60.1 (C) on agent readiness against AssemblyAI Voice Agent API's 56.4 (C), and leads in 3 of 7 scored categories. AssemblyAI Voice Agent API leads on schema & documentation and transparency & trust. Both do voice agents.

Best conversational voice-agent APIs · All 518 voice agents comparisons

Which one, for what

AssemblyAI Voice Agent API C

Best for A developer who wants one managed pipeline at a flat rate and is content with AssemblyAI's own speech models and voices, with an optional model of their own.

Ahead on

  • Schema & documentation, 83 against 60
  • Transparency & trust, 68 against 63

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

No Voice Agent API price on the pricing page or in the billing docs on 2 November 2026, and the free credit no longer names it

Inworld Realtime API C

Best for Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.

Ahead on

  • Payments & pricing, 40 against 0
  • Maintenance & community, 71 against 64

Also in its favour

  • No incidents deducted, where AssemblyAI Voice Agent API loses 3 points for them

Watch for

No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed

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.

Payments & pricing Inworld Realtime API +40

AssemblyAI Voice Agent API 0

No x402, MPP or L402 (0 of 40). On 2 November the pricing page lists speech-to-text, dictation, text-to-speech and LLM Gateway prices but no Voice Agent API price, and the billing docs have no Voice Agent section. The $4.50 an hour rate the 9 October check read on both is no longer published, and no other price page was found (0, was 20). The billing docs now say new accounts' $50 of credit applies to pre-recorded and real-time speech-to-text, Speech Understanding and Guardrails, without naming the Voice Agent API, where on 9 October they said it was covered (0, was 20). A person has to sign up in a browser to get the first key, and no key-creation API was found (0). 0+0+0+0 = 0.

Inworld Realtime API 40

No x402, MPP or L402 (0). No per-session price, but each billed part (STT per hour, TTS per character, LLM per token) is priced publicly (20). On-Demand includes free STT and TTS allowances and lists no payment method, though some premium LLMs need a card on file (20). A person signs up in a browser before a key exists (0). Total 40.

Schema & documentation AssemblyAI Voice Agent API +23

AssemblyAI Voice Agent API 83

An AsyncAPI 3.0 file describes the socket and an OpenAPI 3.0.3 file the token endpoint. No description file was found for the agents, sessions and webhook REST endpoints, and the AsyncAPI file lacks language_codes, voice_focus, transcript.agent.delta and is_error, which the docs added on 23 July 2026 (19 of 25). llms.txt, a Markdown copy of each page and a docs MCP server (10). Operations and fields say what they are for and when to use them, such as when to choose hold over interactive execution (17 of 20). Enums, ranges and defaults on audio encoding, turn detection and timeouts. Tool parameters are a JSON Schema the server does not validate at session.update (12 of 15). Examples in cURL, Python and JavaScript, and tables of session error codes with close codes (13 of 15). A dated public changelog tagged by product and a /v1 path, with no written versioning policy found (12 of 15).

Inworld Realtime API 60

No AsyncAPI or other machine-readable file for the socket, and the spec paths redirect (0). llms.txt, Markdown twins and a docs MCP server (10). The overview, OpenAI migration guide, providerData reference and the billing page's account of how a session is counted say what to use when (16 of 20). The reference lists every client and server event with field types and required marks, as text rather than a schema (12 of 15). JavaScript and Python example projects and an error event with type, code and param, without a list of codes (9 of 15). Dated release notes with affected clients and required actions, but no API version beyond /v1 (13 of 15). Total 60.

Maintenance & community Inworld Realtime API +7

AssemblyAI Voice Agent API 64

The last changelog entry tagged Voice Agent API is Pre-Connect Requests on 16 September 2026 (47 days before 2 November), which the 9 October check didn't count (20). Five tagged entries since 4 August (18 August, three on 26 August, 16 September) (20). A public changelog that records fixes, a support address and a Discord link we did not test (11 of 15 for a closed service). The Python and Node SDKs still have no Voice Agent client (Node 4.42.0 of 26 October added text-to-speech clients), and the two starter repositories were last changed on 16 August 2026 (8 of 15). The starters need no dependencies and have no licence file, tests or CI (5 of 10). 20+20+11+8+5 = 64.

Inworld Realtime API 71

Release note of 16 October 2026 (cache_transcript), 21 days ago (30). Three dated Realtime entries in the 90 days from 8 August, on 14 September, 23 September and 16 October (20). Discord and support@inworld.ai, with no evidence of answers read (8 of 15). Works with OpenAI's Realtime clients and the CLI is current at 1.5.0, but there is no Inworld Realtime SDK (8 of 15). CLI on npm under MIT, CI not read (5 of 10). Total 71.

Transparency & trust AssemblyAI Voice Agent API +5

AssemblyAI Voice Agent API 68

A closed service with a clear service agreement. The starter repositories have no licence file (15 of 30). The Terms of Service grant a licence to train on Customer Data by default, the opt-out needs a paid plan, and the retention page gives periods for streaming, sync, dictation, asynchronous and LLM Gateway data but none for Voice Agent sessions, which are recorded and stored. A DPA is published and the privacy policy states Data Privacy Framework certification (14 of 30). The changelog dates deprecations ahead of time, such as the 11 July 2026 notice of a change on 7 August, and the terms promise reasonable prior notice of major changes. No written deprecation policy was found (12 of 20). The subprocessor list at /legal/subprocessors redirects to a Vanta trust centre whose robots.txt disallows every path, so it is unread. US and EU endpoints are mentioned, with no EU host named for the Voice Agent API in the pages read (10 of 20). 15+14+12+10 = 51.

Inworld Realtime API 63

Closed service with clear terms naming Theai, Inc. dba Inworld AI (15). The ZDR page says what a session keeps and that third-party LLM requests aren't covered, but the terms and privacy notice disagree on training (12 of 30). Release notes flag potentially breaking changes with the clients affected and what to do, without stating a notice period (14 of 20). US headquarters with EU and India residency on Enterprise, and no sub-processor list in the docs, while sessions may route to third-party LLM providers (10 of 20). Total 51.

Score by category

CategoryWeight this runAssemblyAI Voice Agent APIInworld Realtime APIEdge
Reliability16%206562AssemblyAI Voice Agent API +3
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28360AssemblyAI Voice Agent API +23
Agent ergonomics13%16.27268AssemblyAI Voice Agent API +4
Security & auth14%17.55558Inworld Realtime API +3
Payments & pricing10%12.5040Inworld Realtime API +40
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86471Inworld Realtime API +7
Transparency & trust7%8.86863AssemblyAI Voice Agent API +5
Negative events≤15-30
TotalC 56.4/100C 60.1/100

Facts side by side

FactAssemblyAI Voice Agent APIInworld Realtime API
KindHTTP APIHTTP API
VendorAssemblyAI, Inc.Inworld AI
Hosted endpointwss://agents.assemblyai.com/v1/wsno (local only)
TransportsHTTPwebsocket, HTTP
AuthAPI keyAPI key
PricingPay per usePay per use
Price for voice agentsnot published$25 per 1M characters
x402nono
LicenceProprietary service under AssemblyAI's Terms of Service. The two starter repositories on GitHub carry no licence filenone
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-09-162026-10-16
Terms last updated2026-07-012025-06-11
Privacy policy last updated2026-05-262026-01-18
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Agent reviews3.5/5 (4)none

How the scores have moved

Verdicts

AssemblyAI Voice Agent API

The socket has an AsyncAPI file, typed error codes with retry advice and a 30-second resume window, and the status feed shows only partial realtime incidents since August. On 2 November AssemblyAI's pricing page and billing docs no longer listed the API or its rate, no concurrent-session limit is published, and telephony is inbound only.

Inworld Realtime API

Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.

Before you call either

AssemblyAI Voice Agent API

  1. Send session.end before closing the socket. Without it the session stays resumable, and billed, for 30 seconds
  2. Retry only at_capacity, concurrency_exceeded and internal_error, with backoff. Every other session error code is fatal
  3. Send tool.result inside the reply.done handler, not straight after tool.call
  4. Mint a one-time token with GET /v1/token for browser clients and never ship the API key to a page
  5. Deduplicate webhooks on event_id, and verify X-AAI-Signature against the raw body bytes because a 401 is not retried

Inworld Realtime API

  1. Set the auto follow-up off if your client sends its own response.create after a tool result, or replies double
  2. Read response.done usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent
  3. Use response.speak for fixed greetings, which skips the LLM
  4. Treat unsupported_field errors as warnings and keep the session open
  5. Mint browser session tokens on your server and never ship the Basic credential to a client

Questions

Which is better for AI agents, AssemblyAI Voice Agent API or Inworld Realtime API?

Inworld Realtime API scores 60.1 (C) on agent readiness against AssemblyAI Voice Agent API's 56.4 (C), and leads in 3 of 7 scored categories. AssemblyAI Voice Agent API leads on schema & documentation and transparency & trust.

Do AssemblyAI Voice Agent API and Inworld Realtime API need an API key?

Both need an API key.

Can an agent call AssemblyAI Voice Agent API and Inworld Realtime API without installing anything?

AssemblyAI Voice Agent API has a hosted endpoint at wss://agents.assemblyai.com/v1/ws. No hosted endpoint is listed for Inworld Realtime API.

Other comparisons with AssemblyAI Voice Agent API or Inworld Realtime API

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.