Synthesise speech
POST /v1/speech — turn text into a complete audio file.
POST
Returns the finished audio as raw bytes, with the details of what was produced in the response headers. For audio that starts playing before synthesis completes, use streaming instead.
An explicit
Body
string
required
The text to speak. Maximum 5,000 characters.
string
default:"mp3"
mp3, wav, opus, or mulaw. Overrides the Accept header when both are present.integer
Output sample rate in Hz. Defaults to the format’s native rate — 24000 for
mp3, wav, and opus; 8000 for mulaw.number
default:"1.0"
Speaking rate. Below 1.0 is slower, above is faster.
number
Pitch adjustment. Only applies to
nabra-1 — sada-1 ignores it.Formats
You can also negotiate the format with the
Accept header, which is how most audio clients ask:
format in the body wins over Accept.
Response
Raw audio bytes withContent-Type set for the format, plus the X-Voho-* headers describing the result.
Errors
unavailable is transient. Retry with backoff. synthesis_failed usually is not — check your request before retrying.Authorizations
API token from the Voho console. Begins with voho_sk_live_.
Body
application/json
Text to speak. Maximum 5,000 characters.
Maximum string length:
5000Example:
"أهلاً بك في فوهو"
Voice ID from the catalog.
Example:
"layla"
Available options:
sada-1, nabra-1 Overrides the Accept header when both are present.
Available options:
mp3, wav, opus, mulaw Defaults to the format's native rate (24000, or 8000 for mulaw).
Speaking rate. Below 1.0 is slower.
Pitch adjustment. Only applies to nabra-1; sada-1 ignores it.
Response
Audio bytes.
The response is of type file.

