Skip to main content

Models

Set via model_id (body) on POST /v2/voice_clones/from_upload, or use provider (body) to select Minimax or Resemble.

Audio Requirements

Body parameter audio_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 requires an exact transcript. A missing, empty, or whitespace-only ref_text returns 422 (code 10027, source.pointer /ref_text). An inaccurate transcript can make synthesis with the clone truncated or garbled. Record a known script of about 10 seconds and pass the script verbatim as ref_text.

Bayan Language

When model_id is "Bayan", language accepts only ar (default) or en. Other values return 422 with source.pointer /language.

Resemble Models

Set provider to resemble and model_id to Pro, Turbo, or Urdu.
  • Pro: language is 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. language accepts en or en-US (default en-US).
  • Urdu: language accepts ur (default).
Other 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

When model_id is "Ultra", the API returns 202 Accepted instead of 201:
Poll until ready:
See Responses for status values and voice ID format. See Errors for Minimax error codes.