Voice Cloning
Voice cloning lives in the MiniMax route family (/v1m). Upload a sample, keep the returned voice_id, then reuse that id in MiniMax TTS requests.
Create Clone
http
POST https://api.cheapaiapi.com/v1m/voice/cloneSend this request as multipart/form-data.
filefilerequiredSource audio sample.voice_namestringDisplay name for the cloned voice.preview_textstringPreview text for the cloning flow.language_tagstringLanguage label such as English.need_noise_reductionbooleanEnable cleanup for noisy source audio.gender_tagstringOptional tag such as male or female.bash
curl -X POST "https://api.cheapaiapi.com/v1m/voice/clone" \
-H "Authorization: Bearer sk_your_api_key" \
-F 'file=@voice_sample.mp3' \
-F 'voice_name=My Custom Voice' \
-F 'language_tag=English' \
-F 'preview_text=Hello world'Create Clone Response
json
{
"success": true,
"cloned_voice_id": 12345
}List Clones
http
GET https://api.cheapaiapi.com/v1m/voice/clonejson
{
"success": true,
"data": [
{
"voice_id": "12345",
"voice_name": "My Custom Voice",
"tag_list": ["English", "Clone"],
"sample_audio": "https://..."
}
]
}Delete Clone
http
DELETE https://api.cheapaiapi.com/v1m/voice/clone/{voice_clone_id}How It Connects To TTS
Once a clone exists, use its voice_id inside the MiniMax TTS route:
json
{
"model": "speech-2.6-hd",
"voice_setting": {
"voice_id": "12345",
"vol": 1,
"pitch": 0,
"speed": 1
}
}Tips For Better UX
- Show upload quality guidance before the user submits the source audio.
- Let the user name the clone during creation so it is reusable later.
- After clone creation, offer a direct jump into MiniMax TTS with the new
voice_idprefilled. - Keep list and delete actions close together so teams can manage test voices cleanly.