API pemisahan trek (vokal dan iringan)

Dikemas kini 2026-09-18 · pasukan Suno-API

Penerangan endpoint

Pemisahan trek membahagikan lagu sedia ada kepada vokal, iringan atau hasil berbilang trek. Aliran integrasi yang disyorkan:

  1. Jika audio sumber bukan lagu yang dijana di platform ini, panggil API muat naik audio sumber dahulu.
  2. Panggil POST /api/music/separate untuk menghantar tugasan pemisahan.
  3. Pertanyaan hasilnya dengan API pertanyaan lagu dan sejarah.
  4. 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 gunakan song_id sebagai pengecam dan song_title hanya 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)}); mod twelve memulangkan 24. Bilangan sebenar ialah panjang tatasusunan clips.

Pelanggan biasanya hanya perlu menyimpan clips[].song_id; pertanyaan dan muat turun seterusnya berkisar pada ID ini.

Nota

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

SeterusnyaAPI penyingkiran vokal

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