> For the complete documentation index, see [llms.txt](https://anyint.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anyint.gitbook.io/docs/ai-music/transform-and-personas.md).

# transform and personas

This page covers routes that transform uploaded or completed audio rather than creating a brand-new song from scratch.

## Transform routes

| Route                         | Purpose                                                    |
| ----------------------------- | ---------------------------------------------------------- |
| `POST /suno/upload-cover`     | Upload audio and create an AI cover                        |
| `POST /suno/upload-extend`    | Upload audio and continue it                               |
| `POST /suno/add-vocals`       | Add vocals to an instrumental                              |
| `POST /suno/add-instrumental` | Add accompaniment to vocals                                |
| `POST /suno/generate-persona` | Create a reusable voice identity from a completed song     |
| `POST /suno/vocal-removal`    | Split vocals and accompaniment or produce multitrack stems |
| `POST /suno/wav-generate`     | Export a completed song as WAV                             |
| `POST /suno/mp4-generate`     | Create a music video from a completed song                 |

## `/suno/upload-cover`

This is the core route for turning an existing song into an AI cover.

```bash
curl -X POST "https://gateway.api.anyint.ai/suno/upload-cover" \
  -H "Authorization: Bearer $ANYINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "uploadUrl": "https://your-storage.com/song.mp3",
    "customMode": true,
    "instrumental": false,
    "model": "V5",
    "title": "Cover Version",
    "style": "R&B, soul",
    "personaId": "your-persona-id",
    "callBackUrl": "https://your-domain.com/callback"
  }'
```

## Persona workflow

Create personas when you want a reusable vocal identity across multiple generation or cover tasks.

### `/suno/generate-persona`

```bash
curl -X POST "https://gateway.api.anyint.ai/suno/generate-persona" \
  -H "Authorization: Bearer $ANYINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "your-task-id",
    "audioId": "your-audio-id",
    "name": "Warm Female Voice A",
    "description": "Warm mid-low female vocal for emotional pop",
    "vocalStart": 10,
    "vocalEnd": 30
  }'
```

Notes:

* each `audioId` can create one persona
* persona extraction only supports `V4` and later
* the returned `personaId` can be reused in later `/suno/generate` and `/suno/upload-cover` calls

## Vocal and accompaniment transforms

### `/suno/add-vocals`

Use this route when you have an instrumental track and want AI vocals added on top.

### `/suno/add-instrumental`

Use this route when you have a vocal-only track and want accompaniment generated to match it.

## Stem splitting with `/suno/vocal-removal`

This route supports two modes:

* `separate_vocal`: two-track split for vocals and accompaniment
* `split_stem`: multitrack split for more detailed production workflows

```bash
curl -X POST "https://gateway.api.anyint.ai/suno/vocal-removal" \
  -H "Authorization: Bearer $ANYINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "your-task-id",
    "audioId": "your-audio-id",
    "type": "separate_vocal",
    "callBackUrl": "https://your-domain.com/callback"
  }'
```

In two-track mode, the callback returns `vocalUrl` and `instrumentalUrl`. In multitrack mode, the callback can return stem URLs such as drums, bass, guitar, keyboard, strings, synth, and backing vocals.

## Export routes

### `/suno/wav-generate`

Use this route to create a lossless WAV export from a completed music task.

### `/suno/mp4-generate`

Use this route to create a music video tied to a completed song task and `audioId`.
