Get started
Realtime TTS-2

A new frontier voice modelthat feels as human as it sounds.

Realtime TTS-2, ranked #1 on Artificial Analysis, is a next generation voice model built for realtime conversation. It hears the full audio of the exchange, picks up the user's tone, pacing and emotional state, and takes voice direction in plain English.

Launch partners & customers say

Voice AI that actually feels human.

Capabilities

01 / 05Voice Direction

Capability 01 / 05

Voice Direction

A natural-language description of how a line should be delivered, passed inline at the start of your text. Not a fixed list of preset emotions. Not a slider. Write the prompt the way you'd write a stage direction.

IntegratePOST /tts/v1/voice
curl -X POST https://api.inworld.ai/tts/v1/voice \ -H "Authorization: Basic $INWORLD_API_KEY" \ -H "Content-Type: application/json" \ -d @- <<'JSON' { "text": "[speak warm and soothing, welcoming someone home after a long day] I missed you. How was today?", "voiceId": "Craig", "modelId": "inworld-tts-2", "audioConfig": { "audioEncoding": "LINEAR16", "sampleRateHertz": 48000 } } JSON
Try voice direction

Voice sample

Tired User11PM

“I missed you. How was today?”

[speak warm and soothing, welcoming someone home after a long day]

Independent benchmark rankings

#1 Realtime TTS quality.

Inworld models are consistently top-ranked on Artificial Analysis.Blind tests by thousands of real users, not internal evals.

ELO score vs. cost per 1M characters. Higher and further left is better. Source: Artificial Analysis Controlled Voice Arena Leaderboard, August 2026.

One Model. Four Scenes.

Tired User11PM

A tired, slower delivery for someone winding down at the end of the day.

0:00
Frustrated caller

Direct and purposeful. It reads the urgency and matches it with action.

0:00
CrosslingualEN / ES / HI

Three languages inside one generation. Same speaker, same person on the other end.

0:00
Voice direction

One prose direction reshapes the read.

0:00

Built for natural realtime conversation

Listening. Thinking.Expressing.

A real conversation isn't just words. It's the tone someone uses, the pause before they answer, the energy they carry into a sentence. Most voice agents stitch a pipeline together from four vendors and lose all of that signal at every handoff. We built each layer ourselves and pass the full audio context, the user's state, and the conversation history through one persistent connection — so the system can decide not just what to say, but how to say it.

Stage 01

Listening

realtime-stt-1

Voice profiling

Realtime STT transcribes and profiles the speaker in one pass. Age, accent, pitch, vocal style, emotional tone, and pacing become structured signals on the same connection. The rest of the pipeline knows who is talking and how they feel, not just what they said.

Stage 02

Thinking

Realtime Router

Enterprise tierOpus 5
Pro tierGemini 3.1
Free tierGemma 4

200+ models

Realtime Router takes the user's state and the conversation context and selects the right model, prompt, and tools for the moment. Reasoning, retrieval, and tool calls all happen on the same persistent connection.

Stage 03

Expressing

Realtime TTS-2

Voice direction

Realtime TTS-2 takes the prior audio, the user's emotional state, the conversation history, and the developer's natural-language direction and decides how to deliver the line. Same words, different read for the moment. Sub-200ms first chunk, identity-preserved across >200 languages.

For developers

Drop in. Ship today.

Available across the platforms you already build on, with first-party SDKs in Node and Python and direct REST + Realtime API access.

