API อัปโหลดเสียงต้นทาง
คำอธิบายเอนด์พอยต์
การอัปโหลดเสียงต้นทางใช้เปลี่ยนไฟล์เสียงในเครื่องหรือจากระยะไกลให้เป็นคลิปต้นทางที่ความสามารถถัดไปใช้ได้ เช่น คัฟเวอร์ ต่อเพลง แทนที่ท่อน หรือแยกแทร็ก
เอนด์พอยต์: POST /api/music/upload-source
ค่าบริการ: ฟรี เอนด์พอยต์นี้เพียงอัปโหลดเสียงต้นทาง ไม่เริ่มงานสร้างเพลง
วิธีใช้ที่แนะนำ: นี่คือขั้นที่ 1 ของ «คัฟเวอร์สองขั้น» อัปโหลดเสียงด้วยเอนด์พอยต์นี้ก่อน (ฟรี และถ้าล้มเหลวลองใหม่ได้ทุกเมื่อ) แล้วเก็บ
clip_idที่ได้ เมื่อยืนยันว่าอัปโหลดสำเร็จ (statusเป็นสถานะเสร็จสิ้น) จึงเรียก API คัฟเวอร์จากคลิปต้นทาง เพื่อเริ่มคัฟเวอร์ — ขั้นนั้นเนื้อคำขอมีเพียงไม่กี่ร้อยไบต์ จึงไม่ถูกตัดขาดกลางทางเพราะไฟล์เสียงใหญ่เกินไป เมื่อเทียบกับ API แบบครั้งเดียว อัปโหลดแล้วคัฟเวอร์ การแยกแบบนี้เสถียรกว่าเมื่อ ไฟล์เสียงใหญ่ เครือข่ายไม่เสถียร หรือต้องใช้วัสดุเดิมซ้ำหลายครั้ง (ต่อเพลง / แทนที่ / แยกแทร็ก)
คำแนะนำการอัปโหลดไฟล์ขนาดใหญ่
| กรณี | วิธีที่แนะนำ |
|---|---|
| เสียงอยู่บนอินเทอร์เน็ตแล้ว (มีลิงก์ตรง https) | ใช้ file_url: เนื้อคำขอเพียงไม่กี่ร้อยไบต์ เสถียรที่สุด |
| ไฟล์ในเครื่อง (Node / Python / เดสก์ท็อป) | ใช้การอัปโหลดแบบ multipart (-F "file=@source.mp3") และ อย่าตั้ง Content-Type เอง |
| ใช้ได้แค่ JSON + base64 | ระวังว่า Content-Length ต้องเป็นจำนวนไบต์ (Buffer.byteLength) ไม่เช่นนั้นเนื้อคำขออาจถูกตัด |
หลังอัปโหลดเสร็จ ต้องยืนยันว่า status ในคำตอบเป็นสถานะเสร็จสิ้นแล้ว และบันทึก clip_id ก่อนไปขั้นที่ 2;
การอัปโหลดที่ล้มเหลวไม่คิดค่าใช้จ่ายและไม่สร้างงานสร้างเพลง ลองใหม่ได้เลย
พารามิเตอร์คำขอ
Headers
สำหรับคำขอ JSON:
| พารามิเตอร์ | ชนิด | จำเป็น | หมายเหตุ |
|---|---|---|---|
| Authorization | string | ใช่ | Bearer YOUR_API_KEY |
| Content-Type | string | ใช่ | application/json |
คำขอแบบ multipart ไม่ต้องตั้ง Content-Type เอง ให้ไคลเอนต์สร้างอัตโนมัติ
พารามิเตอร์บอดี
| พารามิเตอร์ | ชนิด | จำเป็น | ค่าเริ่มต้น | หมายเหตุ |
|---|---|---|---|---|
| model | string | ไม่ | suno-v6 | ชื่อโมเดลสำหรับลูกค้า: suno-v6, suno-v6-wild หรือ suno-v6-mini |
| file_url | string | ไม่ | - | URL เสียงจากระยะไกล |
| file_base64 | string | ไม่ | - | เสียงแบบ Base64 |
| file_name | string | ไม่ | - | ชื่อไฟล์ |
| upload_type | string | ไม่ | file_upload | ประเภทการอัปโหลด |
ตัวอย่างคำขอ JSON
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"file_url": "https://example.com/source.mp3",
"file_name": "source.mp3",
"upload_type": "file_upload"
}'
ตัวอย่างคำขอ multipart
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@source.mp3" \
-F "file_name=source.mp3" \
-F "upload_type=file_upload" \
-F "model=suno-v6"
คำตอบ
{
"clip_id": "uploaded_clip_id",
"status": "complete",
"title": "source.mp3",
"image_url": "https://...",
"audio_url": "https://...",
"display_tags": "pop, vocal",
"inferred_description": "uploaded source audio",
"clip_metadata": {}
}
รับคีย์ API
สร้างคีย์ API ในคอนโซลหลังสมัครสมาชิก การสร้างหนึ่งครั้งราคา 0.6 หยวน ได้ 2 เพลง ดาวน์โหลดไม่จำกัด และไม่ต้องใช้เบอร์โทรศัพท์
รับคีย์ API กลับไปภาพรวม