Обзор документации Suno API

Обновлено 2026-09-18 · команда Suno-API

Для создания API-ключа достаточно зарегистрироваться по e-mail. Одна генерация стоит 0,6 юаня и возвращает 2 песни, включая скачивание в MP3/WAV, каверы, Extend, разделение на стемы и клонирование голоса. Базовый URL: https://www.suno-api.io.

На этой странице описаны доступные модели, все интерфейсы генерации и редактирования, биллинг и рекомендуемый порядок чтения. Если вы подключаетесь впервые, читайте сверху вниз; здесь же собраны точки входа для диагностики 401/403/429.

Быстрые ответы

Как получить API-ключ? Зарегистрируйтесь по e-mail, откройте консоль, перейдите в управление токенами и создайте токен. Ни номер телефона, ни карта не нужны.

Сколько стоит один вызов? Генерация стоит 0,6 юаня и возвращает 2 песни. Запросы статуса, WAV, текст с таймкодами и подсказки-промпты дополнительно не тарифицируются.

Какие модели поддерживаются? suno-v6 (по умолчанию), suno-v6-wild и suno-v6-mini. Обычные модели генерации v5.5 и старше выведены из эксплуатации; существующие работы не затронуты.

Какой базовый URL? https://www.suno-api.io, заголовок Authorization: Bearer YOUR_API_KEY.

Доступные сейчас модели

В обычной генерации песни заказчик может указать только suno-v6, suno-v6-wild и suno-v6-mini. Если model не передан, используется suno-v6.

Модели suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 и suno-v5-5 выведены из эксплуатации. В исторических задачах эти имена ещё могут встречаться, но это исторические данные, а не признак того, что модель доступна для новых запросов. Исключение — разделение на стемы, см. API стемов (разделение вокала и аккомпанемента).

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

Все публичные интерфейсы с API-ключом используют одни и те же заголовки:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Базовый URL:

https://www.suno-api.io

Общие правила по параметрам

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

Превышение лимита даёт сразу HTTP 400: генерация не запускается, предоплата не списывается и запись о задаче не создаётся. Подсчёт идёт по символам Unicode (один идеограф считается за 1), пробелы в начале и в конце тоже учитываются.

Поле (включая совместимые написания из документации) Лимит
prompt / lyrics / description / theme / gpt_description_prompt 3000 символов
style_tags / tags / style / original_tags 1000 символов
negative_tags 1000 символов
song_title / title 100 символов

В message об ошибке указаны поле и измеренная длина — этих двух чисел достаточно, чтобы подрезать текст:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Относится к: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Одно исключение: поле description у POST /api/music/sounds ограничено 100 символами, потому что путь звуковых эффектов использует более короткий лимит платформы.

Асинхронная генерация и адреса аудио

Интерфейсы генерации музыки по умолчанию работают асинхронно. Если в первом ответе status равен pending, submitted или processing, пустые audio_url, video_url и cover_url — это нормально и не означает сбой. Сохраните реальный song_id (или возвращённый client_request_id) и опрашивайте соответствующий интерфейс; читайте и скачивайте адрес аудио только после того, как статус станет завершённым.

⚠️ Адреса аудио действуют 7 дней — переносите файлы вовремя

audio_url, wav_url, video_url и адреса из интерфейсов скачивания выдаются объектным хранилищем платформы и по умолчанию перестают работать через 7 дней (файлы удаляются, старый адрес даёт 404 / не скачивается).

  • В течение этих 7 дней перенесите файлы в собственное хранилище (своё объектное хранилище, CDN или диск сервера). Не используйте наши адреса как долговременные ссылки.
  • Истёкший адрес не требует повторной генерации песни и не стоит дополнительных денег: снова вызовите API запроса песен (или API скачивания медиа) и получите новый действующий адрес этой песни.

Время ожидания и настройка таймаутов

