CyHUB
EnglishПолучить ключ

Suno V6 API

Песни и звуки Suno V6 с нуля по описанию или со своим текстом: за один запуск два варианта трека в MP3. По вашему аудио: добавить вокал или музыку, кавер, продолжение, замена куска, ремикс двух треков. Есть ещё версии V6 Mini и V6 Wild.

Разработчик: SunoКлюч модели в API: suno

Для нейросети:Скачать .mdВся документация .mdОткрыть как текст

Подключение в три шага

  1. Получите ключКлюч создаётся в кабинете после подтверждения почты. Один ключ открывает все модели.
  2. Узнайте ценуPOST /v1/price считает стоимость запуска заранее, деньги при этом не списываются.
  3. Запустите задачу и заберите результатPOST /v1/tasks ставит задачу, GET /v1/tasks/{id} показывает её статус и файлы.

Готовый код

Замените YOUR_API_KEY своим ключом. Код ставит задачу и ждёт результата. В cURL второй запрос повторяйте, подставив вместо TASK_ID поле id из ответа первого, пока status не станет succeeded.

cURL
curl -X POST "https://api.cyhub.ai/v1/tasks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "suno",
  "settings": {
    "mode": "generate",
    "model": "V6",
    "customMode": false,
    "songDescription": "Лёгкая летняя песня о дороге к морю, акустическая гитара, женский вокал"
  }
}'

curl "https://api.cyhub.ai/v1/tasks/TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import time

import requests

API = "https://api.cyhub.ai/v1"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

body = {
    "model": "suno",
    "settings": {
        "mode": "generate",
        "model": "V6",
        "customMode": False,
        "songDescription": "Лёгкая летняя песня о дороге к морю, акустическая гитара, женский вокал",
    },
}

response = requests.post(f"{API}/tasks", json=body, headers=HEADERS, timeout=60)
response.raise_for_status()
task = response.json()
while task["status"] in ("queued", "running"):
    time.sleep(5)
    task = requests.get(f"{API}/tasks/{task['id']}", headers=HEADERS, timeout=30).json()
print(task["status"], task["result"])
Node.js
const API = "https://api.cyhub.ai/v1";
const HEADERS = { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const body = {
  "model": "suno",
  "settings": {
    "mode": "generate",
    "model": "V6",
    "customMode": false,
    "songDescription": "Лёгкая летняя песня о дороге к морю, акустическая гитара, женский вокал"
  }
};

async function main() {
  let response = await fetch(`${API}/tasks`, { method: "POST", headers: HEADERS, body: JSON.stringify(body) });
  if (!response.ok) throw new Error(await response.text());
  let task = await response.json();
  while (task.status === "queued" || task.status === "running") {
    await new Promise((resolve) => setTimeout(resolve, 5000));
    response = await fetch(`${API}/tasks/${task.id}`, { headers: HEADERS });
    task = await response.json();
  }
  console.log(task.status, task.result);
}

main();
Получить ключ

Цена до запуска

Цены на 15.10.2026: от 3 ₽. Точную цену своих настроек покажет POST /v1/price.

РежимЦена
Песня с нуляот 12 ₽
V6 model = V6от 12 ₽
V6 Mini model = V6_MINIот 12 ₽
V6 Wild model = V6_WILDот 12 ₽
Звук или фонот 3 ₽
V6 model = V6от 3 ₽
V6 Mini model = V6_MINIот 3 ₽
V6 Wild model = V6_WILDот 3 ₽
Добавить вокал с файлом на 1 сот 12 ₽
V6 model = V6, с файлом на 1 сот 12 ₽
V6 Mini model = V6_MINI, с файлом на 1 сот 12 ₽
V6 Wild model = V6_WILD, с файлом на 1 сот 12 ₽
Добавить инструментал с файлом на 1 сот 12 ₽
V6 model = V6, с файлом на 1 сот 12 ₽
V6 Mini model = V6_MINI, с файлом на 1 сот 12 ₽
V6 Wild model = V6_WILD, с файлом на 1 сот 12 ₽
Кавер вашего аудио с файлом на 1 сот 12 ₽
V6 model = V6, с файлом на 1 сот 12 ₽
V6 Mini model = V6_MINI, с файлом на 1 сот 12 ₽
V6 Wild model = V6_WILD, с файлом на 1 сот 12 ₽
Продолжение вашего аудио с файлом на 90 сот 12 ₽
V6 model = V6, с файлом на 90 сот 12 ₽
V6 Mini model = V6_MINI, с файлом на 90 сот 12 ₽
V6 Wild model = V6_WILD, с файлом на 90 сот 12 ₽
Переписать кусок вашего аудио с файлом на 60 сот 5 ₽
V6 model = V6, с файлом на 60 сот 5 ₽
V6 Mini model = V6_MINI, с файлом на 60 сот 5 ₽
V6 Wild model = V6_WILD, с файлом на 60 сот 5 ₽
Ремикс из двух треков с файлом на 1 сот 12 ₽
V6 model = V6, с файлом на 1 сот 12 ₽
V6 Mini model = V6_MINI, с файлом на 1 сот 12 ₽
V6 Wild model = V6_WILD, с файлом на 1 сот 12 ₽

Отправьте те же настройки в POST /v1/price: ответ покажет цену запуска, деньги при этом не списываются.

cURL
curl -X POST "https://api.cyhub.ai/v1/price" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "suno",
  "settings": {
    "mode": "generate",
    "model": "V6",
    "customMode": false,
    "songDescription": "Лёгкая летняя песня о дороге к морю, акустическая гитара, женский вокал"
  }
}'
  • amount_minor: цена запуска в копейках (для рублей)
  • currency: валюта кошелька
  • available_minor: сколько сейчас доступно на балансе для новых задач

