Inworld Realtime TTS-2 Flash API Usage Guide
Overview
Realtime TTS-2 Flash (inworld-tts-2-flash) is Inworld’s fastest and lowest-cost voice
model, built for latency-critical, high-volume workloads such as realtime agents, support
lines, and game characters.
It shares the Realtime TTS-2 voice inventory and language coverage with inworld-tts-2,
trading natural-language steering for roughly 2.5x lower end-to-end latency and a lower
price per character.
Key features
- 282 built-in voices across 15 language groups, 200+ languages and locales supported
- Lowest latency in the Inworld family: 20 ms P90 time-to-first-byte server-side;
measured ~0.7 s end-to-end for a short line versus ~1.7 s on
inworld-tts-2 - Word and character timestamps with phoneme-level timing and viseme symbols for lip-sync
- Eight audio formats: MP3, LINEAR16, WAV, PCM, OGG_OPUS, FLAC, ALAW, MULAW
- Inline non-verbals:
[laugh],[breathe],[sigh],[cough],[yawn]and more render as real sounds rather than spoken words - SSML pause control:
<break time="1s" />anywhere in the text, up to 20 breaks per request - Verbatim spelling:
<verbatim>AHAA7771Z</verbatim>reads alphanumerics character by character - Text normalization: automatic expansion of currency, dates, phone numbers, emails, symbols
Choosing between TTS-2 and TTS-2 Flash
Use
inworld-tts-2 when delivery has to be directed. Use inworld-tts-2-flash when latency
and cost dominate and the voice itself carries the performance.
Request notes
textis capped at 2,000 characters per request; longer input returns HTTP 400. Markup tags count toward the limit, and toward billing.voice_idis required. All 282 voices work with this model.sample_rate_hertzis codec dependent. MP3 accepts 16000, 22050, 24000, 32000, 44100 and 48000, but not 8000. ALAW and MULAW are 8000 only. LINEAR16, WAV, PCM and OGG_OPUS accept 8000 through 48000.bit_rateapplies to MP3 and OGG_OPUS only (32000-320000). Low bit rates force the encoder down to a lower output sample rate.- Steering is not available on this model.
[shouting],[whisper]and the request-levelinstructionfield are accepted but produce no audible change; the tags are stripped from the text and never spoken. Non-verbal sound tags such as[laugh]do work. Useinworld-tts-2when you need directed delivery. temperature(0-2) is available on this model. Inworld’s docs list temperature as unsupported oninworld-tts-2, not on Flash. It has no default here: omit it and the vendor applies its own default of 1.0.enhance_generationapplies denoising to the output to reduce background noise and artifacts. Defaults to false.pitchandseedare real fields that Inworld does not document publicly.audioConfig.pitchis validated server-side (out-of-range returns “audioConfig.pitch should be within the range of -5.0 to 5.0.”) andseedis a recognised request field. Because they are undocumented, Inworld may change or remove them without notice, andseedin particular does not make output reproducible.
Output
Audio is returned as a GCS URL inoutcome.audio_url, with outcome.medias[0].url carrying
the same URL in the unified media format. When timestamp_type is WORD or CHARACTER,
alignment data is returned as an additional medias entry under timestampInfo.