Skip to main content
GET
Общие правила Suno V6 и получение задач
Все API Suno для генерации, редактирования и инструментов используют асинхронные задачи: отправьте операцию, получите task_id и запросите результат через API этой страницы.

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

string
обязательно
Аутентификация Bearer Token: Authorization: Bearer <YOUR_API_KEY>.
Перейдите на страницу управления API Key, чтобы получить API Key.

Версия V6 и выбор модели

Публичные модели поддерживают версии:
  • v6
  • v6-wild
  • v6-mini
Основной endpoint требует version или custom_model_id из задачи создания модели. Операции редактирования используют v6, если version не указана. Публичную version и custom_model_id нельзя отправлять вместе.
custom: true выбирает режим пользовательского текста, а custom_model_id — обученную модель. Это разные понятия; режим текста не включает тариф модели автоматически.

Общие параметры генерации V6

Отправляйте следующие поля, только если они указаны для конкретного endpoint: Исключайте неподдерживаемые поля и не отправляйте везде max_mode: false. variety и Max независимы: variety: "max" не включает тарификацию Max.

Ограничения текста и весов

Новые запросы операций используют weirdness; weirdness_constraint — совместимый псевдоним. Основная генерация по-прежнему использует weirdness_constraint. Длина считается в символах Unicode.

Исходная дорожка

На основе существующих работ:
  • task_id: ID задачи API Mart для выходной аудиодорожки.
  • audio_index: исходная позиция в data.result.music[] задачи-источника, начиная с 1; по умолчанию 1.
Показывайте фактическое число элементов массива, не фиксируя его на 2. Даже при изменении порядка отображения следующие операции должны использовать индекс исходного результата.
Новые запросы ссылаются на исходную дорожку через task_id + audio_index; audio_id, music_id и audio_url их не заменяют. Отсутствующий источник или индекс вне диапазона возвращает 400.

Ответ на отправку

Прочитайте ID задачи из data[0].task_id. submitted означает только принятие задачи, а не наличие готового аудио или других результатов.

Получение задачи

GET /v1/music/tasks/{task_id} Добавьте ?language=zh, чтобы получить доступные переводы ошибок. Параметр не меняет язык песни или текста.
string
обязательно
ID задачи, возвращённый API отправки.
Сначала подождите около 3 секунд, затем опрашивайте каждые 5–10 секунд до completed или failed. После обновления страницы можно использовать тот же ID. Не повторяйте платный POST автоматически из-за сетевого тайм-аута.

Ответ на запрос

integer
Код статуса ответа.
object
Информация о задаче.

Обработка результата

  • Музыкальные результаты обычно находятся в data.result.music[], но загрузки, тексты, MIDI, Persona и пользовательские модели имеют собственные структуры.
  • duration — фактическая длительность и может быть дробной; целевая длительность не обязана точно совпадать с результатом.
  • Вес 0 допустим и не должен скрываться из-за falsy-проверки JavaScript.
  • audio_url не обязана оканчиваться на .mp3. Используйте фактически возвращённую URL.
  • При status="unknown" сохраняйте ID задачи и разрешайте ручное обновление, не создавая новую задачу автоматически.
AbortController останавливает запросы браузера и опрос, но не серверную задачу. Endpoint отмены отправленной задачи Suno отсутствует.