Музыка
POST /v1/audio/generations — трек по описанию: 200 с результатом, не успел за 9 минут —
202. В SDK OpenAI метода нет — обычный POST с JSON. Поля — схема MusicGenerationRequest и input_schema модели.
curl https://api.souz.ai/v1/audio/generations \
-H "Authorization: Bearer $SOUZ_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: jingle-42" \
-d '{"model": "suno-v6", "prompt": "бодрый инди-поп, женский вокал", "lyrics": "[Verse]\nУтро светит в окно\n[Chorus]\nСолнце, мы снова живём", "title": "Утро"}'Описание, текст и инструментал
prompt— описание трека: жанр, настроение, инструменты, темп, голос; текст песни модель напишет на языке описания.lyrics— свой текст с разделами[Verse],[Chorus],[Bridge]: модель споёт его как написан.title— название трека вместе сlyrics, у моделей, чья карточка его объявляет; без него — первая строка текста.instrumental: true— трек без вокала, вместе сlyricsне присылается.
Звук — в data[] (type: "audio", MP3). Модель, которая делает за запрос два варианта
трека, отдаёт оба (data[0] и data[1], оба с role: "result"), и цена — за оба.
Suno V6: версии и действия
version выбирает v6, v6-mini или v6-wild (без поля — v6). action выбирает
действие; без поля — generate. Точный набор включённых действий — в input_schema
модели.
| Действие | Исходное аудио | Основные поля |
|---|---|---|
generate — музыка | нет | описание; custom_mode: true — свой стиль и текст |
sounds — эффекты | нет | описание звука; sound_loop, sound_tempo, sound_key, grab_lyrics |
cover — кавер | один файл | описание или свой стиль и текст |
extend — продолжение | один файл | описание; continue_at — момент в секундах, включает свой стиль и текст |
add_vocals — вокал | один файл | стиль, lyrics, negative_tags |
add_instrumental — инструментал | один файл | стиль, negative_tags |
mashup — смешивание | два файла | описание или свой стиль и текст |
Действия над готовым треком:
| Действие | Что передать | Результат |
|---|---|---|
replace_section | трек; стиль в prompt, текст фрагмента в lyrics, full_lyrics, start_seconds, end_seconds | новые варианты трека |
separate_vocals | трек | вокал и инструментал |
split_stems | трек | все дорожки |
isolate_stem | трек, stem_name из схемы | выбранный инструмент |
wav | трек | WAV-файл |
midi | source_job результата разделения; source_file дорожки — по желанию | партии и ноты в result.midi |
video | трек; author, domain_name — по желанию | MP4-клип |
cover_image | source_job созданной песни с текстом | изображения обложки |
lyrics | тема в prompt, до 200 символов | варианты текста в result.lyrics |
boost_style | описание стиля в prompt | улучшенный стиль в result.result |
timestamps | трек | слова с таймкодами и волна |
persona | трек, name, description; границы фрагмента и стиль — по желанию | persona_id для следующих запросов |
{"model": "suno-v6", "action": "timestamps", "source_job": "job_…", "source_file": "file_…"}Исходный трек
- Свой готовый трек —
source_job(ID задачи) иsource_file(ID аудиофайла из еёdata): связь с исходной песней сохраняется.source_jobиreference_audioвместе не передаются. - Внешний звук —
reference_audio:file_…изPOST /v1/filesили HTTPS-ссылка. Для переработки нужен доступный файл длительностью до 8 минут. extendбезcontinue_atпродолжает исходные стиль и параметры; чтобы изменить их, задайтеcontinue_at(меньше длительности трека),version— та же, что у исходного, или без поля.- Персона —
persona_idиpersona_model: style_personaвgenerate,cover,extend; при создании и кавере включитеcustom_mode, при продлении задайтеcontinue_at. Окно анализа персоны — 10–30 секунд (по умолчанию 0–30). Замена фрагмента — 10–60 секунд и не больше половины трека. Обложка создаётся один раз для исходной песни.
Пределы полей
В режиме своего текста prompt — стиль (до 1000 символов), lyrics — слова (до 5000).
duration_seconds (10–360) — желаемая длительность для создания, кавера и смешивания.
style_weight, weirdness и audio_weight — от 0 до 1 с шагом 0.01 (последнее — только с
исходным аудио). negative_tags — что исключить, до 200 символов (кроме смешивания).
vocal_gender — пожелание m или f. Допустимые сочетания проверяются до постановки
задачи.
Результат
Каждый аудиофайл может нести title, duration_seconds, tags, lyrics, label
(название дорожки), cover_id и actions. Обложки — отдельные файлы с role: cover.
Структурированные результаты — в result задачи и файлом с type: json. Все действия —
обычная задача: работают Prefer: respond-async, идемпотентность, события и вебхуки. Цена
зависит от действия и версии — строка pricing.options каталога.