Режимы

У каждого режима свои параметры и примеры. Режим выбирает поле mode.

Песня с нуля

Песня по короткому описанию или со своим текстом, стилем и названием.

Значение поля mode: generate

Цена в этом режиме от 12 ₽.

Параметры

Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

modelНеобязательно

Версия модели.

Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
customModeНеобязательно

Расширенный режим: свой текст песни, стиль, название и длительность. Выключен: достаточно описания песни.

Тип: Да/нетПо умолчанию: false
songDescriptionНеобязательно

Описание песни для простого режима: о чём она, настроение, жанр. Обязательно, когда customMode выключен.

Тип: СтрокаМаксимум символов: 3000
titleНеобязательно

Название песни. Обязательно в расширенном режиме, в простом не задаётся.

Тип: СтрокаМаксимум символов: 80
styleНеобязательно

Стиль и жанр словами. Обязательно в расширенном режиме, в простом не задаётся.

Тип: СтрокаМаксимум символов: 1000
promptНеобязательно

Текст песни для расширенного режима. Обязателен, если песня не инструментальная. В простом режиме не задаётся: там песню задаёт описание.

Тип: СтрокаМаксимум символов: 5000
instrumentalНеобязательно

Без вокала.

Тип: Да/нетПо умолчанию: false
vocalGenderНеобязательно

Голос исполнителя, только в расширенном режиме.

Тип: СтрокаДопустимые значения: mfПо умолчанию: "m"
durationНеобязательно

Длительность в секундах, только в расширенном режиме.

Тип: Целое числоМинимум: 10Максимум: 360По умолчанию: 20
styleWeightНеобязательно

Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых. Только в расширенном режиме.

Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
weirdnessConstraintНеобязательно

Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых. Только в расширенном режиме.

Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
audioWeightНеобязательно

Вес звуковых особенностей в результате: 0 слабо, 1 сильно, не точнее сотых.

Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

Входные данные

  • Простой режим: описание песни, остальное придумает модель. Название, стиль и текст песни в нём не задаются.
  • Расширенный режим: название и стиль обязательны, текст песни обязателен, если она не инструментальная.
  • Голос, длительность, вес стиля и необычность действуют только в расширенном режиме: в простом они не отправляются.

Пример запроса

Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

Песня по описанию

JSON
{
  "model": "suno",
  "settings": {
    "mode": "generate",
    "model": "V6",
    "customMode": false,
    "songDescription": "Лёгкая летняя песня о дороге к морю, акустическая гитара, женский вокал"
  }
}

Песня со своим текстом

JSON
{
  "model": "suno",
  "settings": {
    "mode": "generate",
    "model": "V6",
    "customMode": true,
    "title": "Дорога к морю",
    "style": "акустический поп, лето",
    "prompt": "Куплет 1: ...\nПрипев: ...",
    "instrumental": false,
    "vocalGender": "f",
    "duration": 120
  }
}

