Skip to main content
Model ID
Calling method: sync

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

  • text is capped at 2,000 characters per request; longer input returns HTTP 400. Markup tags count toward the limit, and toward billing.
  • voice_id is required. All 282 voices work with this model.
  • sample_rate_hertz is 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_rate applies 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-level instruction field 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. Use inworld-tts-2 when you need directed delivery.
  • temperature (0-2) is available on this model. Inworld’s docs list temperature as unsupported on inworld-tts-2, not on Flash. It has no default here: omit it and the vendor applies its own default of 1.0.
  • enhance_generation applies denoising to the output to reduce background noise and artifacts. Defaults to false.
  • pitch and seed are real fields that Inworld does not document publicly. audioConfig.pitch is validated server-side (out-of-range returns “audioConfig.pitch should be within the range of -5.0 to 5.0.”) and seed is a recognised request field. Because they are undocumented, Inworld may change or remove them without notice, and seed in particular does not make output reproducible.

Output

Audio is returned as a GCS URL in outcome.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.

Pricing

$15 per 1,000,000 characters (on-demand) = 15,000 micro-USD per 1,000 characters. Billed on input text length counted in Unicode characters, including markup tags. Source: https://inworld.ai/pricing (verified 2026-08-31).