Skip to content

Realtime TTS-2
built for people

It is the first speech model with reasoning.

InworldTime to first token –– tok/s
Typical providerTime to first token –– tok/s
Same model, same prompt, two providers.

Pick a use case and press Speak, then read the line aloud.

Try saying "My account was disabled at 8:30 this morning."

ListeningTranscribing

Ask your agent to add Inworld.

Paste it into your agent

Realtime TTS-2

TTS docs ↗

A new frontier voice model that feels as human as it sounds. Direct it in plain English, in about 500 languages and dialects.

#1realtime TTS on Artificial Analysis at launch
up to 3×sooner first audio than ElevenLabs
500+languages and dialects from one voice
up to 16×lower price than ElevenLabs
A woman running with earbuds inA man recording his voice on a phone at his desk
text to speech · quality and speed · every model on both boards
50 ms100 ms150 ms200 ms300 ms400 ms9501000105011001150time to first audio, Covalquality rating, Artificial AnalysisRealtime TTS-2145 ms · 1145Realtime TTS-2 Flash58 ms · 1072ElevenLabs Eleven v4 TurboCartesia Sonic 3.6Cartesia Sonic 3.5Speechify Simba 3.2Gradium TTSSpaceXAI TTSSpeechify Simba 3.0ElevenLabs Flash v2.5
The x axis is time to first audio on Coval, on a log scale, and the y axis is the Artificial Analysis Controlled Voice Arena rating. The chart shows the 13 models on both boards. No model sits above and to the left of the dashed frontier line.
"text": "I can't believe you actually did that.",
"instruction": "delighted and laughing as you say it barely able to get the words out"

I can't believe you actually did that.

0:03
STT-1 hearssurprised 47%
Delighted3.4 s
Furious3.6 s
Whispered3.8 s
Heartbroken4.0 s
These four takes use the same text with four different instructions. The “STT-1 hears” meter shows the top trait that Realtime STT-1 reports for each take.

The conversation so far: a joke just landed

Okay, so what do you want to do next?

0:02
Both takes speak the same line, each after a different earlier turn sent as context.
"voiceId": "Ashley", "language": "en-US"

Hi, I'm Ashley. A native voice, in every language you need.

0:04
Each of the eight takes uses a voice native to its language, and the last one switches language inside one sentence with language tags.
"voiceDesign": { "designPrompt": "Warm, low-pitched woman in her late thirties with a slight rasp, like a late-night radio host" }

Good evening, night owls. Pour something warm, we've got three hours of slow songs ahead.

0:06
Each voice was designed on the request from the sentence above, without saving it. The Voice Design API saves a designed voice so you can reuse it.
Instant voice cloning

Clone a voice from as little as 3 seconds of audio. Professional voice cloning is in beta.

Timestamps and visemes

Get word and character timings for captions, and visemes to drive lip-sync.

Non-verbal sounds

Put a tag such as [laugh] or [sigh] in the text where the sound should happen.

Pauses and pronunciation

Add pauses with break tags, and use custom pronunciation or verbatim tags so names and booking codes are read correctly.

OpenAI-compatible endpoint

POST /v1/audio/speech takes OpenAI’s request format, so code written for OpenAI’s speech API works once you change the base URL and use an Inworld model and voice.

Zero data retention

With zero data retention, Realtime TTS-2 and Flash process your text and audio without storing them.

Speech Reasoning

NewTry it in the playground ↗

Realtime TTS-2 decides how each line should sound. Speech Reasoning reads the meaning and picks the delivery, no direction needed.

BetaSpeech Reasoning is in the TTS playground now, switched on by default.
CreativeIt works with Realtime TTS-2 in the Creative delivery mode.
A man listening on earbuds, smiling
speech reasoning · illustration · the same line, plain and with a written direction · inworld-tts-2

Illustration: a written direction, not Speech Reasoning output

Sure. That's fine. Do whatever you want.

Plain
0:02
STT-1 hearshappy 57%
Directed
0:03
STT-1 hearsneutral 32%

Written direction dismissive and slightly annoyed

Illustration: a written direction, not Speech Reasoning output

You left the stove on. Again.

Plain
0:02
STT-1 hearsneutral 28%
Directed
0:03
STT-1 hearsangry 31%

Written direction exasperated and slightly judgmental

Illustration: a written direction, not Speech Reasoning output

Happy birthday, Dad. I wish you could have been here.

Plain
0:03
STT-1 hearssad 44%
Directed
0:04
STT-1 hearssad 88%

Written direction soft, wistful, and heavy with grief

This is an illustration. The plain take is the line alone, and the directed take adds a written direction, so it shows the kind of change Speech Reasoning makes and is not its output. Speech Reasoning is in beta in the playground. The “STT-1 hears” meter shows the top trait that Realtime STT-1 reports for each take.

For teams building for people

Case studies →
LatitudeLatitude

Every story beat, read aloud.

97%of the voice in Latitude's Voyage, on Inworld
up to 5×faster than the closest alternative
LiveKitLiveKit

Inworld voices in LiveKit Agents, with no second API key.

TTS + STTin LiveKit Agents
One flagturns on Expressive mode

