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

# Генерация музыки

> Генерация музыки Suno — режим вдохновения и кастомного текста, тариф Max

* Генерация полного трека по описанию или кастомному тексту(2 варианта за запрос)
* Асинхронная задача, опрос по ID
* `custom` определяет смысл `prompt`: кастомный текст vs описание

## Authorizations

**Authorization** `string` *required*

Bearer Token. API Key:[страница управления](https://toapis.com/console/token)

## Body

**model** `string` *required*

Фиксированное `"suno"`

**custom** `boolean`

Переключатель режима, по умолчанию `false`

* `false`: режим вдохновения — `gpt_description`(или `prompt`) описывает музыку
* `true`: кастомный текст — `prompt` это слова; работают `title`/`style`/`negative_tags`

**gpt\_description** `string`

Описание музыки в режиме вдохновения, например `"lo-fi для дождливого кафе"`. В кастомном режиме не нужно

**prompt** `string`

Текст песни в кастомном режиме(поддержка тегов `[Verse]`/`[Chorus]`)

**title** `string`

Название(кастомный режим)

**style** `string`

Теги стиля, например `"dreamy synthwave, female vocal"`

**negative\_tags** `string`

Чего избегать(кастомный режим)

**instrumental** `boolean`

Только инструментал

**version** `string`

Версия движка:`v6` / `v6-wild` / `v6-mini`

**max\_mode** `boolean`

Max-тариф(×2, \$0.10). Требуется `custom=true`

**persona\_id** `string`

ID вокальной персоны. Взаимоисключается с `custom_model_id`

**custom\_model\_id** `string`

ID кастомной модели. Взаимоисключается с `version` и `persona_id`

### Опциональные параметры тюнинга

`style_weight`, `weirdness`, `audio_weight`, `vocal_gender`, `auto_lyrics`, `variety` — опциональны, при пропуске применяются значения upstream.

## Response

**task\_id** `string`

ID задачи(префикс `tsk_aud_`); опрос через [статус задачи](https://docs.toapis.com/docs/ru/api-reference/tasks/music-status.md)

**status** `string`

`submitted` / `queued` / `in_progress`

По завершении `result.music[]` возвращает 2 варианта с `audio_url`, `image_url`, `title`, `tags`, `lyrics`, `duration`. Медиа зеркалируется на CDN.

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/music/generations/generation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "suno",
    "gpt_description": "lo-fi jazz for a rainy café",
    "instrumental": false,
    "version": "v6"
  }'
```

```python Python theme={null}
import requests

resp = requests.post(
    "https://toapis.com/v1/music/generations/generation",
    headers={"Authorization": "Bearer <token>"},
    json={
        "model": "suno",
        "custom": True,
        "prompt": "[Verse]\nNeon lights are glowing\n[Chorus]\nWe ride until the morning",
        "title": "Neon Ride",
        "style": "synthwave",
        "max_mode": True
    }
)
print(resp.json())
```

```javascript JavaScript theme={null}
const resp = await fetch("https://toapis.com/v1/music/generations/generation", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "suno",
    gpt_description: "dreamy synthwave with female vocals",
    version: "v6-wild"
  })
});
console.log(await resp.json());
```


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