Models
Set viamodel_id (body) on POST /v2/voice_clones/from_upload, or use provider (body) to select Minimax or Resemble.
Audio Requirements
Body parameteraudio_file (multipart) on POST /v2/voice_clones/from_upload.
- Qwen3TTS: aim for 5–10 seconds. Longer isn’t better — auto-trims to 10s.
- Ultra: up to 60 seconds. Longer, varied speech gives the model more of the voice to learn from.
- Bayan: about 10 seconds of clean, single-speaker speech. The audio is converted to 24 kHz mono WAV and trimmed to the first 10 seconds.
- Minimax: longer is better. 1–2 minutes of varied speech gives more vocal range.
- Resemble: about 10 seconds of clean, single-speaker speech. The audio is converted to WAV and trimmed to the first 10 seconds.
The ref_text Parameter
Body parameter on POST /v2/voice_clones/from_upload. Required for Bayan, ignored for Resemble, optional for every other model.
A transcript of what’s being said in the audio. Improves clone quality by giving the model a text reference to align against.
Bayan Language
Whenmodel_id is "Bayan", language accepts only ar (default) or en. Other values return 422 with source.pointer /language.
Resemble Models
Setprovider to resemble and model_id to Pro, Turbo, or Urdu.
- Pro:
languageis required:ar,da,de,el,en-US,es,fi,fr-fr,he,hi,it,ja,ko,ms,nl,no,pl,pt,ru,sv,sw,tr,zh. - Turbo: English only.
languageacceptsenoren-US(defaulten-US). - Urdu:
languageacceptsur(default).
language values return 422 with source.pointer /language.
A Resemble clone works only with the model it was created for. To use the same speaker on another model, create a separate clone with that model_id.
Ultra Async Flow
Whenmodel_id is "Ultra", the API returns 202 Accepted instead of 201: