> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mountsea.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Clone Voice

> Paid Clone Voice — same Voice Persona as Init + Complete

**Clone Voice** (`POST /suno/v2/voices`) is a **Voice Persona** API. It is the paid **one-step** equivalent of [Init](/api-reference/suno/voicePersonaInit) + [Complete](/api-reference/suno/voicePersonaComplete): one public `audio_url`, one task, same Voice Persona.

<Warning>
  **Billed.** The Init + Complete path is **free** and produces the **same** Voice Persona. Failed Clone Voice tasks should not be billed. See [Persona overview](/api-reference/suno/persona-introduction).
</Warning>

<Info>
  Phrase language is **English only**. On `/generate` set `persona.is_voice: true` and stay on the creating account.
</Info>

## Request

| Field         | Type         | Required | Description                                                                                                  |
| ------------- | ------------ | -------- | ------------------------------------------------------------------------------------------------------------ |
| `audio_url`   | string (URL) | Yes      | Publicly downloadable reference audio (MP3/WAV). Duration **10–240s**; **30–60s** dry solo vocal recommended |
| `name`        | string       | No       | Voice name; generated if omitted                                                                             |
| `description` | string       | No       | Voice description                                                                                            |

## Create task

```bash theme={null}
curl -X POST "https://api.mountsea.ai/suno/v2/voices" \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://cdn.example.com/reference.mp3",
    "name": "My Voice"
  }'
```

Returns `{ "taskId": "..." }`. Poll [Get Task Status](/api-reference/suno/task) until `status` is `success`.

## Task result (`data` when success)

This is the real payload after Clone Voice finishes — use `persona_id` on `/generate`:

```json theme={null}
{
  "name": "voices-ext-fix-verify",
  "is_public": false,
  "persona_id": "af88153e-a513-432a-a9b5-3948fb562d4b"
}
```

| Field        | Type    | Description                                         |
| ------------ | ------- | --------------------------------------------------- |
| `persona_id` | string  | Voice Persona ID for `/generate` (`is_voice: true`) |
| `name`       | string  | Display name                                        |
| `is_public`  | boolean | Always private for Clone Voice (`false`)            |


## OpenAPI

````yaml POST /suno/v2/voices
openapi: 3.0.0
info:
  title: Suno AI
  description: API documentation for Suno AI
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.mountsea.ai
    description: API Gateway
security: []
tags:
  - name: suno
    description: ''
  - name: suno/studio
    description: Studio Song Editor（与 audio/crop|fade|reverse 独立）
paths:
  /suno/v2/voices:
    post:
      tags:
        - suno
      summary: Clone Voice — create Voice Persona from audio_url
      description: >-
        Clone Voice: upload a public audio_url and create a private Voice
        Persona in one task.

        Paid equivalent of /voicePersona/init+complete. Phrase language is
        English only.

        Poll GET /suno/v2/status; on success data is { name, is_public,
        persona_id }.

        Failed tasks should not be billed by gateway.
      operationId: ApiPublicController_createVoices
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVoicesDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIdDto'
      security:
        - bearerAuth: []
components:
  schemas:
    CreateVoicesDto:
      type: object
      properties:
        audio_url:
          type: string
          format: uri
          description: 公网可下载的参考音频 URL，MP3/WAV，时长 10~240 秒，建议 30~60 秒单人干声
          example: https://cdn.acedata.cloud/suno_demo.mp3
        name:
          type: string
          description: 音色名称；不传则由系统生成
          example: My Voice
        description:
          type: string
          description: 音色描述
      required:
        - audio_url
    TaskIdDto:
      type: object
      properties:
        taskId:
          type: string
          description: task id. Use this id to query task status.
          example: 15c257ff-43f7-4678-bd41-202ad6b8488b
      required:
        - taskId
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````