Extend API (продление)
Описание эндпоинта
Extend продолжает существующую песню с выбранного момента времени и генерирует следующий фрагмент.
Эндпоинт: POST /api/music/extend
Оплата: платно, сейчас по умолчанию 0,6 ¥ за вызов. Фактически списанная сумма следует текущей конфигурации цен в бэк-офисе.
Max Mode / Variety: эндпоинт поддерживает необязательные параметры max_mode и variety (0-4). При включённом
max_mode этот вызов тарифицируется по двойной цене (0,6 → 1,2 ¥ за вызов); variety не стоит
ничего дополнительно. Что они означают и как их отправлять — в разделе «Расширенные параметры»
Обзора нового API.
Время ожидания и тайм-ауты (важно): это синхронный эндпоинт — заказ принимается и передаётся в генерацию только при получении ответа. По измерениям большинство запросов отвечают за 1-3 секунды, около 10% занимают больше 30 секунд, а самый долгий — около 230 секунд. Установите тайм-аут клиента 300 секунд или больше; отсутствие ответа не означает, что ничего не сгенерировано, и не повторяйте запрос сразу после тайм-аута (это дублирует заказ и списывает деньги повторно). Если соединение оборвалось, проверьте позже через
GET /api/music/songs. См. «Время ожидания и настройка тайм-аута» в Обзоре нового API.
Параметры запроса
Headers
| Параметр | Тип | Обязательно | Примечания |
|---|---|---|---|
| Authorization | string | да | Bearer YOUR_API_KEY |
| Content-Type | string | да | application/json |
Параметры тела
| Параметр | Тип | Обязательно | По умолчанию | Примечания |
|---|---|---|---|---|
| model | string | нет | suno-v6 | Клиентское имя модели: suno-v6, suno-v6-wild или suno-v6-mini |
| audioId | string | да | - | ID песни, которую нужно продолжить |
| prompt | string | да | - | Описание продления |
| continueAt | number | да | - | Точка начала продления в секундах. Должна быть больше 0 и меньше длительности исходной песни; оставьте после точки начала минимум 10 секунд, иначе результат будет только эти несколько секунд |
| style | string | нет | - | Теги стиля |
| negativeTags | string | нет | - | Исключённые стили |
| title | string | нет | - | Название |
| sourceAudioUrl | string | нет | - | URL исходного аудио |
| sourceFileName | string | нет | - | Имя исходного файла |
| waitAudio | boolean | нет | false | Ждать завершения аудио или нет |
Пример запроса
curl -X POST https://www.suno-api.io/api/music/extend \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"audioId": "clip_id",
"prompt": "продолжи припев с большей интенсивностью",
"continueAt": 60,
"style": "Mandopop, rock",
"negativeTags": "noise",
"title": "Продлённая версия",
"waitAudio": false
}'
Ответ
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "extended_clip_id",
"song_title": "Продлённая версия",
"status": "pending"
}
]
}
}
Совместимые поля
Старые имена полей по-прежнему принимаются:
| Новое поле | Совместимое старое поле |
|---|---|
| audioId | song_id, audio_id |
| prompt | description |
| continueAt | start_time, continue_at |
| style | style_tags, tags |
| negativeTags | negative_tags |
| waitAudio | wait_audio |
Примечания
- Не ставьте точку начала вплотную к концу: длина продления примерно равна «тому, что осталось после точки начала». Если точка начала слишком близко к концу, результат будет всего несколько секунд — по измерениям, песня длительностью 242 секунды, продлённая с 240-й секунды, дала всего 2,7 секунды (а оплата за вызов всё равно списывается). Оставьте после точки начала минимум 10 секунд.
- У Extend нет порога «источник слишком короткий»: по измерениям фрагмент 9,6 секунды, продлённый с 5-й секунды, нормально дал песню, поэтому короткий источник или короткий остаток не являются причиной отказа.
- Точка начала должна быть больше 0:
continueAt=0платформа принимает и затем аннулирует, не возвращая причину отказа, поэтому начинайте сразу после первой секунды. - Один вызов возвращает 2 результата (тарифицируются как 2 песни); ориентируйтесь на длину массива
clips. - Результат — новая работа; исходная песня не затрагивается.
Получить API-ключ
Создайте API-ключ в консоли после регистрации. Одна генерация стоит 0,6 ¥ и возвращает 2 трека, загрузки не ограничены, номер телефона не нужен.
Получить API-ключ Вернуться к обзору