Build with Realtime TTS
Synthesize Speech (Streaming)
Send text, receive audio chunks over HTTP as they are generated
You send text, the server returns audio chunks over HTTP as they are generated. Playback can begin before the full synthesis is complete, significantly reducing time-to-first-audio.
Best for real-time applications and conversational AI when you want low-latency playback without managing a persistent connection. Each request accepts up to 4,000 characters.
For the lowest latency, use the WebSocket API. For long-form content such as audiobooks, podcasts, or voiceovers, use the Async API. For tips on optimizing latency, see the latency best practices guide.
Timestamp Transport Strategy
When using timestamp alignment, you can choose how timestamps are delivered alongside audio using timestampTransportStrategy:
SYNC(default): Each chunk contains both audio and timestamps together.ASYNC: Audio chunks arrive first, with timestamps following in separate trailing messages. This reduces time-to-first-audio.
See Timestamps for details on how each mode works.
Code Examples
Node.js SDK
Use stream() from the @inworld/tts SDK — async iteration over audio chunks with automatic retries.
JavaScript
View our JavaScript implementation example
Python SDK
Use stream() from the inworld-tts SDK — async iteration over audio chunks with automatic retries.
API Reference
Synthesize Speech Stream
View the complete API specification