base_url and the key.
This is a separate key from your sk_live_ API key — ask us for one; it is
not minted from the dashboard.
Quickstart
audio/wav, 48 kHz mono PCM16. On a
400-character input expect roughly 3 seconds end to end — the whole file is
rendered before the first byte is sent, so this endpoint is built for
generating clips, not for driving a live conversation. For interactive
latency, use an agent and place a call.
Request
model is a stable public name, not the build number. It always points at the
current production voice, which we upgrade underneath you — so a clip you
generate today may sound better than one from last month without your code
changing.The rewrite pass
Raw text is rarely speech-ready.97% should be read as “ninety-seven
percent”, a product name should not be transliterated, and a bare URL should
not be spelled out character by character. By default we run your text through
a rewrite that fixes exactly that, preserving meaning, before it reaches the
engine.
Every response carries a header naming what happened:
fallback is a degradation, never an error: you still get audio and still get
a 200. If you are debugging pronunciation and the header says fallback, the
rewrite is not what shaped that clip.
Skip the rewrite
Listing models
Errors
Errors use the same envelope as the rest of the API — see Errors.404 Not Found
Using an OpenAI SDK
The shape matches, so point the client at us and keep your code:lexicon, numbers, instructions and speech_ready are ours, not
OpenAI’s. SDKs that validate their request body may reject them — send those
with a plain HTTP client, or use extra_body where your SDK supports it.