API ดึงไฟล์ MIDI
คำอธิบายเอนด์พอยต์
เอนด์พอยต์ MIDI ใช้แปลงแทร็กที่แยก stem แล้วให้เป็นไฟล์ MIDI มาตรฐาน สำหรับการเรียบเรียง งานสร้างสรรค์ต่อ หรือนำเข้า DAW
Suno ไม่มีที่อยู่ดาวน์โหลดไฟล์ MIDI ให้ มีเพียงข้อมูลโน้ตของแต่ละแทร็ก (ระดับเสียง เวลาเริ่มและสิ้นสุด ความแรง) เอนด์พอยต์นี้จะแปลงข้อมูลโน้ตเหล่านั้นเป็นไฟล์ MIDI มาตรฐาน (SMF format 1) แล้วคืนกลับโดยตรง สิ่งที่ได้จึงเป็นไฟล์ .mid จริงที่ DAW เปิดได้เสมอ
เอนด์พอยต์: POST /api/music/download-file
หน้านี้เป็นตัวอย่างเฉพาะของ MIDI คำอธิบายเต็มของกลุ่มดาวน์โหลด (ที่อยู่สื่อ ไฟล์เดี่ยว การแพ็ก การฟังตัวอย่างระหว่างสร้าง) อยู่ใน API ดาวน์โหลดและฟังตัวอย่างสื่อของเพลง
ค่าบริการ: ฟรี เอนด์พอยต์นี้ใช้อ่านข้อมูลโน้ตของ stem ที่มีอยู่ ไม่หักโควตา
พารามิเตอร์คำขอ
Headers
| พารามิเตอร์ | ชนิด | จำเป็น | หมายเหตุ |
|---|---|---|---|
| Authorization | string | ใช่ | Bearer YOUR_API_KEY |
| Content-Type | string | ใช่ | application/json |
พารามิเตอร์บอดี
| พารามิเตอร์ | ชนิด | จำเป็น | ค่าเริ่มต้น | หมายเหตุ |
|---|---|---|---|---|
| song_id | string | ใช่ | - | ID ของแทร็กเดียวหลังการแยก (/api/music/separate คืนค่า clip id แต่ละรายการ) |
| kind | string | ใช่ | - | คงที่เป็น midi |
ตัวอย่างคำขอ
curl -X POST https://www.suno-api.io/api/music/download-file \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "stem_clip_id",
"kind": "midi"
}' \
--output track.mid
คำตอบ
เนื้อคำตอบเป็นข้อมูลไบนารีของไฟล์ MIDI ไม่ใช่ JSON
| เฮดเดอร์ตอบกลับ | ค่า |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<ชื่อเพลง>.mid" |
การขอที่อยู่ดาวน์โหลด
หากต้องการได้ที่อยู่ก่อนแล้วค่อยดาวน์โหลด (เช่น เพื่อแพ็กหลายไฟล์) ให้เรียกก่อน:
curl -X POST https://www.suno-api.io/api/music/download-url \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"song_id":"stem_clip_id","kind":"midi"}'
{
"success": true,
"message": "",
"data": {
"song_id": "stem_clip_id",
"kind": "midi",
"url": "https://www.suno-api.io/api/music/download?song_id=stem_clip_id&kind=midi"
}
}
ที่อยู่นั้นต้องมีเฮดเดอร์ Authorization เช่นกัน หากไม่มี API Key จะคืน 401
เกี่ยวกับไฟล์ MIDI
| รายการ | ค่า | หมายเหตุ |
|---|---|---|
| รูปแบบไฟล์ | SMF format 1 | 1 แทร็ก Tempo + 1 แทร็กต่อเครื่องดนตรีหนึ่งชิ้น |
| ความละเอียดเวลา | 480 PPQ | 480 tick ต่อจังหวะ |
| ความเร็ว | 120 BPM | Suno ให้เฉพาะวินาที ไม่ให้ BPM จึงใช้ความเร็วคงที่ในการเขียนไทม์ไลน์ |
| ไทม์ไลน์ | 1 วินาที = 960 tick |
สอดคล้องกับวินาทีที่แพลตฟอร์มคืนค่าแบบหนึ่งต่อหนึ่ง ปรับความเร็วใน DAW ได้ตามต้องการ |
| ความแรง | 0–127 | แพลตฟอร์มคืนค่าเป็นทศนิยม 0–1 เอนด์พอยต์แปลงเป็น ×127 ให้แล้ว |
| กลอง | แชนเนล MIDI 10 | แทร็กที่แพลตฟอร์มทำเครื่องหมายว่าเป็นกลองจะถูกวางในแชนเนลเครื่องเคาะอัตโนมัติ |
ข้อควรระวัง
- ใช้ได้เฉพาะแทร็กที่แยก stem แล้ว:
song_idต้องเป็น ID แทร็กที่/api/music/separateคืนค่า ไม่ใช่ ID เพลงต้นฉบับ - stem ที่ไม่มีโน้ตก็เป็นผลลัพธ์ปกติ: บางแทร็ก (เช่น FX) ไม่มีโน้ตที่ถอดเป็นโน้ตได้ ในกรณีนั้นจะคืนไฟล์ MIDI ที่ถูกต้องโดยไม่มีโน้ต แทนที่จะเป็นข้อผิดพลาด
- MIDI มีเฉพาะข้อมูลโน้ต: ระดับเสียง พาน และเอฟเฟกต์ไม่อยู่ใน MIDI ต้องตั้งเสียงเครื่องดนตรีเองใน DAW
- ขอทีละแทร็ก: หนึ่งคำขอคืน
.midของหนึ่งแทร็ก หากมีหลายแทร็กให้เรียกทีละรายการ หรือใช้การดาวน์โหลดแบบแพ็กเป็นชุดของ Create UI
รับคีย์ API
สร้างคีย์ API ในคอนโซลหลังสมัครสมาชิก การสร้างหนึ่งครั้งราคา 0.6 หยวน ได้ 2 เพลง ดาวน์โหลดไม่จำกัด และไม่ต้องใช้เบอร์โทรศัพท์
รับคีย์ API กลับไปภาพรวม