API ดาวน์โหลด Free2
คำอธิบายเอนด์พอยต์
Free2 เป็นช่องทางดาวน์โหลดแบบเสียค่าใช้จ่ายแยกต่างหาก: รับ ID เพลง (หรือลิงก์เพลงจาก suno.com) แล้วแปลงเป็นไฟล์ MP3/WAV/เนื้อเพลง/เมทาดาทา พร้อมคืนที่อยู่ดาวน์โหลดที่โฮสต์โดยแพลตฟอร์ม รองรับเฉพาะ API Key เท่านั้น ไม่รองรับเซสชันล็อกอินผ่านเบราว์เซอร์ และผลลัพธ์ไม่มีแหล่งเล่นแบบเข้ารหัสของ Suno
เอนด์พอยต์: POST /api/music/free2
ค่าบริการ: คิดตามจำนวนเพลงที่สำเร็จ ปัจจุบันค่าเริ่มต้น 0.2 หยวน/เพลง เลือกหลายชนิดไฟล์ในคำขอเดียวไม่คิดเพิ่ม เพลงที่แปลงไม่สำเร็จไม่คิดเงิน หนึ่งคำขอไม่เกิน 10 เพลง (หลังตัดรายการซ้ำ) ยอดหักจริงเป็นไปตามการตั้งราคาในระบบหลังบ้าน
โมเดลที่แนะนำ: suno-v6 ใช้ได้ทั้ง suno-v6, suno-v6-wild และ suno-v6-mini
การยืนยันตัวตน
| พารามิเตอร์ | ชนิด | จำเป็น | หมายเหตุ |
|---|---|---|---|
| Authorization | string | ใช่ | Bearer YOUR_API_KEY |
| Content-Type | string | ใช่ | application/json |
พารามิเตอร์คำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | ค่าเริ่มต้น | หมายเหตุ |
|---|---|---|---|---|
| song_id | string | ไม่ | - | ID เพลงเดียว หรือใส่ลิงก์เพลงจาก suno.com ก็ได้ (รวมลิงก์ย่อ /s/) |
| song_ids | string[] | ไม่ | - | รูปแบบหลายเพลง (แนะนำ) หนึ่งคำขอไม่เกิน 10 เพลง |
| songs | string[] | ไม่ | - | ชื่อพ้องของ song_ids |
| files | string[] | ใช่ | - | ชนิดไฟล์ที่ต้องการ เลือกได้ mp3, wav, lyrics, metadata; ไม่รองรับ m4a |
ต้องระบุ song_id หรือ song_ids อย่างน้อยหนึ่งรายการ และ files อย่างน้อยหนึ่งค่า
ตัวอย่างคำขอ
curl -X POST https://www.suno-api.io/api/music/free2 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_ids": ["song_id_1", "song_id_2"],
"files": ["mp3", "wav", "lyrics"]
}'
คำตอบ
{
"code": 200,
"message": "success",
"data": {
"songs": [
{
"song_id": "song_id_1",
"files": [
{"type": "mp3", "url": "https://media.suno-api.io/assets/song_id_1-free2-v1-mp3.mp3"}
]
},
{
"song_id": "song_id_2",
"files": [],
"error": {"code": "song_not_found", "message": "song not found or not owned by the current user"}
}
],
"requested_songs": 2,
"succeeded_songs": 1,
"price": 0.2
}
}
| ฟิลด์ | ชนิด | หมายเหตุ |
|---|---|---|
| songs | array | ผลลัพธ์รายเพลง: song_id, files[] และ error เมื่อล้มเหลว |
| requested_songs | number | จำนวนเพลงหลังปรับรูปแบบและตัดรายการซ้ำ |
| succeeded_songs | number | จำนวนที่สำเร็จ คิดค่าบริการตามตัวเลขนี้ |
| price | number | ยอดหักจริงของครั้งนี้ (หยวน) |
เมื่อขอเพียงเพลงเดียว ผลลัพธ์จะคืน song_id และ files ระดับบนสุดเพิ่มเติม เพื่อรองรับรูปแบบเพลงเดียวแบบเดิม
ใช้ที่อยู่แคชซ้ำ (ไม่คิดค่าบริการ)
เพลงที่เคยดาวน์โหลดแล้ว ดาวน์โหลดซ้ำไม่ต้องแปลงใหม่และไม่คิดเงินอีก: ใช้ POST /api/music/free2/cached เพื่อดึงที่อยู่ปัจจุบันของไฟล์ชุดที่บัญชีนี้เคยดาวน์โหลด
เอนด์พอยต์: POST /api/music/free2/cached
ค่าบริการ: ฟรี เป็นแคชแบบอ่านอย่างเดียว ไม่แปลง ไม่ทรานสโคด ไม่คิดเงิน คืนเฉพาะที่อยู่ที่เตรียมไว้แล้วและยังไม่ถูกเรียกคืน
⚠️ อายุของที่อยู่ดาวน์โหลด: 7 วัน กรุณาโอนย้ายเก็บไว้ทันที
songs[].files[].urlให้บริการโดยที่เก็บออบเจ็กต์ของแพลตฟอร์ม และหมดอายุภายใน 7 วันโดยค่าเริ่มต้น (ไฟล์จะถูกเรียกคืน และที่อยู่เดิมจะคืน 404) กรุณาโอนย้ายไปเก็บในที่จัดเก็บของคุณภายใน 7 วันนั้น หลังจากหมดอายุ ให้เรียกPOST /api/music/free2ใหม่เพื่อเตรียมไฟล์อีกครั้งและรับที่อยู่ที่ใช้งานได้ใหม่ (การเตรียมใหม่ครั้งนั้นคิดค่าบริการตามกฎปกติ ส่วน/api/music/free2/cachedคืนเฉพาะที่อยู่ในแคชที่ยังใช้งานได้)
พารามิเตอร์คำขอ: เหมือนกับ POST /api/music/free2 ทุกประการ (song_id / song_ids / songs อย่างใดอย่างหนึ่ง และ files อย่างน้อยหนึ่งค่า)
curl -X POST https://www.suno-api.io/api/music/free2/cached \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "song_ids": ["98ca3f1d-…", "a185b3d9-…"], "files": ["mp3"] }'
{
"success": true,
"data": {
"items": [
{ "song_id": "98ca3f1d-…", "type": "mp3", "url": "https://…/assets/98ca3f1d-…-free2-v1-mp3.mp3" }
],
"songs": [
{ "song_id": "98ca3f1d-…", "files": [ { "type": "mp3", "url": "https://…" } ], "missing_files": [] },
{ "song_id": "a185b3d9-…", "files": [], "missing_files": ["mp3"] }
],
"missing": ["a185b3d9-…"]
}
}
| ฟิลด์ | ชนิด | หมายเหตุ |
|---|---|---|
| items | array | รายการที่อยู่พร้อมดาวน์โหลด (song_id + type + url) |
| songs | array | ผลลัพธ์แยกตามเพลง missing_files คือรูปแบบที่ครั้งนี้ไม่พบในแคช |
| missing | string[] | เพลงนี้ไม่มีแคชที่ใช้ได้เลย (ต้องใช้ POST /api/music/free2 แปลงใหม่ ซึ่งคิดตามจำนวนเพลง) |
จะคืนที่อยู่เฉพาะเพลงที่คุณเคยดาวน์โหลดเท่านั้น เพลงที่ไม่มีประวัติดาวน์โหลดหรือไฟล์ถูกเรียกคืนแล้วจะปรากฏใน missing เท่านั้น และจะไม่คืนที่อยู่ใด ๆ
ข้อควรระวัง
POST /api/music/free2แปลงเพลงสาธารณะใดก็ได้บน Suno (รวมเพลงที่ไม่ได้อยู่บนแพลตฟอร์มนี้) เมื่อแปลงเพลงใดไม่สำเร็จจะคืนerrorเฉพาะเพลงนั้น ไม่กระทบเพลงอื่นในชุดเดียวกัน ส่วนPOST /api/music/free2/cachedคืนที่อยู่เฉพาะเพลงที่บัญชีนี้เคยดาวน์โหลด- การแปลงเพลงครั้งแรกจะสร้างไฟล์ที่โฮสต์ไว้ และหลังจากนั้นใช้ไฟล์เดิมซ้ำ อย่าใส่ชนิดซ้ำใน
filesเพราะเซิร์ฟเวอร์จะตัดรายการซ้ำให้อัตโนมัติ - ข้อแตกต่างจาก API ดาวน์โหลดและฟังตัวอย่างสื่อเพลง: Free2 เป็นแบบเสียค่าใช้จ่าย รองรับการส่งลิงก์ suno.com โดยตรง และไม่มีชนิดไทม์ไลน์/MIDI นอกเหนือจากเนื้อเพลง
รับคีย์ API
สร้างคีย์ API ในคอนโซลหลังสมัครสมาชิก การสร้างหนึ่งครั้งราคา 0.6 หยวน ได้ 2 เพลง ดาวน์โหลดไม่จำกัด และไม่ต้องใช้เบอร์โทรศัพท์
รับคีย์ API กลับไปภาพรวม