Streaming TTS Guide

Start playback before the full audio is generated

Streaming returns audio chunks as they are generated, so playback can start before the whole clip is ready. Use it for long text and any experience where a wait before speech would feel broken.

Speech vs stream

Speech endpointStream endpoint
Character limit2,00020,000
ResponseBase64 JSON + metadataRaw audio chunks
Best forShort, pre-rendered clipsLong text, low-latency playback
1

Set your API key

$export SPEECHIFY_API_KEY="your-api-key-here"
2

Install the SDK

$pip install speechify-api
3

Stream audio

Call POST /v1/audio/stream. The response is a stream of raw audio chunks:

POST
/v1/audio/stream
1curl -X POST https://api.speechify.ai/v1/audio/stream \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "input": "Streaming long-form audio with the Speechify API.",
6 "voice_id": "geffen_32",
7 "model": "simba-3.2"
8}'

When to stream

Reach for streaming when the first-byte wait matters: read-aloud features, in-app playback of long articles, or any interface where the user presses play and expects immediate sound. For a short, fixed clip you render once and cache, the speech endpoint is simpler.

Streaming pairs well with the streaming-native simba-3.2 model. Set model: "simba-3.2" and a curated voice such as geffen_32. See Models.

Next steps