Новинка: Nano Banana 2.1Попробовать модель
API Hubs

Музыка

Генерация музыки

Как создавать песни, джинглы и звуковые эффекты в Suno: простой и custom-режимы, стилевые промпты, продолжения, каверы, stems и голосовые персоны.

4 мин чтенияразделов: 14

Создайте песню, инструментальный фон или звуковой эффект с suno. Поле action выбирает операцию: генерацию, продолжение, кавер, разделение на дорожки, синхронизированный текст или сохранение голосовой персоны. Ниже — примеры промптов и настройки для каждого сценария.

Что создают с Suno

ЗадачаactionПримечание
Фон для видеоmusicпросите instrumental и учитывайте длину монтажа
Песня с вашим текстомmusic, custom: trueвы задаёте слова и стиль
Джингл или аудиологотипmusicодин короткий хук и конкретные инструменты
Интро и аутро подкастаmusic, затем crop / fade-outодин трек, две обрезки
Эффекты для UI и игрsoundкороткий звук по описанию
Более длинная версияextendпродолжение с continueAt
Та же мелодия в другом жанреcoverсохраняется мелодия, меняется аранжировка
Караоке или материал для ремиксаstems / stems-allраздельный вокал и инструменты
Субтитры по времениtimestamped-lyricsданные в output, а не аудио
Один вокалист для серииvoiceсохранить и повторно использовать персону

Простой или custom-режим

Режим выбирает поле custom.

Простой режим (custom отсутствует или равен false) принимает gptDescriptionPrompt длиной до 3000 символов. Модель пишет и слова, и аранжировку. Он подходит для фона, mood-трека и любой инструментальной музыки.

Custom-режим (custom: true) принимает текст песни в prompt, жанр и продакшен в tags, название в title. Используйте его, когда слова должны быть точными. Частая ошибка — помещать описание стиля в prompt: в custom это лист с текстом, который модель будет петь.

Как написать промпт стиля

Стилевой промпт — список продакшен-решений:

жанр → инструменты → вокал → темп и настроение.

text
indie folk, fingerpicked acoustic guitar, brushed drums, warm upright bass,
soft female vocal, 90 bpm, nostalgic and unhurried
  • Называйте инструменты: brushed drums, upright bass, Rhodes точнее, чем organic and warm.
  • Явно пишите instrumental, если вокал не нужен.
  • Указывайте BPM: это помогает подогнать трек к монтажу.
  • Ограничьтесь парой стилевых ориентиров, чтобы результат не усреднился.
  • В custom-тексте используйте [Verse], [Chorus], [Bridge], [Outro] на отдельных строках.

Рецепты

Органический фон — простой режим music:

text
Organic downtempo psybient, 95 BPM, didgeridoo and tabla loops, soft analog
pads, forest field recordings, fretless bass, kalimba textures, meditative
dorian A minor, 8 minute slow development, warm earthy production, no vocals
instrumental

Промпт фиксирует темп, инструменты, лад, фактуру и отсутствие вокала.

A Suno v5.5 instrumental generated from the exact prompt above: organic percussion and field recordings build over a slow 95 BPM pulse.

Песня бренда с вашим текстом:

json
{
"custom": true,
"tags": "upbeat indie pop, jangly electric guitar, handclaps, group vocals, 128 bpm, bright and cheerful",
"title": "Ship It Friday",
"prompt": "[Verse]\nWe wrote it down on Monday morning\nHalf a plan and too much coffee\n\n[Chorus]\nShip it Friday, ship it Friday\nNothing's perfect anyway"
}

Делайте строки короткими: длинные фразы приходится втискивать в такт.

Трёхсекундный аудиологотип:

text
Three-second audio logo: a single bright marimba motif of four notes rising,
one soft synth swell underneath, clean modern, no vocals, ends cleanly

Создайте идею, затем точно обрежьте её через crop и fade-out.

Звуковой эффект — action: "sound":

text
A heavy wooden door closing in a stone corridor, with a short natural reverb
tail

Та же песня в другом жанре — cover с sourceTaskId:

json
{
"action": "cover",
"sourceTaskId": "019ca881-9503-7270-a560-f00fc2b15785",
"tags": "slow piano ballad, string section, intimate male vocal, 70 bpm",
"title": "Ship It Friday (Ballad)"
}

About these samples. Ready-made examples are copied to our own storage only when their source permits reuse. The exact prompt appears above each result, and the original source and license are linked below the media.

Поле action выбирает режим

По умолчанию используется music. Все действия входят в один SunoInputDto, но требования проверяются отдельно:

actionОбязательные данныеРезультат
musicgptDescriptionPrompt либо prompt при custom: trueаудио
extendcontinueAt и источникаудио
coverисточникаудио
stems, stems-allaudioId или sourceTaskIdаудио
soundpromptаудио
lyricspromptданные в output
timestamped-lyricssourceTaskIdданные в output
voicevoiceAudioUrl или sourceTaskIdперсона в output

