API pemisahan trek (vokal dan iringan)
Penerangan endpoint
Pemisahan trek membahagikan lagu sedia ada kepada vokal, iringan atau hasil berbilang trek. Aliran integrasi yang disyorkan:
- Jika audio sumber bukan lagu yang dijana di platform ini, panggil API muat naik audio sumber dahulu.
- Panggil
POST /api/music/separateuntuk menghantar tugasan pemisahan. - Pertanyaan hasilnya dengan API pertanyaan lagu dan sejarah.
- Muat turun fail audio bagi setiap hasil pemisahan dengan endpoint muat turun.
Endpoint: POST /api/music/separate
Pengebilan: Berbayar. stem_mode=two kini lalai 0.6 ¥ setiap panggilan; stem_mode=twelve ialah pemisahan berbilang trek dan kini lalai 3.0 ¥ setiap panggilan. Jumlah yang benar-benar dicaj mengikut tetapan harga dalam back-office.
Masa menunggu dan timeout (penting): ini endpoint segerak — pesanan hanya diterima dan dihantar ke penjanaan apabila respons tiba. Berdasarkan ukuran, kebanyakan permintaan membalas dalam 1-3 saat, kira-kira 10% melebihi 30 saat dan paling lama sekitar 230 saat. Tetapkan timeout klien kepada 300 saat atau lebih; tiada respons tidak bermakna tiada apa-apa dijana, dan jangan cuba semula sejurus selepas timeout (ia menggandakan pesanan dan mencaj dua kali). Jika sambungan terputus, periksa kemudian dengan
GET /api/music/songs. Lihat "Masa menunggu dan tetapan timeout" dalam Gambaran keseluruhan API baharu.
Pengesahan
| Parameter | Jenis | Wajib | Nota |
|---|---|---|---|
| Authorization | string | ya | Bearer YOUR_API_KEY |
| Content-Type | string | ya | application/json |
Parameter permintaan
| Parameter | Jenis | Wajib | Lalai | Nota |
|---|---|---|---|---|
| song_id | string | ya | - | ID lagu sumber yang akan dipisahkan |
| stem_mode | string | ya | - | Mod pemisahan: two atau twelve |
| source_audio_url | string | tidak | - | URL audio sumber |
| source_file_name | string | tidak | - | Nama fail audio sumber |
| source_title | string | tidak | - | Tajuk lagu sumber |
Perihal stem_mode
| Nilai | Item dipulangkan | Nota |
|---|---|---|
two |
4 | Pemisahan dua trek: vokal + iringan. Satu penghantaran menghasilkan 2 versi × 2 trek |
twelve |
24 | Pemisahan berbilang trek: 2 versi × 12 trek; nama trek ada dalam jadual di bawah |
Perihal pemisahan
Pemisahan trek ialah keupayaan tetap yang tersendiri: tidak perlu mengisi atau memilih model penjanaan lagu. Pelanggan hanya menghantar lagu sumber dan stem_mode; pelayan akan mengendalikannya mengikut mod.
Dari mana angka itu datang: satu penghantaran menghasilkan 2 versi (dua hasil daripada bahan yang sama), jadi bilangannya = 2 × bilangan trek mod itu: two ialah 4, twelve ialah 24.
Sentiasa berpandukan panjang sebenar tatasusunan clips dalam respons; jangan tulis gelung dengan bilangan tetap (sebahagian trek mungkin gagal dan yang berjaya tetap dipulangkan seperti biasa).
Trek apa yang dipulangkan setiap mod
12 trek mod twelve (namanya ditetapkan platform; susunannya boleh berubah):
| # | Nama trek | Nota |
|---|---|---|
| 1 | (Vocals) |
Vokal utama |
| 2 | (Backing Vocals) |
Harmoni / vokal latar |
| 3 | (Drums) |
Dram |
| 4 | (Bass) |
Bes |
| 5 | (Guitar) |
Gitar |
| 6 | (Keyboard) |
Papan kekunci / piano |
| 7 | (Percussion) |
Perkusi |
| 8 | (Strings) |
Bertali |
| 9 | (Synth) |
Synth |
| 10 | (FX) |
Kesan / ambien |
| 11 | (Brass) |
Tembaga |
| 12 | (Woodwinds) |
Tiupan kayu |
Mod two memulangkan dua trek, (Vocals) dan (Instrumental), masing-masing 2 versi.
Nama trek bagi two dan twelve ialah nama tetap (tiada nama lagu sumber), jadi jangan harap dapat tahu lagunya daripada nama itu.
Nama trek tidak boleh dijadikan kunci unik. Dalam dua versi akan muncul trek dengan nama sama (contohnya dua
(Vocals), dua(Strings)), dan satu pemisahan memulangkan banyak trek. Sentiasa gunakansong_idsebagai pengecam dansong_titlehanya untuk paparan; jangan gunakan indeks tatasusunan juga (susunannya boleh berubah).
Contoh permintaan
Pemisahan vokal / iringan (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"
}'
Pemisahan berbilang trek (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"
}'
Respons
Apabila berjaya biasanya dipulangkan tatasusunan hasil pemisahan. Setiap hasil ialah klip lagu tersendiri dan perlu terus dipertanyakan sehingga status menjadi keadaan selesai.
{
"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"
}
]
}
}
Di atas hanya ditunjukkan 2 daripada 4 item mod
two; sebenarnya 4 dipulangkan (2 versi × {(Vocals),(Instrumental)}); modtwelvememulangkan 24. Bilangan sebenar ialah panjang tatasusunanclips.
Pelanggan biasanya hanya perlu menyimpan clips[].song_id; pertanyaan dan muat turun seterusnya berkisar pada ID ini.
Nota
- Hasil pemisahan tidak muncul dalam sejarah
GET /api/music/songs(senarai itu hanya memulangkan lagu janaan biasa). Selepas penghantaran berjaya, simpanclips[].song_iddengan segera, jika tidak ia tidak akan dapat dicari kemudian. - Setiap trek ialah karya tersendiri: setiap trek mempunyai
song_idsendiri dan perlu dipertanyakan sendiri sehingga selesai serta dimuat turun sendiri. - Pengebilan tidak bergantung pada bilangan item: dicaj setiap panggilan (
two0.6 ¥ setiap panggilan,twelve3.0 ¥ setiap panggilan), 4 atau 24 item harganya sama. - Muat turun: gunakan
song_idtrek itu denganPOST /api/music/download-url/download-file(percuma), atau terusaudio_urldaripada hasil pertanyaan; untuk MIDI lihat API pengambilan MIDI. - Jangan hantar dua kali: pemisahan ialah endpoint segerak, jadi selepas timeout periksa dulu melalui pertanyaan lagu, jangan terus cuba semula (pesanan berganda dan dicaj dua kali).
- Sembunyikan trek yang tidak diperlukan lagi dengan API padam stem.
Mempertanyakan hasil pemisahan
Selepas penghantaran berjaya, pertanyakan hasilnya dengan clips[].song_id melalui POST /api/music/query.
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"
}'
Contoh pertanyaan yang selesai:
[
{
"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"
}
]
Memuat turun fail trek
Apabila hasil pemisahan selesai, anda boleh memuat turun satu fail trek dengan endpoint muat turun.
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 yang disokong:
| kind | Nota |
|---|---|
audio / song / music |
Muat turun audio MP3 |
cover / image |
Muat turun kulit album |
wav |
Muat turun audio WAV |
video / mp4 |
Muat turun video |
Untuk memuat turun sumber berkaitan satu hasil pemisahan sebagai pakej, panggil:
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
Penjelasan status
| Status | Nota |
|---|---|
pending |
Sudah dihantar, menunggu diproses |
queued |
Dalam baris gilir |
generating / processing |
Sedang diproses |
complete / completed |
Selesai |
error / failed |
Gagal; lihat error_message |
Kesalahan lazim
| Status HTTP | Nota | Cadangan pengendalian |
|---|---|---|
| 400 | Parameter salah, contohnya song_id atau stem_mode tiada |
Periksa parameter permintaan |
| 401 | API Key tidak sah atau tidak dihantar | Periksa Authorization |
| 402 | Baki tidak mencukupi | Tambah nilai kemudian cuba semula |
| 409 | Lagu sumber tidak boleh diproses buat masa ini | Periksa song_id atau cuba lagi kemudian |
| 500/503 | Gangguan sementara perkhidmatan atau platform | Cuba lagi kemudian atau hubungi sokongan teknikal |
Nota keserasian
Dokumentasi lama menggunakan contoh objek tunggal seperti success/task_id/vocals_url/instrumental_url. Pemisahan versi sekarang berasaskan tatasusunan lagu clips[]: setiap hasil pemisahan mempunyai song_id sendiri, dan pertanyaan serta muat turun seterusnya berkisar pada song_id tersebut.
Endpoint berkaitan
- Jika hanya mahu memisahkan vokal dan iringan tanpa memilih mod, gunakan API penyingkiran vokal; ia bentuk pantas dua trek bagi endpoint ini dan buat masa ini percuma.
- Sembunyikan trek pemisahan yang tidak diperlukan lagi dengan API padam stem (padam lembut, tanpa kos).
- Untuk MIDI sesuatu trek lihat API pengambilan MIDI; untuk audio, kulit album dan media lain lihat API muat turun dan pratonton media lagu.
Dapatkan kunci API
Cipta kunci API dalam konsol selepas mendaftar. Setiap penjanaan berharga 0.6 ¥ dan mengembalikan 2 lagu, muat turun tanpa had dan nombor telefon tidak diperlukan.
Dapatkan kunci API Kembali ke gambaran