---
title: "create voice"
method: POST
path: "/api/v1/sonic/create-voice"
tags: ["sonic"]
---

# create voice

`POST /api/v1/sonic/create-voice`

## Request

- Base URL: `https://api.musicapi.ai`
- URL: `https://api.musicapi.ai/api/v1/sonic/create-voice`
- Auth: HTTP bearer

Create a custom voice persona from an audio file containing clear vocals. This is an async endpoint — submit the audio URL, receive a task_id, then poll for the result.

**Credits cost: 5**

**Workflow:**

1. Submit a publicly accessible audio URL (MP3 or WAV, >10s, single clear speaker)
2. Receive a task_id in the response
3. Poll GET /api/v1/sonic/task/{task_id} until the task completes
4. The completed task returns a persona_id
5. Use the persona_id with POST /api/v1/sonic/create (task_type: persona_music) to generate music with that voice

---

Polling Result

Use GET /api/v1/sonic/task/{task_id} to poll the result.

```json
{
  "code": 200,
  "data": {
    "persona_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Voice Name"
  },
  "message": "success"
}
```

## Request body

- object
  - `audio_url` string, required: Publicly accessible audio URL (MP3 or WAV)
  - `webhook_url` string: HTTPS callback URL for task completion
  - `webhook_secret` string: Secret for webhook signature verification

## Response `200`

- object
  - `code` string, required: Status code
  - `message` string, required: Response message
  - `task_id` string, required: Task ID for polling the result

---

[API](https://skmtc.dev/musicapi/apis/musicapi-docs-suno-style-ai-music-generation-api.md) - [All operations](https://skmtc.dev/musicapi/apis/musicapi-docs-suno-style-ai-music-generation-api/llms.txt) - [OpenAPI document](https://skmtc.dev/musicapi/apis/musicapi-docs-suno-style-ai-music-generation-api/revisions/f94a2c7ed4a1?raw)
