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

# Операции с ассетами

> persona вокальная персона, createVoice клонирование, createModel обучение, vox(устар.)

Ассетные операции производят ID upstream-ассетов(`persona_id` / `voice_id` / `model_id`), пригодные для повторного использования.

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

<ParamField body="model" type="string" required>Фиксированное `"suno"`</ParamField>

## persona — вокальная персона(\$0.004)

Извлекает персону из существующего трека; полученный `persona_id` используется в `generation` и др.

<ParamField body="task_id" type="string" required>ID исходной задачи</ParamField>
<ParamField body="name" type="string" required>Имя персоны</ParamField>
<ParamField body="describe" type="string">Описание(опционально)</ParamField>

## createVoice — клонирование голоса(\$0.016)

<ParamField body="audio_url" type="string" required>URL аудио — <b>только чистый вокал</b>; полный микс upstream отклонит</ParamField>
<ParamField body="name" type="string">Имя голоса</ParamField>

## createModel — обучение кастомной модели(\$0.96)

Обучение на 6-24 треках. Полученный `custom_model_id` передаётся в `generation`(при этом опускайте `version` и `persona_id`).

<ParamField body="name" type="string" required>Имя модели</ParamField>
<ParamField body="audio_urls" type="array" required>6-24 публичных URL аудио</ParamField>

```bash theme={null}
curl --request POST \
  --url https://toapis.com/v1/music/generations/createModel \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"model":"suno","name":"my-voice-model","audio_urls":["https://.../a.mp3","https://.../b.mp3","..."]}'
```

## vox — извлечение вокала(\$0.004, устар.)

<ParamField body="task_id" type="string" required>ID исходной задачи</ParamField>
<ParamField body="vocal_start_s" type="number">Начало вокального фрагмента(сек, опц.)</ParamField>
<ParamField body="vocal_end_s" type="number">Конец вокального фрагмента(сек, опц.)</ParamField>
<ParamField body="styles" type="string">Стиль(опционально)</ParamField>

<Tip>Устарело — upstream рекомендует `persona`.</Tip>

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