API mashup
Mô tả endpoint
Mashup kết hợp hai bài hát đã hoàn tất thành một tác phẩm mới; thứ tự của hai nguồn được giữ nguyên.
Endpoint: POST /api/music/mashup
Tính phí: Có phí, tính theo mô hình được yêu cầu; số tiền thực trừ tuân theo cấu hình giá trong phần quản trị.
Max Mode / Variety: endpoint này hỗ trợ hai tham số tùy chọn max_mode và variety (0-4). Khi bật
max_mode, lần gọi này bị tính gấp đôi; variety không phát sinh phí thêm. Ý nghĩa và cách gửi
xem mục "Tham số nâng cao" trong Tổng quan API mới.
Mô hình đề xuất: suno-v6. Có thể dùng suno-v6, suno-v6-wild hoặc suno-v6-mini.
Thời gian chờ và timeout (quan trọng): đây là endpoint đồng bộ — đơn chỉ được tiếp nhận và đưa vào tạo nhạc khi phản hồi trả về. Theo đo đạc, phần lớn yêu cầu trả về trong 1-3 giây, khoảng 10% mất hơn 30 giây và lâu nhất khoảng 230 giây. Hãy đặt timeout phía client từ 300 giây trở lên; không nhận được phản hồi không có nghĩa là chưa tạo gì, và đừng thử lại ngay sau khi timeout (sẽ trùng đơn và bị tính phí hai lần). Nếu kết nối bị ngắt, hãy kiểm tra lại sau bằng
GET /api/music/songs. Xem "Thời gian chờ và thiết lập timeout" trong Tổng quan API mới.
Xác thực
| Tham số | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Authorization | string | có | Bearer YOUR_API_KEY |
| Content-Type | string | có | application/json |
Tham số yêu cầu
| Tham số | Kiểu | Bắt buộc | Mặc định | Ghi chú |
|---|---|---|---|---|
| model | string | có | - | Tên mô hình cho khách hàng: suno-v6, suno-v6-wild hoặc suno-v6-mini |
| mashup_clip_ids | array | có | - | Đúng hai song_id thật và khác nhau; thứ tự được giữ nguyên |
| lyrics | string | không | - | Lời hoặc định hướng sáng tác |
| style_tags | string | không | - | Thẻ phong cách |
| song_title | string | không | - | Tiêu đề kết quả |
| negative_tags | string | không | - | Thẻ phong cách loại trừ |
| instrumental | boolean | không | false | Kết quả có phải nhạc không lời không |
| wait_completion | boolean | không | false | Có chờ lâu hơn trước khi trả về không |
Ví dụ yêu cầu
curl -X POST https://www.suno-api.io/api/music/mashup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"mashup_clip_ids": ["source_song_id_a", "source_song_id_b"],
"style_tags": "electronic pop, energetic",
"song_title": "Bản mashup",
"wait_completion": false
}'
Phản hồi
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "result_song_id",
"song_title": "Bản mashup",
"status": "pending"
},
{
"song_id": "result_song_id_2",
"song_title": "Bản mashup",
"status": "pending"
}
]
}
}
Một lần gọi trả về 2 kết quả (tính phí như 2 bài); ví dụ hiển thị 2. Hãy căn theo độ dài mảng clips và đừng viết vòng lặp cố định số lần. Lưu clips[].song_id rồi dùng API truy vấn bài hát và lịch sử để hỏi cho đến khi completed.
Lưu ý
mashup_clip_idsphải chứa đúng hai ID bài hát thật và khác nhau.- Cả hai nguồn đều phải đã hoàn tất và khóa API hiện tại truy cập được; nếu nguồn không truy cập được, hệ thống trả lỗi trước khi tạo nhạc.
Lấy khóa API
Tạo khóa API trong bảng điều khiển sau khi đăng ký. Mỗi lần tạo tốn 0,6 ¥ và trả về 2 bản nhạc, tải xuống không giới hạn và không cần số điện thoại.
Lấy khóa API Quay lại tổng quan