API tách track (giọng hát và nhạc đệm)

Cập nhật 2026-09-18 · nhóm Suno-API

Mô tả endpoint

Tách track chia một bài hát có sẵn thành giọng hát, nhạc đệm hoặc kết quả nhiều track. Quy trình tích hợp được khuyến nghị:

  1. Nếu âm thanh nguồn không phải bài hát do nền tảng này tạo ra, hãy gọi API tải lên âm thanh nguồn trước.
  2. Gọi POST /api/music/separate để gửi tác vụ tách track.
  3. Dùng API truy vấn bài hát và lịch sử để hỏi kết quả.
  4. Dùng các endpoint tải xuống để tải tệp âm thanh của từng kết quả tách.

Endpoint: POST /api/music/separate

Tính phí: Có phí. stem_mode=two hiện mặc định 0,6 ¥ mỗi lần gọi; stem_mode=twelve là tách nhiều track, hiện mặc định 3,0 ¥ mỗi lần gọi. Số tiền thực trừ tuân theo cấu hình giá trong phần quản trị.

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ú
song_id string có - ID bài hát nguồn cần tách
stem_mode string có - Chế độ tách: two hoặc twelve
source_audio_url string không - URL âm thanh nguồn
source_file_name string không - Tên tệp âm thanh nguồn
source_title string không - Tiêu đề bài hát nguồn

Về stem_mode

Giá trị Số mục trả về Ghi chú
two 4 Tách hai track: giọng hát + nhạc đệm. Một lần gửi tạo 2 phiên bản × 2 track
twelve 24 Tách nhiều track: 2 phiên bản × 12 track; tên track xem bảng dưới

Về việc tách track

Tách track là một khả năng cố định độc lập: không cần điền hay chọn model tạo nhạc. Khách hàng chỉ gửi bài hát nguồn và stem_mode; máy chủ xử lý theo chế độ.

Số mục từ đâu ra: một lần gửi tạo 2 phiên bản (hai kết quả từ cùng một tư liệu), nên số mục = 2 × số track của chế độ đó: two là 4, twelve là 24. Hãy luôn dựa vào độ dài thực tế của mảng clips trong phản hồi; đừng viết vòng lặp theo số cố định (một số track có thể thất bại, các track thành công vẫn được trả về bình thường).

Mỗi chế độ trả về những track nào

12 track của chế độ twelve (tên do nền tảng đặt cố định; thứ tự có thể thay đổi):

# Tên track Ghi chú
1 (Vocals) Giọng hát chính
2 (Backing Vocals) Bè / giọng nền
3 (Drums) Trống
4 (Bass) Bass
5 (Guitar) Guitar
6 (Keyboard) Keyboard / piano
7 (Percussion) Bộ gõ
8 (Strings) Dàn dây
9 (Synth) Synth
10 (FX) Hiệu ứng / không gian
11 (Brass) Kèn đồng
12 (Woodwinds) Kèn gỗ

Chế độ two trả về hai track, (Vocals) và (Instrumental), mỗi track 2 phiên bản. Tên track của two và twelve đều là tên cố định (không kèm tên bài hát nguồn), nên đừng mong nhìn tên mà biết là bài nào.

Không thể dùng tên track làm khoá duy nhất. Trong hai phiên bản sẽ có track trùng tên (ví dụ hai (Vocals), hai (Strings)), và một lần tách trả về nhiều track. Hãy luôn dùng song_id làm định danh, song_title chỉ để hiển thị; cũng đừng dùng chỉ số mảng (thứ tự có thể thay đổi).

Ví dụ yêu cầu

Tách giọng hát / nhạc đệm (stem_mode: "two")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "two",
    "source_audio_url": "https://example.com/source.mp3",
    "source_file_name": "source.mp3",
    "source_title": "Source Song"
  }'

Tách nhiều track (stem_mode: "twelve")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "twelve",
    "source_audio_url": "https://example.com/source.mp3"
  }'

Phản hồi

Khi thành công thường trả về một mảng kết quả tách. Mỗi kết quả là một clip bài hát độc lập và cần tiếp tục truy vấn cho đến khi status chuyển sang trạng thái hoàn tất.

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "stem_clip_id_1",
        "song_title": "(Vocals)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      },
      {
        "song_id": "stem_clip_id_2",
        "song_title": "(Instrumental)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      }
    ]
  }
}

Ở trên chỉ hiển thị 2 trong 4 mục của chế độ two; thực tế trả về 4 (2 phiên bản × {(Vocals), (Instrumental)}); chế độ twelve trả về 24. Số thực tế là độ dài mảng clips.

Khách hàng thường chỉ cần lưu clips[].song_id; các truy vấn và tải xuống sau đó đều xoay quanh những ID này.

Lưu ý

Truy vấn kết quả tách

Sau khi gửi thành công, dùng clips[].song_id gọi POST /api/music/query để truy vấn kết quả.

curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_ids": "stem_clip_id_1,stem_clip_id_2"
  }'

Ví dụ truy vấn đã hoàn tất:

[
  {
    "song_id": "stem_clip_id_1",
    "song_title": "(Vocals)",
    "status": "complete",
    "audio_url": "https://...",
    "cover_url": "https://...",
    "duration": 180.5,
    "generation_type": "separate",
    "stem_from_id": "source_clip_id"
  }
]

Tải tệp track

Khi kết quả tách đã xong, bạn có thể tải một tệp track riêng bằng endpoint tải xuống.

Endpoint: POST /api/music/download-file

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_1",
    "kind": "audio"
  }' \
  --output stem.mp3

kind hỗ trợ:

kind Ghi chú
audio / song / music Tải âm thanh MP3
cover / image Tải ảnh bìa
wav Tải âm thanh WAV
video / mp4 Tải video

Muốn đóng gói tài nguyên liên quan của một kết quả tách, hãy gọi:

curl -X POST https://www.suno-api.io/api/music/download-all \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "stem_clip_id_1"
  }' \
  --output stem-resources.zip

Giải thích trạng thái

Trạng thái Ghi chú
pending Đã gửi, chờ xử lý
queued Đang trong hàng đợi
generating / processing Đang xử lý
complete / completed Đã hoàn tất
error / failed Thất bại, xem error_message

Lỗi thường gặp

Trạng thái HTTP Ghi chú Cách xử lý gợi ý
400 Sai tham số, ví dụ thiếu song_id hoặc stem_mode Kiểm tra tham số yêu cầu
401 API Key không hợp lệ hoặc không được gửi Kiểm tra Authorization
402 Số dư không đủ Nạp tiền rồi thử lại
409 Bài hát nguồn tạm thời không xử lý được Kiểm tra song_id hoặc thử lại sau
500/503 Dịch vụ hoặc nền tảng tạm thời bất thường Thử lại sau hoặc liên hệ hỗ trợ kỹ thuật

Ghi chú tương thích

Tài liệu cũ từng dùng ví dụ một đối tượng như success/task_id/vocals_url/instrumental_url. Tách track hiện tại dựa trên mảng bài hát clips[]: mỗi kết quả tách có song_id riêng, và các truy vấn, tải xuống sau đó đều xoay quanh những song_id này.

Trang liên quan

Tiếp theoAPI xóa giọng hát

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