Gandr for developers.
3
surfaces on one schema, bytes, SSE, WebSocket
The whole API fits in your head: one base URL, one request schema, three surfaces. Cloning is a field on the request, not a training job. The bill is flat, so you never write rate-limiting code to protect your own wallet.
The parts, in one breath
- POST /v1/tts/bytes returns a complete WAV; POST /v1/tts/sse streams base64 PCM chunks; wss://…/ws holds one socket per live call.
- Send a ten-second reference clip inside the request and get back a working clone. No enrollment pipeline.
- Six expression controls and four transcript controls, documented on every surface.
What flat pricing changes in your code
On a meter, retries cost money and load tests are a line item, so codebases grow guard rails against their own vendor. On a stream none of that code exists: retry as aggressively as your UX wants, and let staging talk all night.
Where to start
The docs page carries the request shape, authentication, error semantics and quickstarts you can paste. The console on the home page runs the real API from your browser. Type a line and hear the first chunk come back.
A key and one stream to size it on, before anyone talks about a fleet.
Get a key for your stack