> ## 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.

# Extend & Upload

> extend an existing song; uploadTask/uploadCover/uploadExtend for uploaded audio

All four operations share one entry point; the `{operation}` path segment selects the behavior:

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

## Authorizations

**Authorization** `string` *required*

Bearer Token. Get your API Key: [API Key management](https://toapis.com/console/token)

## extend — continue a song ($0.05, Max $0.10)

Continue generation from a timestamp of an existing task. `custom` defaults to `true` for extend.

**model** `string` *required*

Fixed `"suno"`

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

Source task ID

**continue\_at** `number` *required*

Resume point (seconds)

**audio\_index** `number`

Track index when the task has multiple tracks

**prompt** `string`

Continuation lyrics (custom mode)

**title** `string`

Title

**style** `string`

Style tags

**max\_mode** `boolean`

Max tier \$0.10

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

## uploadTask — register an upload (\$0.004)

Registers a public audio URL as a task. Its product is the required source for `sample`/`addVocals`/`addInstrumental`/`addStem`.

**model** `string` *required*

Fixed `"suno"`

**audioFilePath** `string` *required*

Publicly accessible audio URL

> [!WARNING]
>
> Send only `model` + `audioFilePath`; extra fields such as `version` are rejected upstream.

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

## uploadCover — upload + cover ($0.05, Max $0.10)

**model** `string` *required*

Fixed `"suno"`

**audio\_url** `string` *required*

Source audio URL

**custom** `boolean`

Custom lyrics mode

**prompt** `string`

Lyrics (custom=true) or description

**gpt\_description** `string`

Inspiration description (required when custom=false)

**style** `string`

Target style

**persona\_id** `string`

Vocal persona, mutually exclusive with `custom_model_id`

**max\_mode** `boolean`

Max tier

## uploadExtend — upload + extend ($0.05, Max $0.10)

Upload audio and continue it from a timestamp. Always treated as custom mode.

**model** `string` *required*

Fixed `"suno"`

**audio\_url** `string` *required*

Source audio URL

**continue\_at** `number` *required*

Resume point (seconds)

**prompt** `string`

Continuation lyrics

**style** `string`

Style

**max\_mode** `boolean`

Max tier

## Response

**task\_id** `string`

Task ID for status polling

**status** `string`

`submitted`


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