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 ใหม่
ระยะเวลารอและ timeout (สำคัญ): เอนด์พอยต์นี้เป็นแบบซิงโครนัส — คำสั่งจะถูกรับและส่งเข้าสู่การสร้างเมื่อคำตอบกลับมาเท่านั้น จากการวัด ส่วนใหญ่ตอบกลับภายใน 1-3 วินาที ประมาณ 10% เกิน 30 วินาที และนานที่สุดประมาณ 230 วินาที กรุณาตั้ง timeout ฝั่งไคลเอนต์ไว้ที่ 300 วินาทีขึ้นไป การไม่ได้รับคำตอบไม่ได้หมายความว่าไม่ได้สร้าง และอย่าลองซ้ำทันทีหลัง timeout (จะซ้ำคำสั่งและถูกหักเงินซ้ำ) หากการเชื่อมต่อขาด ให้ตรวจสอบภายหลังด้วย
GET /api/music/songsดูหัวข้อ "ระยะเวลารอและการตั้งค่า timeout" ใน ภาพรวม 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 กลับไปภาพรวม