# Inworld Realtime TTS-2 (slim)

> Inworld's hosted text-to-speech models, inworld-tts-2 and inworld-tts-2-flash, over REST, HTTP streaming, WebSocket, async jobs and an OpenAI-compatible endpoint. TTS-2 takes bracketed steering, and an opt-in Reasoning step writes the delivery direction itself.

- Full: https://www.anchorterminal.com/tools/inworld-tts.md (~9,250 tokens) · this version ~2,280 tokens · JSON https://www.anchorterminal.com/tools/inworld-tts.json · canonical https://www.anchorterminal.com/tools/inworld-tts
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-31 · pricing https://www.anchorterminal.com/tools/inworld-tts#pricing · reviews https://www.anchorterminal.com/tools/inworld-tts#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 58.3/100 · rank #687 of 1243 · #10 in Text-to-speech · not agent-ready · confidence medium**


Assessment: 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 30 October.

## Facts

- Kind: Model API · vendor: Inworld AI · category: Text-to-speech · legal entity: Theai, Inc. dba Inworld AI · provenance 75/100
- Endpoint: `https://api.inworld.ai` (HTTP, websocket)
- Auth: API key · pricing: Freemium · x402: 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
- Probe metrics: not measured yet (probes haven't run)
- Surface listed: Inworld's TTS API at https://api.inworld.ai with the `inworld-tts-2` and `inworld-tts-2-flash` models, read from docs.inworld.ai, the launch posts and the pricing, legal and security pages on 30 October 2026. No account was created and no API call was made
- Models: `inworld-tts-2` (steering, Reasoning, professional voice clones, 100 ms P90 server-side time to first byte per Inworld) and `inworld-tts-2-flash` (no steering, 20 ms per Inworld). `inworld-tts-1.5-max` and `-mini` are deprecated, and `inworld-tts-1` and `-1-max` were discontinued on 15 June 2026 with requests routed to newer models
- Endpoints: `POST /tts/v1/voice` (up to 2,000 UTF-16 units, base64 audio in JSON, 16 MB output cap), `POST /tts/v1/voice:stream` (up to 4,000, NDJSON), WebSocket `/v1/tts/synthesize:websocket`, `POST /tts/v1/voice:synthesizeAsync` (up to 100,000 characters, Preview), `voice:synthesizeBatch` (Preview) and OpenAI-compatible `POST /v1/audio/speech`
- Reasoning: `synthesisContext.reasoning` (`REASONING_ON`), optional `reasoningContext` up to 600 characters, never spoken and not billed, and `previousRequests` for earlier lines. The response carries `reasoningInstruction`, on the first message when streaming. An inline tag overrides it from where it appears. If no instruction is ready in time the text is synthesised without one, and synchronous requests start slightly later with it on. Launched 28 October 2026
- Controls: Inline bracketed steering and non-verbals, `[reset]`, `deliveryMode` (STABLE, BALANCED, CREATIVE) on TTS-2, SSML break tags, inline IPA, named pronunciation dictionaries, language tags, verbatim tags, text normalisation on or off, and word or character timestamps with visemes
- Output: MP3 (default), LINEAR16, PCM, WAV, OGG_OPUS, FLAC, MULAW and ALAW, 8 to 48 kHz
- Languages: 623 language and locale codes covering 470 languages in three tiers. Tier 1 is 15 languages, Tier 2 is 79 and Tier 3 is 376 best-effort languages that Inworld hasn't evaluated
- Limits: Concurrent generations 5 on On-Demand, 10 Creator, 50 Builder, 150 Developer, 500 Growth. WebSocket connections 50 to 5,000. Voice cloning and design 2 to 20 requests a minute. Limits are per account and shared across keys
- Errors: gRPC-style JSON with `code`, `message` and `details`. The reference shows one 4XX example (code 5, unknown voice), and the concurrency page documents code 8 ResourceExhausted. 429 is documented with exponential backoff and jitter guidance. No full TTS error list was found
- Credentials: Workspace API keys in `Authorization: Basic`, deleted to revoke, with optional write toggles for the Voice and Router APIs and a separate Realtime-only key type. One-time tokens (single use, 15 minutes by default) for clients. Session tokens are deprecated
- Plans: On-Demand free, Creator $25, Builder $100, Developer $300 and Growth $1,500 a month, each with credits equal to the price that roll over for 3 months, and Enterprise custom with an SLA, DPA and EU or India residency
- Data handling: Zero data retention covers TTS text and audio on Enterprise, or as a Growth add-on. Usage metadata, voice cloning samples and voice design prompts are kept even then. Async and batch results stay in Inworld storage for about 7 days unless delivered to the customer's bucket
- Certifications: SOC 2 Type II, HIPAA and GDPR claimed on the security page, with details on a trust centre at trust.inworld.ai that wasn't read
- Other Inworld products: The same key and docs cover STT, the Realtime speech-to-speech API, voice cloning and design, and Inworld Inference for LLMs. The ultravox listing records Inworld's announcement of 30 September 2026 that it acquired Ultravox
- Independent ranking: On the Artificial Analysis provider-voice leaderboard, read 30 October 2026, Realtime TTS-2 was 8th (Elo 1,267, 2,527 appearances) and Realtime TTS-2 Flash 16th (Elo 1,217). Eleven v4 Turbo led at 1,336
- Prices: Realtime TTS-2, On-Demand (free plan, pay as you go) $25 per 1M characters; Realtime TTS-2 on Growth $12.50 per 1M characters; Realtime TTS-2 Flash, On-Demand $15 per 1M characters; Creator plan $25 per month (plan); Developer plan $300 per month (plan)

- Scores: Reliability 62, Performance pending, Schema & documentation 60, Agent ergonomics 68, Security & auth 61, Payments & pricing 40, Task success pending, Maintenance & community 68, Transparency & trust 63 · negative events -2 · total over the 7 assessed categories
- Why: Reliability, Hosted reading of the checklist, on the TTS API. · Schema & documentation, No OpenAPI or other machine-readable file was found. · Agent ergonomics, API reading of the checklist. · Security & auth, Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, Read as a model. · Transparency & trust, Closed service with clear terms naming Theai, Inc.
- Sources: 26, open questions: 8, both in the full twin
- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages, speech.batch, voice.clone, voice.design
- JSON: https://www.anchorterminal.com/api/v1/tools/inworld-tts.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/inworld-tts.svg` or a link to https://www.anchorterminal.com/tools/inworld-tts from a page on inworld.ai or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.
- Support: Discord https://discord.gg/inworld; support@inworld.ai; https://docs.inworld.ai/portal/support; https://docs.inworld.ai/; more in the full twin

## Before you call it

1. Send the copied Base64 credential as-is in `Authorization: Basic`. Don't encode it again.
2. Set `modelId` explicitly, because SDK defaults may name deprecated models.
3. Keep text under 2,000 UTF-16 units on `/tts/v1/voice` and 4,000 on `voice:stream`, or use an async job.
4. Turn on Reasoning with `synthesisContext.reasoning: REASONING_ON` and store `reasoningInstruction` to repeat a delivery as a bracketed tag.
5. On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented.

## Connect

```bash
npm install @inworld/tts
```

```bash
curl -X POST https://api.inworld.ai/tts/v1/voice -H "Authorization: Basic $INWORLD_API_KEY" -H 'Content-Type: application/json' -d '{"text": "We made it. I honestly did not think we would.", "voiceId": "Dennis", "modelId": "inworld-tts-2", "synthesisContext": {"reasoning": "REASONING_ON"}}'
```

```bash
claude mcp add inworld -- inworld mcp
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| ElevenLabs Text to Speech API + MCP | BB | 75.3 | speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages | https://www.anchorterminal.com/tools/elevenlabs-tts.min.md |
| Amazon Polly | BB | 73.6 | speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages | https://www.anchorterminal.com/tools/amazon-polly.min.md |
| Azure AI Speech text-to-speech | BB | 71.5 | speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages | https://www.anchorterminal.com/tools/azure-text-to-speech.min.md |
| Cartesia Sonic TTS API + MCP | B | 64 | speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages | https://www.anchorterminal.com/tools/cartesia-tts.min.md |
| Fish Audio TTS API | C | 60.8 | speech.tts, speech.streaming, speech.voices, speech.languages, voice.clone | https://www.anchorterminal.com/tools/fish-audio-tts.min.md |


## Panel reviews (0, desk reviews from public material, no calls made)