Интерфейсы генерации синхронные: заказ принимается и передаётся платформе только в момент получения ответа. До этого сервис должен выделить аккаунт и пройти необходимую проверку безопасности, и промежуточного ответа нет — ни один другой интерфейс этот заказ не видит. Поэтому единственное надёжное доказательство того, что «что-то сгенерировано», — сам ответ, а не то, что наблюдается во время ожидания.

Измеренное время ожидания (продакшн, семейство /api/music/create, 18–20 сентября 2026)

Перцентиль Ожидание
p50 примерно 1,2–1,6 с
p75 примерно 2–6 с
p90 примерно 42–49 с
p95 примерно 48–76 с
p99 примерно 109–160 с
максимум примерно 230 с

Требования к интеграции

  1. Установите таймаут клиента 300 секунд или больше. Клиенты с 30, 60 или 120 секундами разорвут соединение во время ожидания.
  2. Отсутствие ответа не означает, что ничего не сгенерировано. При таймауте или обрыве связи заказ может быть уже принят и генерироваться.
  3. Не повторяйте сразу после таймаута: повторная отправка создаёт второй заказ и снова списывает деньги.
  4. Если связь оборвалась, через некоторое время посмотрите свои песни через GET /api/music/songs (сначала новые) — принятые заказы появятся как обычно. Повторяйте отправку только убедившись, что заказа действительно нет.
  5. При обращении в поддержку приложите заголовок ответа X-Oneapi-Request-Id, чтобы можно было найти именно этот запрос.

Не хотите держать длинное соединение? Используйте режим квитанции о приёме. POST /api/music/create и POST /api/music/create/custom поддерживают необязательную квитанцию: добавьте в тело "accept_mode": "async" (или заголовок X-Accept-Mode: async), и интерфейс сразу вернёт 202 с номером квитанции, а генерация продолжится в фоне; прогресс смотрите через GET /api/music/requests/{request_id}. Клиент с таймаутом в несколько десятков секунд не сможет ни принять «нет ответа» за «ничего не сгенерировано», ни списать деньги дважды из-за повторов. См. «Режим квитанции о приёме» в API генерации в простом режиме.

Для справки: python requests использует timeout=300, urllib — urlopen(..., timeout=300), Node — req.setTimeout(300000), curl — --max-time 300.

Список рекомендуемых интерфейсов

