Skip to main content
POST
Прежний эндпоинт POST /v1/music/generations/wav устарел. Он временно остаётся совместимым и эквивалентен новому API с formats: ["wav"]. В новом коде используйте POST /v1/music/generations/download.
Выбор исходной песни: передайте task_id задачи, создавшей исходное аудио, и выберите трек из music[] с помощью audio_index. Индекс начинается с 1, значение по умолчанию — 1.

Аутентификация

string
обязательно
Для всех API нужен Bearer Token. Получите ключ на странице API-ключей.

Параметры запроса

string
по умолчанию:"suno"
Название модели. Используйте suno; по умолчанию также suno.
string
обязательно
ID задачи, которая создала исходную песню.Исходная задача должна принадлежать текущему аккаунту, быть завершённой и содержать доступное для скачивания аудио. Подходят генерация музыки, продолжение, кавер и разделение на дорожки; текстовые задачи вроде создания текста или анализа BPM не подходят.
integer
по умолчанию:"1"
Номер трека в результате music[] исходной задачи.
  • Отсчёт с 1
  • По умолчанию: 1
  • Не больше числа треков в исходной задаче
string[]
Массив форматов, минимум один элемент.Значения: mp3, m4a, wav.Можно запросить несколько форматов. Регистр не учитывается, дубликаты удаляются автоматически, порядок результата совпадает с запросом.
string
Для одного формата можно использовать вместо formats.Пример: "format": "mp3"
Используйте formats или format. Если оба отсутствуют либо массив пуст, возвращается HTTP 400.

Ответ при отправке

При успехе возвращается новый task_id задачи скачивания.
data — массив; читайте data[0].task_id. Это ID новой задачи скачивания, а не исходный task_id песни из запроса.

Получение результата

Используйте ID задачи скачивания:
Обычно файлы готовы уже при отправке. Сразу выполните один запрос; если статус не completed и не failed, опрашивайте каждые 2 секунды не более 60 секунд.

Завершено

Файлы находятся в result.files[]:
result.wavUrl существует только для совместимости со старым WAV API. Новый код должен читать result.files[].

Обработка

Поля result пока нет. Продолжайте опрос.

Ошибка

Неуспешные задачи автоматически возмещаются и возвращают cost: 0. Покажите error.message и предложите повторить.

URL файлов

Обычно используется файловый домен APIMart. Если перенос в хранилище не удался, может вернуться URL CDN поставщика без гарантированного срока действия.
Скачайте и сохраните файл как можно скорее. Не используйте временный URL для долговременного хранения.

Ошибки

Ошибки проверки возвращают HTTP 400 до создания задачи и оплаты. HTTP 403 с model_price_not_configured означает, что цена suno@download не настроена; обратитесь в поддержку.

Оплата и повторные скачивания

  • Один запрос с несколькими форматами оплачивается один раз
  • Повторная отправка той же песни оплачивается снова, даже для того же формата
  • Запрос другого формата новой задачей также оплачивается
  • Неуспешные задачи возмещаются автоматически
Повторно используйте уже полученные URL и блокируйте кнопку скачивания во время запроса, чтобы избежать дублей и лишних списаний.

Переход со старого API

Старый API временно доступен, но новый код должен использовать /generations/download.

Response

integer
Код ответа; при успехе 200
array
Данные ответа при отправке