Skip to main content

1. Get a key

Create one in the studio. Access is currently limited — a promo code unlocks it.

2. Make a request

Keep --fail-with-body. Without it, curl writes the JSON error body into out.pcm on a 4xx, and the next command turns that JSON into a silent 0-second file. A bad key then looks like “the audio is empty” instead of an error.

3. Make it playable

The response has no file header — it is raw samples. Every player has to be told what they are:
-f s16le -ar 24000 -ac 1 is the whole recipe: signed 16-bit little-endian, 24 kHz, mono. That is what audio/L16; rate=24000; channels=1 means.
Postman and most HTTP clients cannot play the response inline for the same reason — raw PCM carries no format information, so nothing can know the sample rate from the bytes. Save it and convert.

Next

Voice agents

Barge-in, turns, and pushing text as your LLM writes it.

Voices & languages

Two voices, eleven languages, and the rules that bite.