Skip to main content
Install the SDK, create a Developer Console API key, and synthesize your first audio in under a minute.

1. Create an API key

Open the API keys page, select Create API key, name it, and copy the secret once. Treat BREEZE_API_KEY like a password.

2. Install the SDK

Python:
TypeScript:

3. Set environment variables

4. Convert text to speech

Python uses snake_case. TypeScript uses camelCase.

5. Stream audio

Use streaming when playback should begin before the full response has been generated.
Streaming responses default to pcm to reduce time to first audio. Pass output_format="wav" / { outputFormat: "wav" } or mp3 when you want that wire format explicitly.

6. Realtime conversation audio

Use realtime text to speech when one connection should handle multiple conversation turns. Realtime audio is fixed to pcm_s16le, 24000 Hz, mono, 16-bit. Start consuming before appending text: audio can arrive after flush() and may continue after the turn ends, so keep consuming until turn.done.
See the realtime guide for the full event protocol, keepalive pings, browser client_secret sessions, and error handling.

7. List voices and history

Use voices to choose saved or public voices, and history to inspect previous text-to-speech generations.

8. Inspect the request

The logs page shows the call with status, latency, audio download, and Copy as cURL.

Next steps

Text to speech guide

Add batching, async jobs, expressive instructions, and per-call voice settings.

Convert text to speech

Inspect every request field, response body, and SDK example for the endpoint you just called.

Streaming

Start playback before the full response has been generated.

Realtime text to speech

Keep one WebSocket open for multi-turn conversation audio.

Output formats

Choose MP3, WAV, FLAC, PCM, AAC, or Opus for your playback and pipeline needs.

Rate limits

Plan retries, async jobs, and concurrency around Breeze generation limits.