Head to head · Text-to-speech · October 2026 research run
Inworld Realtime TTS-2 vs Smallest.ai Lightning TTS
Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security & auth. Both do text-to-speech.
Best text-to-speech APIs for AI agents · All 148 tts comparisons
Which one, for what
Best for Agents that generate replies or stories at runtime and want delivery chosen from context without writing tags, and for per-message or pre-generated audio.
Ahead on
- Security & auth, 61 against 52
Also in its favour
- A hosted endpoint, with nothing to install
- Free to start without a card
Watch for
No OpenAPI or other machine-readable contract was found for the TTS API
Best for Low-latency speech for voice agents, with English, Hindi code-switching and Indic voices.
Ahead on
- Schema & documentation, 92 against 60
- Transparency & trust, 70 against 63
Watch for
lightning_v3.1, the default model, retires on 30 November 2026 after a 2 November notice, and clones made on it stop working
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 Lightning TTS +32
Inworld Realtime TTS-2 60
No OpenAPI or other machine-readable file was found. llms.txt and the API reference don't link one and the usual paths redirect to pages (0). llms.txt, llms-full.txt, a Markdown twin of every page and a keyless docs MCP server (10). The models page says which model suits what, the Reasoning guide says where it runs and where it doesn't yet (WebSocket, Realtime, batch), and the reference marks fields each model ignores (17 of 20). Typed fields with enums for encoding, deliveryMode, reasoning and timestampType, a sample-rate range, per-endpoint text limits and a 600-character cap on reasoningContext (14 of 15). Examples in curl, Python, JavaScript and the CLI, with one 4XX example and the concurrency error, and no TTS error list (9 of 15). Versioned /v1 paths and dated TTS release notes, but the notes have no entry for the 28 October Reasoning launch and model update, and models have no dated snapshots (10 of 15). Total 60.
Smallest.ai Lightning TTS 92
OpenAPI 3.1 for the sync and SSE routes and AsyncAPI 2.6 for the WebSocket, with request and event schemas (25). llms.txt and a Markdown copy of every page (10). A transport guide, model cards and the compare page say which model and transport suit which job, but changelog entries correct the language lists and enums the docs and spec carried (15 of 20). Typed fields with enums for model, sample rate, language and output format, an 8,000-character limit and pattern rules on session_id and request_id (14 of 15). Examples in curl, Python and JavaScript, with error bodies on the reference and a shared error page (13 of 15). Versioned /v1 paths, a dated Lightning changelog and dated preview checkpoints (15). Total 92.
Security & auth Inworld Realtime TTS-2 +9
Inworld Realtime TTS-2 61
Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Workspace API keys, deleted to revoke, with separate keys per environment advised, single-use client tokens valid 15 minutes, and a Realtime-only key type. No key can be limited to TTS, because write toggles cover only the Voice and Router APIs (25 of 30). The Terms (11 June 2025) say Inworld won't train generally available models on customers' non-public Materials, except feedback and content flagged for trust and safety. The Privacy Notice (18 January 2026) lists training AI models among its uses and covers voice data, while excluding data processed for enterprise customers (12 of 20). Zero data retention is Enterprise only or a Growth add-on. No retention period is published for other plans, async results are kept about 7 days, and whether the Reasoning model's step is covered isn't stated (6 of 15). Usage is attributed per key, and a Performance page (Builder and above) shows errors, latency and throttling. The Logs page sits behind the Portal login and wasn't read (8 of 15). SOC 2 Type II, HIPAA and GDPR claimed on the security page, with the trust centre unread. A vulnerability report form exists. No security.txt (404) and no bug bounty found (10 of 20). Total 61.
Smallest.ai Lightning TTS 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 Lightning TTS +7
Inworld Realtime TTS-2 63
Closed service with clear terms naming Theai, Inc. dba Inworld AI, and MIT client packages on npm (15). The zero data retention page is specific about what is kept, but the Terms' no-training clause and the Privacy Notice's training use sit side by side without a reconciling sentence, and the privacy retention section gives no periods apart from up to three years for voice-derived biometric data (14 of 30). Dated discontinuation of inworld-tts-1 with automatic rerouting and release-stage definitions, but no written notice policy, and the 28 October update replaced inworld-tts-2 in place (12 of 20). US headquarters with isolated EU and India regions on Enterprise. No sub-processor list was found in the docs, and the trust centre wasn't read (10 of 20). Total 51.
Smallest.ai Lightning TTS 70
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 steps, and earlier models answer 410 with a pointer. The notice for the default lightning_v3.1, dated 2 November, gives 28 days before voices change and v3.1 clones stop working, and the terms let Smallest discontinue services without notice (12 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 52.
Score by category
| Category | Weight this run | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 62 | 58 | Inworld Realtime TTS-2 +4 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 60 | 92 | Smallest.ai Lightning TTS +32 |
| Agent ergonomics | 13%16.2 | 68 | 72 | Smallest.ai Lightning TTS +4 |
| Security & auth | 14%17.5 | 61 | 52 | Inworld Realtime TTS-2 +9 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 68 | 68 | even |
| Transparency & trust | 7%8.8 | 63 | 70 | Smallest.ai Lightning TTS +7 |
| Negative events | ≤15 | -2 | 0 | |
| Total | C 58.3/100 | B 64.4/100 |
Facts side by side
| Fact | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Inworld AI | Smallest AI |
| Hosted endpoint | https://api.inworld.ai | no (local only) |
| Transports | HTTP, websocket | HTTP, websocket |
| Auth | API key | API key |
| Pricing | Freemium | Pay per use |
| Price for text-to-speech | $12.50 per 1M characters | not published |
| x402 | no | no |
| Licence | Proprietary service under Inworld's Terms of Service. The Node.js SDK @inworld/tts and the CLI @inworld/cli are MIT on npm | none |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-28 | 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 |
| Popularity | 3.6k npm/wk | none |
What the same task costs
| Task | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS |
|---|---|---|
| Narrate a 9,000-character scriptabout 1,500 words | $0.11 to $0.22 | $0.16 to $0.18 |
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 Realtime TTS-2
TTS-2 takes bracketed steering, and opt-in Reasoning writes a delivery direction from the text and up to 600 characters of context, returning it in the response. Per-character prices are public and the free plan needs no card. No OpenAPI file was found, keys can't be limited to TTS, and the TTS-2 page's #1 arena claim didn't hold on 4 November.
Smallest.ai Lightning TTS
Lightning streams speech over HTTP, SSE or WebSocket with OpenAPI and AsyncAPI files and public prices of $0.175 to $0.195 per 10,000 characters. The default model retires on 30 November with 28 days' notice, published concurrency limits disagree, and the shared API failed in every region on five days in September.
Before you call either
Inworld Realtime TTS-2
- Send the copied Base64 credential as-is in
Authorization: Basic. Don't encode it again. - Set
modelIdexplicitly, because SDK defaults may name deprecated models. - Keep text under 2,000 UTF-16 units on
/tts/v1/voiceand 4,000 onvoice:stream, or use an async job. - Turn on Reasoning with
synthesisContext.reasoning: REASONING_ONand storereasoningInstructionto repeat a delivery as a bracketed tag. - On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented.
Smallest.ai Lightning TTS
- Always send
"model": "lightning_v3.1_pro", since requests with no model go to a model that retires on 30 November 2026 - Pick voices from
GET /waves/v1/lightning-v3.1-pro/get_voices, because the v3.1 and v3.1 Pro catalogues differ - Keep each request under 8,000 characters and split longer text
- Treat 429 as the concurrency ceiling and retry with backoff from 500 ms to 30 s, honouring Retry-After
- Fix names and acronyms with a pronunciation dictionary, since SSML isn't accepted
Questions
Which is better for AI agents, Inworld Realtime TTS-2 or Smallest.ai Lightning TTS?
Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security & auth.
Do Inworld Realtime TTS-2 and Smallest.ai Lightning TTS need an API key?
Both need an API key.
Can an agent call Inworld Realtime TTS-2 and Smallest.ai Lightning TTS without installing anything?
Inworld Realtime TTS-2 has a hosted endpoint at https://api.inworld.ai. No hosted endpoint is listed for Smallest.ai Lightning TTS.
Other comparisons with Inworld Realtime TTS-2 or Smallest.ai Lightning TTS
- Amazon Polly vs Inworld Realtime TTS-2
- Amazon Polly vs Smallest.ai Lightning TTS
- Azure AI Speech text-to-speech vs Inworld Realtime TTS-2
- Azure AI Speech text-to-speech vs Smallest.ai Lightning TTS
- Cartesia Sonic TTS API + MCP vs Inworld Realtime TTS-2
- Cartesia Sonic TTS API + MCP vs Smallest.ai Lightning TTS
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Inworld Realtime TTS-2
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Smallest.ai Lightning TTS
- ElevenLabs Text to Speech API + MCP vs Inworld Realtime TTS-2
- ElevenLabs Text to Speech API + MCP vs Smallest.ai Lightning TTS
- Fish Audio TTS API vs Inworld Realtime TTS-2
- Fish Audio TTS API vs Smallest.ai Lightning TTS
- Google Cloud Text-to-Speech vs Inworld Realtime TTS-2
- Google Cloud Text-to-Speech vs Smallest.ai Lightning TTS
- HeyGen Voice vs Inworld Realtime TTS-2
- HeyGen Voice vs Smallest.ai Lightning TTS
- Inworld Realtime TTS-2 vs MiniMax Speech (T2A)
- Inworld Realtime TTS-2 vs Murf TTS API + MCP
- Inworld Realtime TTS-2 vs PlayHT Text-to-Speech API
- Inworld Realtime TTS-2 vs Resemble AI Text-to-Speech API
- Inworld Realtime TTS-2 vs Rime TTS API + MCP
- Inworld Realtime TTS-2 vs Soniox Text-to-Speech
- MiniMax Speech (T2A) vs Smallest.ai Lightning TTS
- Murf TTS API + MCP vs Smallest.ai Lightning TTS
- PlayHT Text-to-Speech API vs Smallest.ai Lightning TTS
- Resemble AI Text-to-Speech API vs Smallest.ai Lightning TTS
- Rime TTS API + MCP vs Smallest.ai Lightning TTS
- Smallest.ai Lightning TTS vs Soniox Text-to-Speech
Machine-readable
- This page as Markdown
/compare/inworld-tts-vs-smallest-lightning-tts.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/inworld-tts.json·/api/v1/tools/smallest-lightning-tts.json - From a terminal
anchor compare inworld-tts smallest-lightning-tts(the CLI) - Over MCP
compare_tools {"a": "inworld-tts", "b": "smallest-lightning-tts"}at/mcp, no key