---
title: "Voice Clone"
method: POST
path: "/v1/voice_clone"
tags: ["Voice"]
---

# Voice Clone

`POST /v1/voice_clone`

## Request

- Base URL: `https://api.minimax.io`
- URL: `https://api.minimax.io/v1/voice_clone`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/minimax/apis/minimax-api-2/docs/v1/voice_clone/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a voice clone from an audio file

## Request body

- VoiceCloneReq
  - `voice_id` string, required: User-provided voice ID
  - `file_id` integer, required: Audio file ID uploaded by user
  - `output_format` string, required: Output audio format
  - `need_noise_reduction` boolean, required: Whether noise reduction is needed
  - `text` string, required: Text for generating demo audio
  - `model` string, required: Model for generating demo audio
  - `text_validation` string, required: Text validation setting
  - `accuracy` number, double, required: Accuracy requirement
  - `need_volume_normalization` boolean, required: Whether volume normalization is needed
  - `language_boost` string: Language boost for demo audio
  - `clone_prompt` ClonePrompt
    - `prompt_audio` integer, required: Prompt audio ID
    - `prompt_text` string, required: Prompt text
  - `aigc_watermark` boolean: Whether to add AIGC watermark

## Response `200`

Successful response

- VoiceCloneResp
  - `input_sensitive` boolean: Whether input contains sensitive content
  - `input_sensitive_type` 'Politics' | 'Porn' | 'Ad' | 'Illegal' | 'Abuse' | 'Terror' | 'Other': Sensitive content type
  - `demo_audio` string: Demo audio URL
  - `trace_id` string: Trace ID for request tracking

## Other responses

- `400`: Bad request
- `401`: Authentication failed
- `500`: Internal server error

---

[API](https://skmtc.dev/minimax/apis/minimax-api-2.md) - [All operations](https://skmtc.dev/minimax/apis/minimax-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/minimax/apis/minimax-api-2/revisions/b18c2ab45c0e?raw)
