API разделения на дорожки (вокал и аккомпанемент)

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

Описание эндпоинта

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

  1. Если исходное аудио — не песня, созданная на этой платформе, сначала вызовите API загрузки исходного аудио.
  2. Вызовите POST /api/music/separate, чтобы отправить задачу разделения.
  3. Опрашивайте результат через API запроса песен и истории.
  4. Скачивайте аудиофайл каждого результата разделения эндпоинтами загрузки.

Эндпоинт: POST /api/music/separate

Оплата: платно. stem_mode=two сейчас по умолчанию 0,6 ¥ за вызов; stem_mode=twelve — многодорожечное разделение, сейчас по умолчанию 3,0 ¥ за вызов. Фактически списанная сумма следует текущей конфигурации цен в бэк-офисе.

Время ожидания и тайм-ауты (важно): это синхронный эндпоинт — заказ принимается и передаётся в генерацию только при получении ответа. По измерениям большинство запросов отвечают за 1-3 секунды, около 10% занимают больше 30 секунд, а самый долгий — около 230 секунд. Установите тайм-аут клиента 300 секунд или больше; отсутствие ответа не означает, что ничего не сгенерировано, и не повторяйте запрос сразу после тайм-аута (это дублирует заказ и списывает деньги повторно). Если соединение оборвалось, проверьте позже через GET /api/music/songs. См. «Время ожидания и настройка тайм-аута» в Обзоре нового API.

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

Параметр Тип Обязательно Примечания
Authorization string да Bearer YOUR_API_KEY
Content-Type string да application/json

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

Параметр Тип Обязательно По умолчанию Примечания
song_id string да - ID исходной песни, которую нужно разделить
stem_mode string да - Режим разделения: two или twelve
source_audio_url string нет - URL исходного аудио
source_file_name string нет - Имя файла исходного аудио
source_title string нет - Название исходной песни

О stem_mode

Значение Возвращаемых записей Примечания
two 4 Разделение на две дорожки: вокал + аккомпанемент. Одна отправка даёт 2 версии × 2 дорожки
twelve 24 Многодорожечное разделение: 2 версии × 12 дорожек; названия дорожек в таблице ниже

О разделении

Разделение — независимая фиксированная возможность: модель генерации песен указывать или выбирать не нужно. Клиент просто отправляет исходную песню и stem_mode; сервер обрабатывает их согласно режиму.

Откуда берутся числа: одна отправка создаёт 2 версии (два результата из одного материала), поэтому число = 2 × количество дорожек этого режима: 4 для two и 24 для twelve. Всегда ориентируйтесь на фактическую длину массива clips в ответе; не пишите цикл по фиксированному числу (отдельные дорожки могут не получиться, а успешные возвращаются как обычно).

Какие дорожки возвращает каждый режим

12 дорожек режима twelve (названия задаёт платформа; порядок может меняться):

# Название дорожки Примечания
1 (Vocals) Основной вокал
2 (Backing Vocals) Гармонии / бэк-вокал
3 (Drums) Барабаны
4 (Bass) Бас
5 (Guitar) Гитара
6 (Keyboard) Клавиши / пианино
7 (Percussion) Перкуссия
8 (Strings) Струнные
9 (Synth) Синтезатор
10 (FX) Эффекты / эмбиент
11 (Brass) Духовые (медь)
12 (Woodwinds) Деревянные духовые

Режим two возвращает две дорожки, (Vocals) и (Instrumental), по 2 версии каждой. Названия дорожек в two и twelve — фиксированные имена (они не содержат названия исходной песни), так что не рассчитывайте понять по названию, из какой песни дорожка.

Названия дорожек нельзя использовать как уникальный ключ. В двух версиях встречаются дорожки с одинаковыми названиями (например две (Vocals), две (Strings)), к тому же одно разделение возвращает много дорожек. Всегда используйте song_id как идентификатор, а song_title — только для отображения; не используйте и индексы массива (порядок может меняться).

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

Разделение вокала / аккомпанемента (stem_mode: "two")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "two",
    "source_audio_url": "https://example.com/source.mp3",
    "source_file_name": "source.mp3",
    "source_title": "Source Song"
  }'

Многодорожечное разделение (stem_mode: "twelve")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "twelve",
    "source_audio_url": "https://example.com/source.mp3"
  }'

Ответ

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

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "stem_clip_id_1",
        "song_title": "(Vocals)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      },
      {
        "song_id": "stem_clip_id_2",
        "song_title": "(Instrumental)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      }
    ]
  }
}

Выше показаны только 2 из 4 записей режима two; на практике возвращается 4 (2 версии × {(Vocals), (Instrumental)}); режим twelve возвращает 24. Реальное количество — длина массива clips.

Обычно клиенту достаточно сохранить clips[].song_id; дальнейшие запросы и загрузки вращаются вокруг этих ID.

Примечания

Запрос результатов разделения

После успешной отправки запросите результаты с clips[].song_id через POST /api/music/query.

curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_ids": "stem_clip_id_1,stem_clip_id_2"
  }'

Пример завершённого запроса:

[
  {
    "song_id": "stem_clip_id_1",
    "song_title": "(Vocals)",
    "status": "complete",
    "audio_url": "https://...",
    "cover_url": "https://...",
    "duration": 180.5,
    "generation_type": "separate",
    "stem_from_id": "source_clip_id"
  }
]

Загрузка файлов дорожек

Когда результат разделения завершён, отдельный файл дорожки можно скачать эндпоинтом загрузки.

Эндпоинт: POST /api/music/download-file

curl -X POST https://www.suno-api.io/api/music/download-file \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "stem_clip_id_1",
    "kind": "audio"
  }' \
  --output stem.mp3

kind поддерживает:

kind Примечания
audio / song / music Скачать MP3-аудио
cover / image Скачать обложку
wav Скачать WAV-аудио
video / mp4 Скачать видео

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

curl -X POST https://www.suno-api.io/api/music/download-all \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "stem_clip_id_1"
  }' \
  --output stem-resources.zip

Описание статусов

Статус Примечания
pending Отправлено, ожидает обработки
queued В очереди
generating / processing В обработке
complete / completed Завершено
error / failed Не удалось; смотрите error_message

Частые ошибки

HTTP-статус Примечания Рекомендация
400 Неверные параметры, например отсутствует song_id или stem_mode Проверьте параметры запроса
401 API-ключ недействителен или не передан Проверьте Authorization
402 Недостаточно средств Пополните баланс и повторите
409 Исходную песню сейчас обработать нельзя Проверьте song_id или повторите позже
500/503 Временный сбой сервиса или платформы Повторите позже или обратитесь в поддержку

Замечания о совместимости

В прежней документации использовались примеры с одним объектом: success/task_id/vocals_url/instrumental_url. Сейчас разделение работает с массивом песен clips[]: у каждого результата свой song_id, и дальнейшие запросы и загрузки вращаются вокруг этих song_id.

Связанные страницы

ДалееAPI удаления вокала

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

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

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