Authentication
Every request needs an API token in theAuthorization header.
voho_sk_live_.
A missing, malformed, or revoked token returns 401:
Endpoints
Everything the console can do is reachable here, billed from the same balance, with the same error codes.
Response headers
Every response carriesX-Voho-Engine. Successful synthesis calls add the details of what was produced:
Credits
One balance funds every endpoint. Each is billed for the thing it produces, and the cost of each call comes back inX-Voho-Cost-Cents.
Cost is rounded up, so a very short request still costs at least one cent. The text utilities are free. They neither synthesise nor read anything.
When the balance reaches zero, every billable endpoint returns
402:
Streaming calls are billed after the stream finishes, so a synthesis that fails partway is not charged.
Errors
Errors are JSON with a stablecode and a human-readable message. Branch on code, never on message.
Limits
- Synthesis: 5,000 characters per request. Longer text returns
text_too_long, split it into sentences and concatenate the audio. - Uploads: 8 MB. Documents are PDF, PNG, JPEG or WebP; audio is WAV, MP3, OGG, WebM or FLAC, up to 60 seconds.
- Files go up as
multipart/form-datawith the file attached, or as JSON with a base64fileand amime_type. Both are accepted everywhere a file is.
Synthesise speech
The core endpoint.
Browse voices
Find a voice by dialect.