Цена считается при приёме задачи, валюта RUB.

Полный пример запуска

Результат

  • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
  • Песня создаётся от 5 до 10 минут, звук около минуты.
Вид (kind)ФорматыСколькоПояснение
audiomp32Две версии трека.

result.texts: Название и слова песни, если они есть.

Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

JSON
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "status": "succeeded",
  "finished_at": "2026-10-01T12:03:41+00:00",
  "result": {
    "caption": "Подпись к результату: модель и настройки",
    "texts": [
      "Текст результата, например слова песни"
    ],
    "files_expire_at": "2026-10-08T12:03:41+00:00",
    "files_expired": false,
    "artifacts": [
      {
        "index": 0,
        "kind": "audio",
        "filename": "audio.mp3",
        "size": 4194304,
        "caption": "",
        "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
      },
      {
        "index": 1,
        "kind": "audio",
        "filename": "audio.mp3",
        "size": 4194304,
        "caption": "",
        "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
      }
    ]
  }
}
Как читать результат и скачивать файлы

Звук или фон

Не песня, а звук: шум дождя, гул города, эффект для игры. Можно зациклить, задать темп и тональность.

Значение поля mode: sounds

Цена в этом режиме от 3 ₽.

Параметры

Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

modelНеобязательно

Версия модели.

Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
soundDescriptionОбязательно

Что должно звучать, например шум дождя по крыше или шаги по снегу. Слов в звуке не будет.

Тип: СтрокаМинимум символов: 1Максимум символов: 500
soundLoopНеобязательно

Свести звук так, чтобы конец без щелчка переходил в начало: для фона, который играет по кругу.

Тип: Да/нетПо умолчанию: false
soundTempoНеобязательно

Темп в ударах в минуту. Не задан: темп выберет модель.

Тип: Целое числоМинимум: 1Максимум: 300
soundKeyНеобязательно

Тональность: буква это мажор, буква с m это минор (Am это ля минор). Пустая строка: любая.

Тип: СтрокаДопустимые значения: CC#DD#EFF#GG#AA#BCmC#mDmD#mEmFmF#mGmG#mAmA#mBmПо умолчанию: ""

Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

