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

# Stems & Add Tracks

> stems/stemsAll separation; addStem/addVocals/addInstrumental track generation

```
POST https://toapis.com/v1/music/generations/{operation}
```

**model** `string` *required*

Fixed `"suno"`

**task\_id** `string` *required*

Source task ID

**audio\_index** `number`

Source track index

## Stem separation

| operation | Description | Price |
| - | - | - |
| `stems` | Vocal / instrumental split | \$0.10 |
| `stemsAll` | Full per-instrument separation | \$0.24 |

Each stem is returned as an `audio_url` in `result.music[]`, mirrored to our CDN.

```bash theme={null}
curl --request POST \
  --url https://toapis.com/v1/music/generations/stemsAll \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"model":"suno","task_id":"tsk_aud_xxx"}'
```

## Add tracks ($0.05 each, Max $0.10)

> [!WARNING]
>
> `task_id` for `addVocals`/`addInstrumental`/`addStem` must be an `uploadTask` product.

| operation | Description |
| - | - |
| `addVocals` | Generate vocals on an upload |
| `addInstrumental` | Generate backing on an upload |
| `addStem` | Add one instrument track |

**gpt\_description** `string`

Target description (required when custom=false)

**custom** `boolean`

**prompt** `string`

Lyrics when custom=true

**max\_mode** `boolean`

Max tier

```bash theme={null}
curl --request POST \
  --url https://toapis.com/v1/music/generations/addVocals \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"model":"suno","task_id":"tsk_aud_upload_task","gpt_description":"add dreamy female vocals"}'
```

## Response

**task\_id** `string`

New task ID

**status** `string`

`submitted`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.