MiniMax Voice Cloning
Upload Clone Audio
Used to upload the original audio file for instant voice cloning.
http
POST /v1/files/uploadSee File Management > Upload File, use
voice_cloneforpurpose. Audio formats mp3/m4a/wav, duration 10 seconds to 5 minutes, ≤20 MB.
Upload Prompt Audio
Used to upload a prompt audio file to enhance the voice similarity and stability of speech synthesis.
http
POST /v1/files/uploadSee File Management > Upload File, use
prompt_audioforpurpose. Audio formats mp3/m4a/wav, duration <8 seconds, ≤20 MB.
Instant Voice Cloning
Use this interface for instant voice cloning. If a cloned voice is not formally called within 7 days, the system will automatically delete it.
http
POST /v1/voice_cloneRequest Headers
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Content-Type | string | Yes | application/json | Data exchange format |
Authorization | string | Yes | - | Authentication info, format is Bearer <API_KEY> |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
file_id | int64 | Yes | The source audio file ID, obtained via the file upload interface |
voice_id | string | Yes | Custom clone voice ID. Length [8, 256], must start with a letter, only letters/numbers/-/_ allowed, cannot end with - or _, and must not duplicate an existing ID |
clone_prompt | object | No | Prompt audio, used to improve similarity and stability |
clone_prompt.prompt_audio | int64 | No | The file ID of the prompt audio |
clone_prompt.prompt_text | string | No | The exact text of the prompt audio, which must fully match the audio content and end with punctuation |
text | string | No | Preview synthesis text, up to 1000 characters. When provided, a preview audio link is returned and billed at the T2A rate |
model | string | No | Preview synthesis model, required when text is present. Options: speech-2.8-hd, speech-2.8-turbo |
language_boost | string | No | Enhance recognition of a specific language/dialect, or auto for automatic detection. Supports 40+ languages including Chinese, English, Japanese, Korean, Cantonese, etc. |
text_validation | string | No | The expected transcription text of the source audio, up to 200 characters. The request is rejected when ASR similarity falls below the accuracy threshold (error code 1043) |
accuracy | double | No | ASR similarity threshold, default 0.7, range [0, 1]. Used together with text_validation |
need_noise_reduction | boolean | No | Whether to apply noise reduction to the source audio, default false |
need_volume_normalization | boolean | No | Whether to enable volume normalization, default false |
aigc_watermark | boolean | No | Whether to append an AIGC watermark beat marker at the end of the preview audio, default false |
Request Example
bash
curl --request POST \
--url https://neolink.com/api/minimax/v1/voice_clone \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"file_id": 123456789,
"voice_id": "my-custom-voice-001",
"text": "你好,这是我的克隆音色试听。",
"model": "speech-2.8-hd",
"need_noise_reduction": true,
"need_volume_normalization": true,
"language_boost": "Chinese"
}'Successful Response (HTTP 200)
json
{
"input_sensitive": {
"type": 0
},
"demo_audio": "https://demo-audio.example.com/audio.wav",
"extra_info": {
"audio_length": 3500,
"audio_sample_rate": 24000,
"audio_size": 84000,
"bitrate": 192000,
"word_count": 14,
"usage_characters": 14
},
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}| Field | Type | Description |
|---|---|---|
input_sensitive | object | Input content moderation result |
input_sensitive.type | int | Moderation type: 0=normal, 1=serious violation, 2=pornographic, 3=advertisement, 4=prohibited, 5=abusive, 6=violent/terrorist, 7=other |
demo_audio | string | Preview audio link (only returned when text and model are provided in the request) |
extra_info | object | Preview audio metadata and billing info (only returned when text is provided in the request) |
extra_info.audio_length | int64 | Audio duration (milliseconds) |
extra_info.audio_sample_rate | int64 | Audio sample rate |
extra_info.audio_size | int64 | Audio size (bytes) |
extra_info.bitrate | int64 | Bitrate |
extra_info.word_count | int64 | Number of synthesized characters (excluding punctuation) |
extra_info.usage_characters | int64 | Number of billable characters |
base_resp.status_code | int | Status code; see the error codes for specific definitions |
base_resp.status_msg | string | Status details |