Входные данные

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Фон для ролика

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "sounds",
        "soundDescription": "Шум дождя по жестяной крыше, далёкие раскаты грома",
        "soundLoop": true
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Добавить вокал

    Вокал поверх вашей музыки без голоса: модель споёт ваш текст в заданном стиле.

    Значение поля mode: add_vocals

    Цена в этом режиме от 12 ₽, с файлом на 1 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Одна ссылка на вашу музыку без вокала.

    Тип: Список (Строка, uri)Максимум элементов: 1
    titleОбязательно

    Название трека. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 80
    styleОбязательно

    Стиль и жанр словами. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 1000
    promptОбязательно

    Слова, которые споёт вокал.

    Тип: СтрокаМинимум символов: 1Максимум символов: 5000
    negativeTagsОбязательно

    Каких стилей в результате быть не должно, через запятую. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 500
    vocalGenderНеобязательно

    Пол вокалиста: m мужской, f женский. Только повышает вероятность, не гарантирует. Не задан: решает модель.

    Тип: СтрокаДопустимые значения: mfПо умолчанию: ""
    styleWeightНеобязательно

    Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    weirdnessConstraintНеобязательно

    Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    audioWeightНеобязательно

    Насколько результат держится звучания исходника: 0 слабо, 1 сильно, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Вокал на свою музыку

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "add_vocals",
        "audio": [
          "https://example.com/my-instrumental.mp3"
        ],
        "title": "Ночной город",
        "style": "синти-поп, мягкий женский вокал",
        "prompt": "Куплет 1: ...\nПрипев: ...",
        "negativeTags": "хеви-метал, рэп"
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Добавить инструментал

    Музыка под ваш вокал, записанный без аккомпанемента.

    Значение поля mode: add_instrumental

    Цена в этом режиме от 12 ₽, с файлом на 1 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Одна ссылка на ваш вокал без музыки.

    Тип: Список (Строка, uri)Максимум элементов: 1
    titleОбязательно

    Название трека. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 80
    tagsОбязательно

    Стиль музыки словами: жанр, инструменты, настроение. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 500
    negativeTagsОбязательно

    Каких стилей в результате быть не должно, через запятую. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 500
    vocalGenderНеобязательно

    Пол вокалиста: m мужской, f женский. Только повышает вероятность, не гарантирует. Не задан: решает модель.

    Тип: СтрокаДопустимые значения: mfПо умолчанию: ""
    styleWeightНеобязательно

    Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    weirdnessConstraintНеобязательно

    Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    audioWeightНеобязательно

    Насколько результат держится звучания исходника: 0 слабо, 1 сильно, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Музыка под свой голос

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "add_instrumental",
        "audio": [
          "https://example.com/my-vocals.mp3"
        ],
        "title": "Колыбельная",
        "tags": "нежное фортепиано, струнные",
        "negativeTags": "барабаны, электроника"
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Кавер вашего аудио

    Мелодия вашего трека остаётся, стиль меняется. Как у песни с нуля: по описанию или со своим текстом, стилем и названием.

    Значение поля mode: cover_upload

    Цена в этом режиме от 12 ₽, с файлом на 1 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Одна ссылка на ваш трек.

    Тип: Список (Строка, uri)Максимум элементов: 1
    customModeНеобязательно

    Расширенный режим: свой текст песни, стиль, название и длительность. Выключен: достаточно описания песни.

    Тип: Да/нетПо умолчанию: false
    songDescriptionНеобязательно

    Описание песни для простого режима: о чём она, настроение, жанр. Обязательно, когда customMode выключен.

    Тип: СтрокаМаксимум символов: 3000
    titleНеобязательно

    Название песни. Обязательно в расширенном режиме, в простом не задаётся.

    Тип: СтрокаМаксимум символов: 80
    styleНеобязательно

    Стиль и жанр словами. Обязательно в расширенном режиме, в простом не задаётся.

    Тип: СтрокаМаксимум символов: 1000
    promptНеобязательно

    Текст песни для расширенного режима. Обязателен, если песня не инструментальная. В простом режиме не задаётся: там песню задаёт описание.

    Тип: СтрокаМаксимум символов: 5000
    instrumentalНеобязательно

    Без вокала.

    Тип: Да/нетПо умолчанию: false
    negativeTagsНеобязательно

    Каких стилей в результате быть не должно, через запятую. Только в расширенном режиме.

    Тип: СтрокаМаксимум символов: 500
    durationНеобязательно

    Длительность в секундах, только в расширенном режиме.

    Тип: Целое числоМинимум: 10Максимум: 360По умолчанию: 20
    styleWeightНеобязательно

    Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых. Только в расширенном режиме.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    weirdnessConstraintНеобязательно

    Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых. Только в расширенном режиме.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    audioWeightНеобязательно

    Насколько результат держится звучания исходника: 0 слабо, 1 сильно, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    • Трек не длиннее 8 минут.
    • Простой режим: описание песни, остальное придумает модель. Название, стиль и текст песни в нём не задаются.
    • Расширенный режим: название и стиль обязательны, текст песни обязателен, если она не инструментальная.
    • Длительность, вес стиля и необычность действуют только в расширенном режиме: в простом они не отправляются.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Кавер в другом стиле

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "cover_upload",
        "audio": [
          "https://example.com/my-song.mp3"
        ],
        "customMode": false,
        "songDescription": "Та же мелодия в стиле лёгкого джаза, женский вокал"
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Продолжение вашего аудио

    Трек продолжается с нужной секунды. Секунда продолжения обязательна, стиль и название по желанию: без них продолжение держится звучания самого трека.

    Значение поля mode: extend

    Цена в этом режиме от 12 ₽, с файлом на 90 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Одна ссылка на ваш трек.

    Тип: Список (Строка, uri)Максимум элементов: 1
    titleНеобязательно

    Название трека. По желанию.

    Тип: СтрокаМаксимум символов: 100
    styleНеобязательно

    Стиль и жанр словами. По желанию.

    Тип: СтрокаМаксимум символов: 1000
    promptНеобязательно

    Слова продолжения. Обязательны, если продолжение не инструментальное.

    Тип: СтрокаМаксимум символов: 5000
    instrumentalНеобязательно

    Продолжение без вокала.

    Тип: Да/нетПо умолчанию: false
    continueAtОбязательно

    С какой секунды трека начать продолжение. Раньше конца файла.

    Тип: ЧислоМинимум: 1Максимум: 480
    negativeTagsНеобязательно

    Каких стилей в результате быть не должно, через запятую.

    Тип: СтрокаМаксимум символов: 500
    vocalGenderНеобязательно

    Пол вокалиста: m мужской, f женский. Только повышает вероятность, не гарантирует. Не задан: решает модель.

    Тип: СтрокаДопустимые значения: mfПо умолчанию: ""
    styleWeightНеобязательно

    Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    weirdnessConstraintНеобязательно

    Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    audioWeightНеобязательно

    Насколько результат держится звучания исходника: 0 слабо, 1 сильно, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Эти настройки API задаёт сам, передавать их не нужно: defaultParamFlag = true

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    • Трек не длиннее 8 минут.
    • Секунда продолжения раньше конца трека.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Продолжить свой трек

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "extend",
        "audio": [
          "https://example.com/my-song.mp3"
        ],
        "title": "Дорога к морю",
        "style": "акустический поп, лето",
        "prompt": "Куплет 3: ...\nПрипев: ...",
        "continueAt": 60
      }
    }

    Продолжить без слов, в звучании трека

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "extend",
        "audio": [
          "https://example.com/my-song.mp3"
        ],
        "instrumental": true,
        "continueAt": 90
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Переписать кусок вашего аудио

    Переписывается только выбранный отрезок трека, остальное остаётся и сшивается с новым куском.

    Значение поля mode: replace_upload

    Цена в этом режиме от 5 ₽, с файлом на 60 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Одна ссылка на ваш трек.

    Тип: Список (Строка, uri)Максимум элементов: 1
    infillStartSОбязательно

    Начало куска в секундах, не точнее сотых, например 45.25.

    Тип: ЧислоМинимум: 0
    infillEndSОбязательно

    Конец куска в секундах, не точнее сотых. Кусок не короче 10 секунд и не длиннее половины трека.

    Тип: ЧислоМинимум: 0
    promptОбязательно

    Новые слова для этого куска.

    Тип: СтрокаМинимум символов: 1Максимум символов: 5000
    fullLyricsОбязательно

    Слова всей песни целиком, уже с поправленным куском. Если слов нет, опишите по порядку, что звучит.

    Тип: СтрокаМинимум символов: 1Максимум символов: 5000
    tagsОбязательно

    Стиль нового куска словами. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 500
    titleОбязательно

    Название трека. Обязательно.

    Тип: СтрокаМинимум символов: 1Максимум символов: 80
    negativeTagsНеобязательно

    Каких стилей в результате быть не должно, через запятую.

    Тип: СтрокаМаксимум символов: 500

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    • Кусок не короче 10 секунд и не длиннее половины трека.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Новый припев

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "replace_upload",
        "audio": [
          "https://example.com/my-song.mp3"
        ],
        "infillStartS": 45,
        "infillEndS": 70,
        "prompt": "Новый припев: ...",
        "fullLyrics": "Куплет 1: ...\nНовый припев: ...\nКуплет 2: ...",
        "tags": "поп-рок, энергично",
        "title": "Дорога к морю"
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Ремикс из двух треков

    Два ваших трека сводятся в один, первый задаёт основу. По описанию или со своим текстом, стилем и названием.

    Значение поля mode: mashup

    Цена в этом режиме от 12 ₽, с файлом на 1 с.

    Параметры

    Параметры модели передаются внутри settings. Пропущенные необязательные поля берут значение по умолчанию.

    modelНеобязательно

    Версия модели.

    Тип: СтрокаДопустимые значения: V6V6_MINIV6_WILDПо умолчанию: "V6"
    audioОбязательно

    Ссылка на первый трек: он задаёт основу.

    Тип: Список (Строка, uri)Максимум элементов: 1
    audio2Обязательно

    Ссылка на второй трек.

    Тип: Список (Строка, uri)Максимум элементов: 1
    customModeНеобязательно

    Расширенный режим: свой текст песни, стиль, название и длительность. Выключен: достаточно описания песни.

    Тип: Да/нетПо умолчанию: false
    songDescriptionНеобязательно

    Описание песни для простого режима: о чём она, настроение, жанр. Обязательно, когда customMode выключен.

    Тип: СтрокаМаксимум символов: 3000
    titleНеобязательно

    Название песни. Обязательно в расширенном режиме, в простом не задаётся.

    Тип: СтрокаМаксимум символов: 80
    styleНеобязательно

    Стиль и жанр словами. Обязательно в расширенном режиме, в простом не задаётся.

    Тип: СтрокаМаксимум символов: 1000
    promptНеобязательно

    Текст песни для расширенного режима, по желанию. В простом режиме не задаётся: там песню задаёт описание.

    Тип: СтрокаМаксимум символов: 5000
    instrumentalНеобязательно

    Без вокала.

    Тип: Да/нетПо умолчанию: false
    durationНеобязательно

    Длительность в секундах, только в расширенном режиме.

    Тип: Целое числоМинимум: 10Максимум: 360По умолчанию: 20
    styleWeightНеобязательно

    Насколько строго держаться заданного стиля: 0 свободно, 1 строго, не точнее сотых. Только в расширенном режиме.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    weirdnessConstraintНеобязательно

    Насколько смелым выйдет результат: 0 предсказуемо, 1 экспериментально, не точнее сотых. Только в расширенном режиме.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65
    audioWeightНеобязательно

    Насколько результат держится звучания исходника: 0 слабо, 1 сильно, не точнее сотых.

    Тип: ЧислоМинимум: 0Максимум: 1По умолчанию: 0.65

    Параметры, которых нет в списке, не принимаются: ответ 422 unknown_setting.

    Входные данные

    • Аудио передаётся ссылкой на MP3, WAV, OGG, M4A, FLAC или AAC до 20 МБ.
    • Только своё аудио: известные чужие песни Suno узнаёт и отказывается обрабатывать.
    • Простой режим: описание песни, остальное придумает модель. Название, стиль и текст песни в нём не задаются.
    • Расширенный режим: название и стиль обязательны, текст песни по желанию.
    • Длительность, вес стиля и необычность действуют только в расширенном режиме: в простом они не отправляются.
    ПолеЧто принимаетФорматыФайловРазмер файла до
    audioАудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    audio2Аудиоmp3, wav, ogg, m4a, flac, aac120 МБ
    Как передать файлы

    Пример запроса

    Отправьте этот JSON в POST /v1/tasks с ключом API. Чтобы узнать цену заранее, тот же JSON можно отправить в POST /v1/price.

    Ремикс по описанию

    JSON
    {
      "model": "suno",
      "settings": {
        "mode": "mashup",
        "audio": [
          "https://example.com/track-1.mp3"
        ],
        "audio2": [
          "https://example.com/track-2.mp3"
        ],
        "customMode": false,
        "songDescription": "Танцевальный ремикс, быстрый темп, яркий припев"
      }
    }

    Цена считается при приёме задачи, валюта RUB.

    Полный пример запуска

    Результат

    • За один запуск две версии трека в MP3, а текстом название и слова, если они есть.
    • Песня создаётся от 5 до 10 минут, звук около минуты.
    Вид (kind)ФорматыСколькоПояснение
    audiomp32Две версии трека.

    result.texts: Название и слова песни, если они есть.

    Так выглядит готовая задача в ответе GET /v1/tasks/{id} (часть полей опущена). Подпись caption бывает у задачи или у отдельного файла и может быть пустой, имя файла задаёт модель.

    JSON
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "status": "succeeded",
      "finished_at": "2026-10-01T12:03:41+00:00",
      "result": {
        "caption": "Подпись к результату: модель и настройки",
        "texts": [
          "Текст результата, например слова песни"
        ],
        "files_expire_at": "2026-10-08T12:03:41+00:00",
        "files_expired": false,
        "artifacts": [
          {
            "index": 0,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/0"
          },
          {
            "index": 1,
            "kind": "audio",
            "filename": "audio.mp3",
            "size": 4194304,
            "caption": "",
            "download_path": "/v1/tasks/7c9e6679-7425-40de-944b-e07fc1f90ae7/artifacts/1"
          }
        ]
      }
    }
    Как читать результат и скачивать файлы

    Смотрите также

    Попробуйте Suno V6 через API

    Один ключ открывает все модели CyHUB. Оплата в рублях, цену видно до запуска.

    Получить ключ API