Skip to main content
POST
TTS Stream

Overview

Receive audio in chunks as it’s generated, allowing playback to start immediately. Reduces latency compared to TTS REST. For the lowest latency, see TTS Realtime.
Passing numbers, IDs, dates, or currency as raw strings causes mispronunciations. See the Input Formatting Guide for correct formatting of phone numbers, account numbers, PINs, Aadhaar, vehicle registration numbers, GSTIN, currency, and more.

Models

Timbre v2.5 is now the recommended TTS model. Migrate from Timbre v2.0 to continue receiving the latest improvements. Timbre v2.0 will be deprecated soon.

Endpoint


Authentication


Request Parameters

string
required
The text to synthesize into speech. Pass numbers, dates, and currency as spoken words to avoid mispronunciations — see Input Formatting Guide.
string
required
Set to timbre-v2.5.
string
required
Voice name from the Timbre v2.5 catalog. See the Voice Catalog for preferred voices by language. Example: Nalini, Kaveri, Deepak.
string
required
Language of the input text. Controls text normalization and routing.
number | string
default:"1.0"
Playback speed multiplier. Numeric range: 0.85 (slowest) to 1.15 (fastest). String shortcuts: "slow" = 0.85, "medium" = 1.0, "fast" = 1.15.
object
Controls the format of the returned audio.

Audio Format Reference

Encoding aliases — produce identical output to the container rows above: bitrate only applies when container=mp3. container=mulaw/alaw override sample_rate to 8000 Hz.
When container=ogg or encoding=oggopus is requested, all audio chunks are encoded into a single OGG Opus file delivered as one chunk — streaming delivery is not possible for OGG.

Response

The server streams audio via Server-Sent Events. Each chunk event carries base64-encoded audio in the audio field. A final complete event signals that synthesis is finished.

Code Example


Available Voices

42 voices across 10 Indian languages, English, and Hinglish. See the full Voice Catalog for preferred voices by language, gender, persona, and description. Popular examples: Nalini (Hindi), Kaveri (English), Deepak (Hindi), Poorvi (Hinglish).

Python SDK

The SDK’s streaming client handles SSE parsing and chunk reassembly for you — you just iterate and write.

Installation

Requires Python 3.10+.

Authentication

Stream Audio to a File

synthesize_stream yields audio chunks as they arrive. Playback or writing can begin before the full response is complete.

With Custom Audio Config

Authorizations

X-API-Key-ID
string
header
required

Headers

X-API-Key-ID
string
required

Body

application/json

Request body for TTS inference.

text
string
required
model
enum<string>
required

TTS model. Use timbre-v2.5. Timbre v2.0 is deprecated and will be removed soon.

Available options:
timbre-v2.5
audio_config
AudioConfig · object
required

Audio output configuration.

voice
string

Voice name from the Timbre catalog.

language
string

Language code. Use auto, hi-IN, en-IN, hi-en, ta-IN, te-IN, kn-IN, ml-IN, mr-IN, pa-IN, bn-IN, or gu-IN.

speed
number

Playback speed multiplier. Range: 0.85–1.15.

Response

Successful Server-Sent Events stream

The response is of type string.