“I've never seen steering work like this before TTS-2. The output is extremely natural and faithful to the steering prompt, even when it's hyper-specific.”

Creston Brooks, Co-founder and CTO, Luvu

“The subtle details like natural pausing make it hard to differentiate between AI and human.”

Nash Ramdial, Developer Relations, Stream

“We've always believed language learning should have no borders. TTS-2 just made that a lot more real.”

Dimitri Dekanozishvili, Co-founder, Talkpal

“Realtime TTS-2 pushes further on a dimension VoiceRun customers care about: directability.”

Nick Leonard, CEO and Co-Founder, VoiceRun

Start building

API reference ↗

Realtime TTS-2 Flash from $5 per million characters. Pay as you go, and every plan lowers the rate.

$25 to $12.50Realtime TTS-2, per million characters
$15 to $7Realtime TTS-2 Flash, per million characters
from $0.07LLM Inference, open models per 1M input tokens
POST /tts/v1/voice:stream
curl -N -X POST https://api.inworld.ai/tts/v1/voice:stream \
  -H "Authorization: Basic $INWORLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Okay, last one. You have got this.",
    "voiceId": "Ashley",
    "modelId": "inworld-tts-2",
    "instruction": "warm and encouraging, a little playful",
    "audioConfig": { "audioEncoding": "LINEAR16", "sampleRateHertz": 48000 }
  }'
# NDJSON: one JSON object per line, base64 audio in result.audioContent

Set INWORLD_API_KEY to your key from platform.inworld.ai.

Realtime TTS-2 built for people runs on Inworld. Who are you building for?

Questions

What is Realtime TTS-2?

Realtime TTS-2 is a new generation of text to speech model from Inworld AI, built for realtime conversation. It uses the conversation so far as context and takes natural-language voice direction the way developers prompt an LLM. It speaks about 500 languages and dialects with on-the-fly switching while keeping one voice identity. Realtime TTS-2 Flash is the fastest model in the family.

What is new compared to Realtime TTS 1.5?

Inworld AI's Realtime TTS-2 text to speech model now takes earlier turns of the conversation as context, so it adapts to what was just said. Voice direction is a natural-language string instead of a fixed emotion enum. Crosslingual switching keeps one voice identity across about 500 languages and dialects inside a single generation. Advanced Voice Design creates a saved voice from a written description. Customers on Realtime TTS 1.5 upgrade by changing the model ID.

How fast is Realtime TTS-2?

Inworld AI's Realtime TTS-2 Flash text to speech model returns first audio in as little as 50 ms, and Realtime TTS-2 in as little as 90 ms at P90. Realtime TTS-2 Flash is the fastest model in the family. On Coval's public board, Flash's first audio is as low as 50 ms, up to 3× sooner than ElevenLabs Flash v2.5.

How much does Realtime TTS-2 cost?

Realtime TTS-2, Inworld AI's text to speech model, costs $25 per million characters on demand and $12.50 on the Growth plan. Realtime TTS-2 Flash costs $15 on demand and $7 on Growth. On Enterprise, Realtime TTS-2 goes down to $10 per million characters and Realtime TTS-2 Flash down to $5, which is up to 16× less than the $80 per million characters that Eleven v4 lists.

What languages does Realtime TTS-2 support?

Realtime TTS-2, Inworld AI's text to speech model, speaks about 500 languages and dialects, and it can switch language inside a single generation while keeping the speaker's voice identity. You can give each language a voice native to it, or keep one voice across all of them. Inline language tags switch the language partway through a sentence. Realtime TTS-2 Flash covers fewer languages.

How do I control emotion and delivery in Realtime TTS-2?

Voice direction in Inworld AI's Realtime TTS-2 text to speech is a natural-language string, so you steer emotion and delivery the same way you prompt an LLM. Write the direction in plain words in the request's instruction field, such as "tired but warm, like she just got home" or "frantic, breathless, urgent". Use inline brackets only when the delivery changes partway through a line. The model layers that delivery on top of whichever voice you have chosen, and sounds such as [laugh] and [sigh] go in the text where they happen.

How do I migrate from another provider like ElevenLabs, Cartesia, or Google?

Moving to Inworld AI's text to speech API from ElevenLabs, Cartesia or Google usually means swapping the endpoint, changing the model ID and recloning your voices. Reclone from your original reference audio rather than a previous model's output, which preserves more fidelity. Code written for OpenAI's speech API also works once it points at https://api.inworld.ai/v1 with an Inworld model and voice. For ElevenLabs, a free migration tool, published on GitHub, moves your cloned voices across in a batch.

Can I use Realtime TTS-2 in a voice agent?

Yes, Inworld AI's speech to speech API uses Realtime TTS-2 or Realtime TTS-2 Flash as the voice of a live agent, on one connection that listens, reasons and talks. Open a WebSocket to wss://api.inworld.ai/api/v1/realtime/session with a session ID and protocol=realtime, authenticating with your API key from a server or a session token from a browser. Send a session.update event that sets session.audio.output.voice and session.audio.output.model, and read the audio from response.output_audio.delta events. Audio is PCM16, 24 kHz mono, base64. The docs include complete Node.js and Python example projects.