API Extend (ادامهدادن)
توضیح نقطه پایانی
Extend یک آهنگ موجود را از یک نقطه زمانی انتخابی ادامه میدهد و بخش بعدی را تولید میکند.
نقطه پایانی: POST /api/music/extend
صورتحساب: پرداختی، فعلاً بهطور پیشفرض 0.6 یوان برای هر فراخوانی. مبلغی که واقعاً کسر میشود تابع پیکربندی فعلی قیمت در پنل مدیریت است.
Max Mode / Variety: این نقطه پایانی دو پارامتر اختیاری max_mode و variety (0-4) را پشتیبانی میکند. با
روشنبودن max_mode این فراخوانی با 2 برابر قیمت حساب میشود (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 | بله | - | شناسه آهنگی که باید ادامه یابد |
| prompt | string | بله | - | توضیح ادامه |
| continueAt | number | بله | - | نقطه شروع ادامه، بر حسب ثانیه. باید بزرگتر از 0 و کوچکتر از مدت آهنگ منبع باشد؛ دستکم 10 ثانیه پس از نقطه شروع باقی بگذارید، وگرنه نتیجه فقط همان چند ثانیه خواهد بود |
| style | string | خیر | - | برچسبهای سبک |
| negativeTags | string | خیر | - | سبکهای حذفشده |
| title | string | خیر | - | عنوان |
| sourceAudioUrl | string | خیر | - | آدرس صدای منبع |
| 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 بسازید. هر تولید ۰٫۶ یوان هزینه دارد و ۲ قطعه برمیگرداند، دانلودها نامحدود است و به شماره تلفن نیازی نیست.
دریافت کلید API بازگشت به مرور کلی