Возможность Метод Путь Тарификация Документация
Баланс аккаунта GET /api/user/balance Бесплатно Открыть
Генерация в простом режиме POST /api/music/create Платно, сейчас по умолчанию 0,6 юаня за вызов Открыть
Генерация в настраиваемом режиме POST /api/music/create/custom Платно; поддерживает пол вокала, влияние стиля и случайность Открыть
Генерация речи (Speech) POST /api/music/speech Платно, сейчас 0,6 юаня за вызов; фоновая музыка опционально Открыть
Прогресс по квитанции о приёме GET /api/music/requests/{request_id} Бесплатно; используется с accept_mode=async Открыть
Звуковые эффекты POST /api/music/sounds Платно, сейчас 0,6 юаня за вызов Открыть
Генерация текста песни POST /api/lyrics/generate Бесплатно в пределах квоты (10/мин, 300/день), далее 0,1 юаня за вызов Открыть
Создание профиля голоса (рекомендуется) POST /api/music/voice-profile/create Бесплатно (enhanced=true считается по цене усиленного клона) Открыть
Кавер своим голосом (рекомендуется) POST /api/music/voice-profile/cover 1,2 юаня за вызов; 2,4 юаня с Max Mode Открыть
Список / детали / удаление голосов (рекомендуется) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Бесплатно Открыть
Клонирование голоса (старая цепочка, не рекомендуется) POST /api/voice/clone/validate Бесплатно Открыть
Запрос задачи клонирования голоса GET /api/voice/clone/tasks/:voice_task_id Бесплатно Открыть
Повторная генерация текста проверки POST /api/voice/clone/tasks/:voice_task_id/regenerate Бесплатно Открыть
Отправка проверочного аудио и создание голоса POST /api/voice/clone/tasks/:voice_task_id/generate По правилам клонирования голоса Открыть
Проверка доступности клонированного голоса POST /api/voice/clone/tasks/:voice_task_id/check Бесплатно Открыть
Удаление клонированного голоса DELETE /api/voice/clone/voices/:voice_task_id Бесплатно Открыть
Генерация выбранным голосом POST /api/music/generate-with-voice Платно, 1,2 юаня за вызов; 2,4 юаня с Max Mode Открыть
Результаты генерации выбранным голосом GET /api/music/generate-with-voice/results Бесплатно Открыть
Усиление стиля POST /api/music/boost-style Бесплатно в пределах квоты (10/мин, 300/день), далее 0,1 юаня за вызов Открыть
Подсказки-промпты POST /api/prompts/suggestions Бесплатно в пределах квоты (10/мин, 300/день), далее 0,1 юаня за вызов Открыть
Загрузка исходного аудио POST /api/music/upload-source Бесплатно Открыть
Отправка усиленной загрузки POST /api/music/enhanced-upload Платно, 10 юаней за вызов Открыть
Список задач усиленной загрузки GET /api/music/enhanced-upload Бесплатно Открыть
Запрос одной задачи усиленной загрузки GET /api/music/enhanced-upload/:id Бесплатно Открыть
Отмена задачи усиленной загрузки POST /api/music/enhanced-upload/:id/cancel Бесплатно; возврат только на отменяемых этапах Открыть
Загрузить и сделать кавер POST /api/music/upload-cover Платно, сейчас 0,6 юаня за вызов; при большом аудио лучше два шага upload-source + generate-from-source Открыть
Кавер из исходного клипа POST /api/music/generate-from-source Платно, сейчас 0,6 юаня за вызов Открыть
Extend POST /api/music/extend Платно, сейчас 0,6 юаня за вызов Открыть
Замена участка POST /api/music/replace-section Платно, сейчас 0,6 юаня за вызов Открыть
Get Full Song POST /api/music/concat Платно, фиксированно 0,05 юаня за вызов Открыть
Remaster POST /api/music/remaster Платно, сейчас 0,6 юаня за вызов Открыть
Добавить инструментал POST /api/music/add-instrumental Платно, по запрошенной модели Открыть
Добавить вокал POST /api/music/add-vocal Платно, по запрошенной модели Открыть
Добавить дорожку POST /api/music/add-stem Платно, по запрошенной модели Открыть
Mashup POST /api/music/mashup Платно, по запрошенной модели Открыть
Sample POST /api/music/sample Платно, по запрошенной модели Открыть
Inspo POST /api/music/inspo Платно, по запрошенной модели Открыть
Обрезка POST /api/music/crop Платно, по запрошенной модели Открыть
Удаление участка POST /api/music/remove-section Платно, по запрошенной модели Открыть
Фейд POST /api/music/fade Платно, по запрошенной модели Открыть
Обратное воспроизведение POST /api/music/reverse Платно, по запрошенной модели Открыть
Скорость POST /api/music/speed Платно, по запрошенной модели Открыть
Стемы (разделение вокала и аккомпанемента) POST /api/music/separate Платно; two — 0,6 юаня за вызов, twelve — 3,0 юаня Открыть
Удаление вокала POST /api/music/vocal-removal Бесплатно Открыть
Удаление стемов POST /api/music/stem-delete Бесплатно Открыть
Генерация/получение WAV POST /api/music/wav Бесплатно Открыть
Получение MIDI POST /api/music/download-file (kind=midi) Бесплатно Открыть
Адрес медиа / поток прослушивания POST /api/music/download-url, /api/music/generation-stream-url Бесплатно Открыть
Скачивание файла песни POST /api/music/download-file Бесплатно Открыть
Скачивание архива песни POST /api/music/download-all Бесплатно Открыть
Постоянный адрес скачивания GET /api/music/download Бесплатно Открыть
Скачивание Free2 POST /api/music/free2 Платно, 0,2 юаня за успешную песню Открыть
Статус конкретной песни POST /api/music/query Бесплатно Открыть
История песен аккаунта GET /api/music/songs Бесплатно Открыть
Параметры генерации песни GET /api/music/songs/:song_id Бесплатно Открыть
Текст с таймкодами POST /api/lyrics/timeline Бесплатно Открыть
Право на лицензию и личность GET /api/music/authorization/context Бесплатно Открыть
Привязка личности для лицензии POST /api/music/authorization/identity Бесплатно; после подтверждения не меняется Открыть
Список песен для лицензии GET /api/music/authorization/songs Бесплатно; нужна привязанная личность Открыть
Выпуск коммерческой лицензии POST /api/music/authorization/certificates Бесплатно; нужно право Открыть
История лицензий GET /api/music/authorization/certificates Бесплатно Открыть
Детали лицензии GET /api/music/authorization/certificates/:id Бесплатно Открыть
Скачивание PDF лицензии GET /api/music/authorization/certificates/:id/download Бесплатно Открыть