REST · streaming
curl -X POST \ https://api.inworld.ai/tts/v1/voice:stream \ -H "Authorization: Basic $INWORLD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Hey [laugh] welcome back.", "voiceId": "Sarah", "modelId": "inworld-tts-2", "audioConfig": { "audioEncoding": "LINEAR16", "sampleRateHertz": 48000 } }' # Sub-200ms first-chunk latency. # NDJSON stream of base64 audio chunks.
REST · one-shot
curl -X POST \ https://api.inworld.ai/tts/v1/voice \ -H "Authorization: Basic $INWORLD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Hi! What can I help you with today?", "voiceId": "Sarah", "modelId": "inworld-tts-2", "audioConfig": { "audioEncoding": "OGG_OPUS", "sampleRateHertz": 16000 } }'
Realtime · WebSocket
const ws = new WebSocket( `wss://api.inworld.ai/api/v1/realtime/session?key=${sessionId}&protocol=realtime` ); ws.onopen = () => { ws.send(JSON.stringify({ type: "session.update", session: { type: "realtime", model: "anthropic/claude-sonnet-4", // LLM (any router model) instructions: "You are a helpful voice agent.", audio: { input: { transcription: { model: "inworld/inworld-stt-1" } }, output: { model: "inworld-tts-2", voice: "Sarah" } }, providerData: { stt: { voice_profile: true } // unlock paralinguistic signals } } })); }; ws.onmessage = (event) => { const data = JSON.parse(event.data); if (data.type === "response.audio.delta") { // data.delta is base64-encoded PCM16 audio playChunk(atob(data.delta)); } };

Voice AI, side by side

The capabilities that change what you can build, not feature counts. Quality ranks come from the Artificial Analysis Controlled Voice Arena.

CapabilityInworldGoogleElevenLabsCartesiaOpenAI
Voice quality (Artificial Analysis Controlled Voice Arena)#1Not ranked#5#2Not ranked
Natural conversational deliveryNot supportedNot supported
Realtime latencyNot supportedNot supportedNot supported
Multi-turn aware speech synthesisNot supportedNot supportedNot supported
Simple voice direction (inline tags)
Advanced voice direction (free-form descriptions)Not supportedNot supportedNot supported
Voice cloningNot supportedNot supported
Voice designNot supportedNot supportedNot supported
Crosslingual (single voice, >200 languages)Not supportedNot supportedNot supported
Voice profiling (understand user context)Not supportedNot supportedNot supportedNot supported
Single customizable speech-to-speech APINot supportedNot supportedNot supportedNot supported
User-aware LLM routingNot supportedNot supportedNot supportedNot supported
Optimized alphanumeric supportNot supportedNot supportedNot supported

Verified August 2026 from public docs and the Artificial Analysis Controlled Voice Arena leaderboard. Based on the latest models from each provider.

Available today.

Realtime TTS-2 ships through the Inworld API and the Inworld Realtime API. Customers on Realtime TTS 1.5 upgrade by changing the model identifier, no other code changes. Code samples at docs.inworld.ai. Pricing at inworld.ai/pricing.

Frequently asked questions

Realtime TTS-2 is a new generation of voice model from Inworld AI built for realtime conversation. It hears the full audio context of the exchange and the user's emotional state, tone, and pacing, then takes natural-language voice direction the way developers prompt an LLM. It speaks across >200 languages with on-the-fly switching while preserving one voice identity. Available today via the Inworld API and the Inworld Realtime API as a research preview.
Four things. The model now conditions on prior multi-turn audio, not just the current sentence, so it adapts to how the user actually sounds. Voice direction is a natural-language string instead of a fixed emotion enum. Crosslingual switching preserves one voice identity across >200 languages inside a single generation. Advanced Voice Design lets you create a saved voice persona from prose and pick a stability mode (Expressive, Balanced, or Stable). Customers on TTS 1.5 upgrade by switching the model identifier, no other code changes.
Most teams swap the endpoint, change the model identifier, and reclone any voices using their original reference audio rather than a previous model's output, which preserves more fidelity. The Realtime API speaks the OpenAI Realtime protocol with Inworld extensions, so existing OpenAI Realtime clients connect with one URL change. Reference docs at docs.inworld.ai.
Realtime TTS-2 is expanding to >200 languages with on-the-fly switching inside a single generation, preserving the speaker's voice identity across every language. The top tier ships at native-speaker quality. The long tail is launch-window experimental as the model ships in research preview.
Voice direction is a natural-language string on the request, the same way you prompt an LLM. Pass a description like "tired but warm, like she just got home" or "frantic, breathless, urgent." The model layers that delivery on top of whichever voice you have chosen. Inline non-verbal markers like [laugh], [sigh], [breathe], [clear_throat], and [cough] go inside the text where the moment should occur.
Sub-200ms median time-to-first-audio for the TTS layer alone. End-to-end through the Realtime API depends on what reasoning has to do, but the pipeline is designed to stay alive while reasoning runs: backchannel fillers stream in parallel, anticipatory generation begins before reasoning finishes, and partial responses reach the user before the full sentence is composed.
Open a WebSocket to wss://api.inworld.ai/api/v1/realtime/session, send a session.update event with session.audio.output.voice and session.audio.output.model, and stream audio back via response.audio.delta events. Audio is PCM16, 24kHz mono, base64. Audio context flows automatically across turns. First-party SDKs ship for Node and Python.
Pricing is metered per character (about 1,000 characters per minute of audio) and lives at inworld.ai/pricing. Pay-as-you-go with volume tiers. Realtime TTS-2 ships under the same metering as Realtime TTS 1.5, so customers upgrading do not see a model-side pricing change.
Yes. Voice cloning is a two-step API call: upload a reference audio sample to the voice cloning endpoint, then use the returned voice ID like any other voice in TTS calls. Cloning from your original reference audio preserves more fidelity than cloning from another model's output. There is also Advanced Voice Design, which generates a saved voice from a written prompt without any reference audio.
Advanced Voice Design ships with three stability modes. Expressive is the most creative and best for live consumer conversation. Balanced is the default, the right choice when in doubt. Stable is the most consistent across long generations and best for professional deployments where pitch drift is unacceptable. The mode is a parameter on the voice design request.
Copyright © 2021-2026 Inworld AI