API загрузки исходного аудио

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

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

Загрузка исходного аудио превращает локальный или удалённый аудиофайл в исходный клип, который могут использовать последующие возможности: кавер, продление, замена фрагмента, разделение на дорожки и другие.

Эндпоинт: POST /api/music/upload-source

Оплата: Бесплатно. Этот эндпоинт только загружает исходное аудио и не запускает задачу генерации.

Рекомендуемое использование: это шаг 1 «двухшагового кавера». Сначала загрузите аудио этим эндпоинтом (бесплатно, при неудаче можно повторять в любое время) и сохраните полученный clip_id; убедившись, что загрузка прошла успешно (status в завершённом состоянии), вызовите API кавера по исходному клипу для запуска кавера — тело этого запроса всего несколько сотен байт, поэтому оно не будет обрезано из-за слишком большого аудио. По сравнению с одноразовым API «загрузить и сделать кавер» такое разделение надёжнее, когда аудио большое, сеть нестабильна или один и тот же материал нужно переиспользовать несколько раз (продление / замена / разделение).

Советы по загрузке больших файлов

Ситуация Рекомендуемый подход
Аудио уже опубликовано (есть прямая ссылка https) Используйте file_url: тело запроса всего несколько сотен байт, самый надёжный вариант
Локальный файл (Node / Python / десктоп) Используйте multipart-загрузку (-F "file=@source.mp3") и не задавайте Content-Type вручную
Доступен только JSON + base64 Учтите, что Content-Length должен быть числом байт (Buffer.byteLength), иначе тело запроса может быть обрезано

После завершения загрузки обязательно убедитесь, что status в ответе уже в завершённом состоянии, и сохраните clip_id, прежде чем переходить к шагу 2; неудачная загрузка не тарифицируется и не создаёт задачу генерации — просто повторите попытку.

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

Headers

Для JSON-запросов:

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

Не задавайте Content-Type вручную в multipart-запросах; клиент создаёт его автоматически.

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

Параметр Тип Обязательно По умолчанию Примечания
model string нет suno-v6 Клиентское имя модели: suno-v6, suno-v6-wild или suno-v6-mini
file_url string нет - URL удалённого аудио
file_base64 string нет - Аудио в Base64
file_name string нет - Имя файла
upload_type string нет file_upload Тип загрузки

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

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

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

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Ответ

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
ДалееAPI усиленной загрузки

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

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

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