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

# Монтаж и преобразование

> crop/removeSection/fadeIn/fadeOut/adjustSpeed/replaceMusic/sample/mashup/concat/coverSong/remaster

Операции монтажа работают с существующей задачей как источником:

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

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>
<ParamField body="task_id" type="string" required>ID исходной задачи(`tsk_aud_`)</ParamField>
<ParamField body="audio_index" type="number">Номер трека</ParamField>

## Покадровый монтаж(по \$0.008)

| operation | Описание | Обязательные поля |
| - | - | - |
| `crop` | Сохранить фрагмент | `start_s`, `end_s` |
| `removeSection` | Удалить фрагмент | `start_s`, `end_s` |

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

## Фейды(по \$0.008)

| operation | Описание | Обязательные поля |
| - | - | - |
| `fadeIn` | Фейд в начале | `duration_s` |
| `fadeOut` | Фейд в конце | `duration_s` |

## adjustSpeed — темп(\$0.024)

<ParamField body="speed" type="number" required>Коэффициент скорости, например `0.8` / `1.25`</ParamField>
<ParamField body="keep_pitch" type="boolean">Сохранять тон при смене скорости</ParamField>

## Перезапись и ремастеринг

### replaceMusic — перезапись фрагмента($0.05, Max $0.10)

<ParamField body="start_s" type="number" required>Начало(сек)</ParamField>
<ParamField body="end_s" type="number" required>Конец(сек)</ParamField>
<ParamField body="infill_lyrics" type="string">Новый текст фрагмента</ParamField>
<ParamField body="max_mode" type="boolean">Max-тариф(поля `custom` нет, применяется сразу)</ParamField>

### sample — ресемплинг($0.05, Max $0.10)

<Warning>`task_id` должен быть продуктом `uploadTask`; другие источники отклоняются.</Warning>

<ParamField body="start_s" type="number" required>Начало сэмпла(сек)</ParamField>
<ParamField body="end_s" type="number" required>Конец сэмпла(сек)</ParamField>
<ParamField body="gpt_description" type="string">Описание ремикса(обязательно при custom=false)</ParamField>

### coverSong — кавер($0.05, Max $0.10)

<ParamField body="gpt_description" type="string">Описание стиля(обязательно при custom=false)</ParamField>

<ParamField body="custom" type="boolean" />

<ParamField body="prompt" type="string">Слова при custom=true</ParamField>
<ParamField body="style" type="string">Целевой стиль</ParamField>

### remaster — ремастеринг(\$0.05)

<ParamField body="variation_category" type="string">Направление ремастеринга(опционально)</ParamField>

### mashup — мэшап($0.05, Max $0.10)

<ParamField body="task_ids" type="array" required>Ровно 2 ID исходных задач</ParamField>
<ParamField body="audio_indexes" type="array">Номер трека в каждом источнике</ParamField>
<ParamField body="gpt_description" type="string">Описание мэшапа(обязательно при custom=false)</ParamField>

```bash theme={null}
curl --request POST \
  --url https://toapis.com/v1/music/generations/mashup \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"model":"suno","task_ids":["tsk_aud_aaa","tsk_aud_bbb"],"gpt_description":"blend into seamless lo-fi"}'
```

### concat — склейка(\$0.004)

Склеивает сегменты `extend` в целый трек.

<ParamField body="task_id" type="string" required>ID задачи `extend`</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.