API de separare (voce și acompaniament)

Actualizat pe 2026-09-18 · echipa Suno-API

Descrierea endpoint-ului

Separarea împarte o piesă existentă în voce, acompaniament sau rezultate multi-pistă. Fluxul de integrare recomandat este:

  1. Dacă audio-ul sursă nu este o piesă generată pe această platformă, apelează mai întâi API-ul de încărcare a audio-ului sursă.
  2. Apelează POST /api/music/separate pentru a trimite sarcina de separare.
  3. Interoghează rezultatul cu API-ul de interogare a pieselor și de istoric.
  4. Folosește endpoint-urile de descărcare pentru a descărca fișierul audio al fiecărui rezultat de separare.

Endpoint: POST /api/music/separate

Facturare: Cu plată. stem_mode=two momentan implicit 0,6 ¥ per apel; stem_mode=twelve este o separare multi-pistă și momentan implicit 3,0 ¥ per apel. Suma efectiv debitată urmează configurația de prețuri din back-office.

Timpii de așteptare și timeout-urile (important): este un endpoint sincron — comanda este acceptată și transmisă spre generare doar când sosește răspunsul. Din măsurători, majoritatea cererilor răspund în 1-3 secunde, circa 10% depășesc 30 de secunde, iar cea mai lungă este de aproximativ 230 de secunde. Setează timeout-ul clientului la 300 de secunde sau mai mult; lipsa unui răspuns nu înseamnă că nu s-a generat nimic, iar reîncercarea imediat după un timeout dublează comanda și debitează din nou. Dacă conexiunea s-a întrerupt, verifică mai târziu cu GET /api/music/songs. Vezi „Timpii de așteptare și setarea timeout-ului” în Prezentarea noului API.

Autentificare

Parametru Tip Obligatoriu Observații
Authorization string da Bearer YOUR_API_KEY
Content-Type string da application/json

Parametrii cererii

Parametru Tip Obligatoriu Implicit Observații
song_id string da - ID-ul piesei sursă de separat
stem_mode string da - Mod de separare: two sau twelve
source_audio_url string nu - URL-ul audio-ului sursă
source_file_name string nu - Numele fișierului audio sursă
source_title string nu - Titlul piesei sursă

Despre stem_mode

Valoare Intrări returnate Observații
two 4 Separare pe două piste: voce + acompaniament. O trimitere produce 2 versiuni × 2 piste
twelve 24 Separare multi-pistă: 2 versiuni × 12 piste; numele pistelor sunt în tabelul de mai jos

Despre separare

Separarea este o capabilitate fixă independentă: nu trebuie completat sau ales un model de generare a pieselor. Clientul trimite doar piesa sursă și stem_mode; serverul se ocupă conform modului.

De unde provin numerele: o trimitere produce 2 versiuni (două rezultate din același material), deci numărul este 2 × pistele acelui mod: 4 pentru two și 24 pentru twelve. Folosește întotdeauna lungimea reală a tabloului clips din răspuns; nu scrie bucle pe un număr fix (piste individuale pot eșua, iar cele reușite se returnează normal).

Ce piste returnează fiecare mod

Cele 12 piste ale modului twelve (numele sunt fixate de platformă; ordinea poate varia):

# Titlul pistei Observații
1 (Vocals) Voce principală
2 (Backing Vocals) Armonii / voci de acompaniament
3 (Drums) Tobe
4 (Bass) Bas
5 (Guitar) Chitară
6 (Keyboard) Claviaturi / pian
7 (Percussion) Percuție
8 (Strings) Corzi
9 (Synth) Synth
10 (FX) Efecte / ambianță
11 (Brass) Alamă
12 (Woodwinds) Instrumente de suflat din lemn

Modul two returnează două piste, (Vocals) și (Instrumental), fiecare în 2 versiuni. Titlurile pistelor din two și twelve sunt nume fixe (nu conțin numele piesei sursă), așa că nu te aștepta să deduci din titlu din ce piesă provin.

Titlurile pistelor nu pot fi folosite ca cheie unică. În cele două versiuni apar piste cu același nume (de exemplu două (Vocals), două (Strings)), iar o separare returnează multe piste. Folosește întotdeauna song_id ca identificator și song_title doar pentru afișare; nu folosi nici indexurile tabloului (ordinea se poate schimba).

Exemple de cerere

Separare voce / acompaniament (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"
  }'

Separare multi-pistă (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"
  }'

Răspuns

În caz de succes se returnează de obicei un tablou de rezultate de separare. Fiecare rezultat este un clip de piesă independent și trebuie interogat în continuare până când status ajunge într-o stare finalizată.

{
  "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"
      }
    ]
  }
}

Mai sus sunt afișate doar 2 din 4 intrări ale modului two; în practică se returnează 4 (2 versiuni × {(Vocals), (Instrumental)}); modul twelve returnează 24. Numărul real este lungimea tabloului clips.

Clientul trebuie de obicei să salveze doar clips[].song_id; interogările și descărcările ulterioare se învârt în jurul acestor ID-uri.

Note

Interogarea rezultatelor separării

După o trimitere reușită, interoghează rezultatele cu clips[].song_id prin 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"
  }'

Exemplu de interogare finalizată:

[
  {
    "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"
  }
]

Descărcarea fișierelor de piste

Când un rezultat de separare este gata, poți descărca un singur fișier de pistă cu endpoint-ul de descărcare.

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 acceptă:

kind Observații
audio / song / music Descarcă audio-ul MP3
cover / image Descarcă coperta
wav Descarcă audio-ul WAV
video / mp4 Descarcă videoclipul

Pentru a descărca în pachet resursele asociate unui rezultat de separare, apelează:

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

Descrierea stărilor

Stare Observații
pending Trimis, în așteptarea procesării
queued În coadă
generating / processing În procesare
complete / completed Finalizat
error / failed A eșuat; verifică error_message

Erori frecvente

Stare HTTP Observații Gestionare sugerată
400 Parametri greșiți, de exemplu lipsește song_id sau stem_mode Verifică parametrii cererii
401 Cheia API este invalidă sau lipsește Verifică Authorization
402 Sold insuficient Reîncarcă și încearcă din nou
409 Piesa sursă nu poate fi procesată momentan Verifică song_id sau încearcă mai târziu
500/503 Anomalie temporară a serviciului sau platformei Încearcă mai târziu sau contactează suportul tehnic

Note de compatibilitate

Documentația veche folosea exemple cu un singur obiect, precum success/task_id/vocals_url/instrumental_url. Separarea actuală se bazează pe tabloul de piese clips[]: fiecare rezultat are propriul song_id, iar interogările și descărcările ulterioare se învârt în jurul acestor song_id.

Pagini conexe

UrmătorulAPI de eliminare a vocii

Obține o cheie API

Creează o cheie API în consolă după înregistrare. Fiecare generare costă 0,6 ¥ și returnează 2 piese, descărcările sunt nelimitate și nu este nevoie de număr de telefon.

Obține cheia API Înapoi la prezentare