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

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

## Body

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

<ParamField body="custom" type="boolean">
  Переключатель режима, по умолчанию `false`

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

<ParamField body="gpt_description" type="string">
  Описание музыки в режиме вдохновения, например `"lo-fi для дождливого кафе"`. В кастомном режиме не нужно
</ParamField>

<ParamField body="prompt" type="string">
  Текст песни в кастомном режиме(поддержка тегов `[Verse]`/`[Chorus]`)
</ParamField>

<ParamField body="title" type="string">Название(кастомный режим)</ParamField>
<ParamField body="style" type="string">Теги стиля, например `"dreamy synthwave, female vocal"`</ParamField>
<ParamField body="negative_tags" type="string">Чего избегать(кастомный режим)</ParamField>
<ParamField body="instrumental" type="boolean">Только инструментал</ParamField>
<ParamField body="version" type="string">Версия движка:`v6` / `v6-wild` / `v6-mini`</ParamField>
<ParamField body="max_mode" type="boolean">Max-тариф(×2, \$0.10). Требуется `custom=true`</ParamField>
<ParamField body="persona_id" type="string">ID вокальной персоны. Взаимоисключается с `custom_model_id`</ParamField>
<ParamField body="custom_model_id" type="string">ID кастомной модели. Взаимоисключается с `version` и `persona_id`</ParamField>

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

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

## Response

<ResponseField name="task_id" type="string">
  ID задачи(префикс `tsk_aud_`); опрос через [статус задачи](/docs/ru/api-reference/tasks/music-status)
</ResponseField>

<ResponseField name="status" type="string">`submitted` / `queued` / `in_progress`</ResponseField>

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

<RequestExample>
  ```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());
  ```
</RequestExample>


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