AI SETUPAPI
Платформа
API-документация

Suno

Создание музыкальных треков за один запрос: настроение, голос, текст, жанр

Suno

Создание музыки на Suno 5.5, Suno 5, Suno 4.5+

POSThttps://api.aisetup.ru/v1/audio/generations
Header:Authorization: Bearer YOUR_KEY

Параметры

ПараметрТипОписание
modelstring"suno-5-5" | "suno-5" | "suno-4-5"
mode*stringРежим: "simple" (промпт, по умолчанию) | "custom" (title + lyrics + style)
instrumental*booleantrue — инструментал без вокала. По умолчанию false.
webhook_url*stringURL для webhook (необязателен), поллинг GET /v1/requests/{id}.
inputobjectПараметры генерации.
↳ promptstringОписание музыки (simple mode).
↳ title*stringНазвание трека (custom mode).
↳ lyrics*stringТекст песни (custom mode, не нужен при instrumental). До 5000 символов.
↳ style*stringСтиль и жанр через запятую, напр. "pop, energetic, female vocal" (custom mode).
* — опциональные поля.

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

curl -s "https://api.aisetup.ru/v1/audio/generations" \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"suno-5-5","webhook_url":"https://your.site/hook","input":{"prompt":"upbeat summer pop song about the ocean"}}'

Ответы API

Структура ответа

ПолеТипОписание
idstringID запроса (execution id).
statusstringrunning — задача принята.

Пример тела ответа (JSON)

{
  "id": "REQUEST_ID",
  "status": "running"
}

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

Webhook или polling (единый для всех моделей), подробнее в карточке «Проверка статуса запроса»

При успехе result.type = "audio_generation", массив result.tracks:

{
  "id": "REQUEST_ID",
  "status": "success",
  "result": {
    "type": "audio_generation",
    "tracks": [
      {
        "mp3": "https://cdn.../track_0.mp3",
        "wav": "https://cdn.../track_0.wav",
        "title": "Ocean Drive",
        "audioId": "abc123"
      },
      {
        "mp3": "https://cdn.../track_1.mp3",
        "title": "Ocean Drive",
        "audioId": "def456"
      }
    ]
  }
}

Suno всегда возвращает 2 трека на один запрос.