Источник задаётся через audioId, публичный audioUrl или sourceTaskId вашей предыдущей задачи Suno. sourceTaskId также закрепляет цепочку за тем провайдером, который создал исходник. Полный набор действий (inspo, wav, remaster, crop, fade-in, fade-out, adjust-speed, mashup, boost-style, music-video, midi, bpm) приведён в Моделях музыки.

Отправка запроса

Простой режим:

sh
curl -X POST https://api.apihubs.ru/api/v1/generation/create \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "suno",
"input": {
"action": "music",
"gptDescriptionPrompt": "A slow indie folk song about leaving a harbour town at dawn, brushed drums, female vocal"
}
}'

Custom-режим:

json
{
"model": "suno",
"input": {
"action": "music",
"custom": true,
"mv": "v6",
"title": "Harbour Lights",
"tags": "indie folk, brushed drums, warm analog",
"prompt": "[Verse]\nThe gulls come down before the sun does\n[Chorus]\nAnd the harbour lights go out one by one",
"makeInstrumental": false
}
}

mv выбирает движок V6: v6 (по умолчанию), v6-wild или v6-mini. Снятые с поддержки v3.5 … v5.5 по-прежнему принимаются и выполняются на v6. prompt допускает 5000 символов, tags — 1000. makeInstrumental: true отключает вокал и в custom-режиме само удовлетворяет требование промпта.

Чтение результата

Действие music обычно создаёт несколько треков. Обрабатывайте весь массив files, а метаданные читайте из output.tracks. Сохраняйте output.tracks[].audioId вместе с taskId: он выбирает конкретный вариант для extend или stems. URL вроде imageUrl внутри output принадлежат CDN провайдера; в собственное хранилище зеркалируются только элементы files.

Продолжение трека

extend продолжает композицию с обязательной секунды continueAt:

json
{
"model": "suno",
"input": {
"action": "extend",
"sourceTaskId": "019ca8d7-6b02-7f31-a1c4-8e5d90b7f2aa",
"audioId": "b3d1f0a2-77ac-4e19-9c0e-1d2b3f4a5c6d",
"continueAt": 120,
"custom": true,
"prompt": "[Bridge]\nThe tide turns over in the dark",
"tags": "indie folk, brushed drums"
}
}

Чтобы продолжить загруженный файл, замените sourceTaskId и audioId на публичный audioUrl.

Кавер на трек

cover перезаписывает источник в новом стиле:

json
{
"model": "suno",
"input": {
"action": "cover",
"sourceTaskId": "019ca8d7-6b02-7f31-a1c4-8e5d90b7f2aa",
"audioId": "b3d1f0a2-77ac-4e19-9c0e-1d2b3f4a5c6d",
"tags": "synthwave, gated reverb, 1984",
"title": "Harbour Lights (Synth)"
}
}

Разделение на stems

stems извлекает одну дорожку, stems-all разделяет композицию на двенадцать категорий. stemType может быть lead_vocal, backing_vocals, drum_kit, bass, piano, electric_guitar и другими.

json
{
"model": "suno",
"input": {
"action": "stems",
"sourceTaskId": "019ca8d7-6b02-7f31-a1c4-8e5d90b7f2aa",
"audioId": "b3d1f0a2-77ac-4e19-9c0e-1d2b3f4a5c6d",
"stemType": "drum_kit"
}
}

Действия, возвращающие данные

lyrics, timestamped-lyrics, boost-style, midi и bpm завершаются без files: результат находится в output.

json
{
"model": "suno",
"input": {
"action": "lyrics",
"prompt": "A song about leaving a harbour town at dawn",
"mv": "remi-v1"
}
}

Структура output следует формату провайдера, поэтому читайте её защитно. timestamped-lyrics требует sourceTaskId и возвращает временные метки слов.

Голоса и персоны

voice создаёт повторно используемую голосовую персону из voiceAudioUrl или предыдущего sourceTaskId. Сохраните полученный идентификатор из output и передавайте его в следующих задачах, когда нужен согласованный вокал. Используйте только аудио, на которое у вас есть права и согласие говорящего.

Полный цикл

После create сохраните data.taskId. Проверяйте GET /api/v1/task/status/{taskId} с интервалом около 10 секунд или передайте верхнеуровневый webhook. При finished скачайте все элементы files и сохраните audioId из output; при failed покажите errorMessage — средства уже возвращены.

Если генерация не удалась

  • В simple-режиме нужен gptDescriptionPrompt; в custom — prompt, если не задан makeInstrumental: true.
  • Для extend обязателен continueAt и один источник.
  • Stateful-действия должны ссылаться на вашу успешную задачу Suno.
  • finished без files допустим для действий, возвращающих данные.
  • Обычные 400 исправляются изменением тела, а не повтором запроса.

Следующие шаги

Запустите это со своим ключом

Выберите модель в каталоге API Hubs, проверьте цену и попробуйте её в браузере или через API.

Читать дальше