> ## 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 продление; uploadTask/uploadCover/uploadExtend для загруженного аудио

Четыре операции делят один endpoint — `{operation}` выбирает поведение:

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

## Authorizations

<ParamField header="Authorization" type="string" required>
  Bearer Token. API Key:[страница управления](https://toapis.com/console/token)
</ParamField>

## extend — продление трека($0.05, Max $0.10)

Продолжает генерацию с метки времени существующей задачи. `custom` по умолчанию `true`.

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>
<ParamField body="task_id" type="string" required>ID исходной задачи</ParamField>
<ParamField body="continue_at" type="number" required>Точка продолжения(сек)</ParamField>
<ParamField body="audio_index" type="number">Номер трека</ParamField>
<ParamField body="prompt" type="string">Текст продолжения(custom)</ParamField>
<ParamField body="title" type="string">Название</ParamField>
<ParamField body="style" type="string">Теги стиля</ParamField>
<ParamField body="max_mode" type="boolean">Max-тариф \$0.10</ParamField>

```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 — регистрация загрузки(\$0.004)

Регистрирует публичный аудио-URL как задачу. Продукт — **обязательный источник** для `sample`/`addVocals`/`addInstrumental`/`addStem`.

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>
<ParamField body="audioFilePath" type="string" required>Публично доступный URL аудио</ParamField>

<Warning>Отправляйте только `model` + `audioFilePath`; лишние поля вроде `version` upstream отклоняет.</Warning>

```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 — загрузка + кавер($0.05, Max $0.10)

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>
<ParamField body="audio_url" type="string" required>URL исходного аудио</ParamField>
<ParamField body="custom" type="boolean">Режим кастомного текста</ParamField>
<ParamField body="prompt" type="string">Слова(custom=true) или описание</ParamField>
<ParamField body="gpt_description" type="string">Описание(обязательно при custom=false)</ParamField>
<ParamField body="style" type="string">Целевой стиль</ParamField>
<ParamField body="persona_id" type="string">Персона, взаимоисключается с `custom_model_id`</ParamField>
<ParamField body="max_mode" type="boolean">Max-тариф</ParamField>

## uploadExtend — загрузка + продление($0.05, Max $0.10)

Загружает аудио и продолжает с метки времени. Всегда в кастомном режиме.

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>
<ParamField body="audio_url" type="string" required>URL исходного аудио</ParamField>
<ParamField body="continue_at" type="number" required>Точка продолжения(сек)</ParamField>
<ParamField body="prompt" type="string">Текст продолжения</ParamField>
<ParamField body="style" type="string">Стиль</ParamField>
<ParamField body="max_mode" type="boolean">Max-тариф</ParamField>

## Response

<ResponseField name="task_id" type="string">ID задачи для опроса</ResponseField>
<ResponseField name="status" type="string">`submitted`</ResponseField>


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