Интерфейсы /api/voice/clone/* и /api/music/generate-with-voice относятся к ранней цепочке клонирования голоса и не рекомендуются для новых интеграций; используйте 【Рекомендуется】 API профиля голоса.

Дополнительные параметры: Max Mode и Variety

Интерфейсы генерации поддерживают эти два необязательных параметра (если не передавать, поведение и цена не меняются):

Параметр Тип Диапазон Описание
max_mode boolean true / false Больше вычислительных ресурсов для лучшей связности всей песни; этот запрос тарифицируется по двойной цене
variety integer 0-4 Степень стилистической вариативности: 0=Off, 1=Normal, 2=High, 3=Extra, 4=Max. Если не передавать, используется уровень модели по умолчанию (для семейства v6 — 1); доплаты нет

Поддерживают: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Общие поля ответа с песнями

Интерфейсы генерации, кавера, extend, разделения и запроса обычно возвращают массив песен с этими полями:

Поле Тип Описание
song_id string ID песни или задачи
song_title string Название песни
status string Статус, например pending, completed, failed
audio_url string Адрес аудио, возвращается после завершения генерации
video_url string Адрес видео, может быть пустым
cover_url string Адрес обложки
lyrics string Текст песни
style_tags string Теги стиля
duration number Длительность аудио в секундах
created_at string Время создания
model_version string Версия модели
generation_type string Тип генерации
error_message string Причина ошибки

Четыре шага интеграции (минимальный пример)

Этих четырёх шагов достаточно, чтобы получить первую песню; полный список полей каждого шага — на соответствующей странице из списка рекомендуемых интерфейсов.

# 1) Отправить генерацию: 0,6 юаня, возвращает 2 песни
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Russian pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Опрашивать, пока status не станет completed (3–5 секунд — хороший интервал)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id из шага 1"}'

# 3) Получить адрес медиа: интерфейсы чтения бесплатны; song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "тот же song_id", "kind": "song"}'

Если что-то пошло не так: 401 / 402 / 403 / 429 — в справочнике ошибок; таймауты и двойные списания — в разделе «Время ожидания и настройка таймаутов»; описание каждого интерфейса — в списке ниже.

Рекомендации

О документации

Эта страница переработана под возможности, которые Create UI реально предоставляет; новым интеграциям стоит начинать с неё. Прежняя документация API осталась в разделе «Прежняя документация API (совместимость)» для тех, кто хочет сохранить старый способ работы.

ДалееAPI запроса баланса аккаунта

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

Создайте API-ключ в консоли после регистрации. Одна генерация стоит 0,6 ¥ и возвращает 2 трека, загрузки не ограничены, номер телефона не нужен.

Получить API-ключ Вернуться к обзору