Evom Labs API Reference

Loly 3.5

Text-to-Speech (Bytes)

Uses the same JSON fields and permissions as batch generation, but returns the completed file directly.

POST/api/v1/tts/bytes
On this page

Code examples

curl -X POST https://studio.evomlabs.com/api/v1/tts/bytes \
  -H "Authorization: Bearer vc_sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Xin chào","language":"vi","format":"wav"}' \
  --output hello.wav

Authorization

Bearer credential

Send the credential in the Authorization header. Account and voice keys are accepted only where the endpoint contract permits them.

Request

FieldTypeRequiredDefaultDescription
textstringYes-Text to speak, not empty, up to 5,000 characters.
voice_idstringNo-Required with an account key. Omit with a voice key; if provided, it must match the key-bound voice.
languagestringNoautoauto, or one code or full name from the 646-language catalog.
format"mp3" | "wav"Nomp3Exactly mp3 or wav. The returned container and MIME match this value.
speednumberNo1.0Playback rate, clamped to 0.5 to 1.5.
cfg_valuenumberNo2.0How closely to follow the reference voice. A finite number from 0.0 to 4.0, including 0.
dit_stepsintegerNo10Diffusion steps. An integer from 0 to 64, including 0.

The allowance is deducted up front by text.length, including any whitespace in the string you send.

Response

Important

A successful response is binary audio, not JSON.
HeaderValueMeaning
Content-Typeaudio/wav | audio/mpegWAV for wav, MPEG audio for mp3.
Content-Dispositionattachment filenameSuggested oriagent.wav or oriagent.mp3 filename.
X-OriAgent-Formatwav | mp3The selected output format.
X-OriAgent-Sample-Rateinteger HzPresent only when the backend provides it.
X-OriAgent-Chars-DeductedintegerExactly text.length charged for the request.

Errors

REST failures use the documented error envelope. Handle the error code instead of matching the human-readable message.

Error codes

Was this page helpful?

Evom Labs API documentation