API för separering (sång och komp)

Uppdaterad 2026-09-18 · Suno-API-teamet

Beskrivning av ändpunkten

Separering delar upp en befintlig låt i sång, komp eller flerspårsresultat. Rekommenderat integrationsflöde:

  1. Om källjudet inte är en låt genererad på den här plattformen, anropa först API för att ladda upp källjud.
  2. Anropa POST /api/music/separate för att skicka separeringsuppgiften.
  3. Fråga efter resultatet med API för låtfrågor och historik.
  4. Ladda ner ljudfilen för varje separeringsresultat med nedladdningsändpunkterna.

Ändpunkt: POST /api/music/separate

Fakturering: Betalt. stem_mode=two för närvarande som standard 0,6 ¥ per anrop; stem_mode=twelve är en flerspårsdelning och för närvarande som standard 3,0 ¥ per anrop. Det faktiskt debiterade beloppet följer prisinställningen i backoffice.

Väntetider och timeouts (viktigt): detta är en synkron ändpunkt — beställningen accepteras och lämnas till generering först när svaret kommer. Mätt: de flesta anrop svarar på 1-3 sekunder, omkring 10% tar längre än 30 sekunder och det längsta är cirka 230 sekunder. Ställ in klientens timeout på 300 sekunder eller mer; inget svar betyder inte att inget genererades, och försök inte igen direkt efter en timeout (det duplicerar beställningen och debiterar igen). Om anslutningen bröts, kontrollera senare med GET /api/music/songs. Se "Väntetider och timeout-inställningar" i Översikt över det nya API:t.

Autentisering

Parameter Typ Krävs Anmärkningar
Authorization string ja Bearer YOUR_API_KEY
Content-Type string ja application/json

Begäransparametrar

Parameter Typ Krävs Standard Anmärkningar
song_id string ja - ID för källlåten som ska separeras
stem_mode string ja - Separeringsläge: two eller twelve
source_audio_url string nej - URL till källjudet
source_file_name string nej - Filnamn för källjudet
source_title string nej - Titel på källlåten

Om stem_mode

Värde Returnerade poster Anmärkningar
two 4 Tvåspårsseparering: sång + komp. En inskickning ger 2 versioner × 2 spår
twelve 24 Flerspårsdelning: 2 versioner × 12 spår; spårnamnen finns i tabellen nedan

Om separering

Separering är en fristående fast funktion: ingen låtgenereringsmodell behöver anges eller väljas. Kunden skickar bara källlåten och stem_mode; servern hanterar resten enligt läget.

Varifrån siffrorna kommer: en inskickning ger 2 versioner (två resultat av samma material), så antalet är 2 × antalet spår i det läget: 4 för two och 24 för twelve. Gå alltid efter den faktiska längden på clips-arrayen i svaret; hårdkoda inte en loop över ett fast antal (enstaka spår kan misslyckas och de lyckade returneras som vanligt).

Vilka spår varje läge returnerar

De 12 spåren i läget twelve (namnen sätts fast av plattformen; ordningen kan variera):

# Spårtitel Anmärkningar
1 (Vocals) Leadsång
2 (Backing Vocals) Harmonisång / kör
3 (Drums) Trummor
4 (Bass) Bas
5 (Guitar) Gitarr
6 (Keyboard) Klaviatur / piano
7 (Percussion) Percussion
8 (Strings) Stråkar
9 (Synth) Synth
10 (FX) Effekter / atmosfär
11 (Brass) Brass
12 (Woodwinds) Träblås

Läget two returnerar två spår, (Vocals) och (Instrumental), vardera i 2 versioner. Spårtitlarna i two och twelve är fasta namn (de innehåller inte källlåtens namn), så förvänta dig inte att kunna se av titeln vilken låt det gäller.

Spårtitlar kan inte användas som unik nyckel. I de två versionerna förekommer spår med samma namn (till exempel två (Vocals), två (Strings)), och en separering returnerar många spår. Använd alltid song_id som identifierare och song_title endast för visning; använd inte heller arrayindex (ordningen kan ändras).

Exempelbegäranden

Sång-/kompseparering (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"
  }'

Flerspårsdelning (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"
  }'

Svar

Vid framgång returneras vanligtvis en array med separeringsresultat. Varje resultat är en fristående låtclip och måste fortsätta frågas tills status når ett slutfört tillstånd.

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

Ovan visas bara 2 av 4 poster i läget two; i praktiken returneras 4 (2 versioner × {(Vocals), (Instrumental)}); läget twelve returnerar 24. Det verkliga antalet är längden på clips-arrayen.

Kunden behöver oftast bara spara clips[].song_id; senare frågor och nedladdningar kretsar kring dessa ID:n.

Noter

Fråga efter separeringsresultat

Efter en lyckad inskickning, fråga efter resultaten med clips[].song_id via 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"
  }'

Exempel på en slutförd fråga:

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

Ladda ner spårfiler

När ett separeringsresultat är klart kan du ladda ner en enskild spårfil med nedladdningsändpunkten.

Ändpunkt: 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 stöder:

kind Anmärkningar
audio / song / music Ladda ner MP3-ljudet
cover / image Ladda ner omslaget
wav Ladda ner WAV-ljudet
video / mp4 Ladda ner videon

För att paketera ett separeringsresultats relaterade resurser, anropa:

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

Statusförklaringar

Status Anmärkningar
pending Inskickad, väntar på bearbetning
queued I kö
generating / processing Bearbetas
complete / completed Klar
error / failed Misslyckades; se error_message

Vanliga fel

HTTP-status Anmärkningar Föreslagen åtgärd
400 Felaktiga parametrar, till exempel saknad song_id eller stem_mode Kontrollera begärans parametrar
401 API-nyckeln är ogiltig eller saknas Kontrollera Authorization
402 Otillräckligt saldo Fyll på och försök igen
409 Källlåten kan inte bearbetas just nu Kontrollera song_id eller försök igen senare
500/503 Tillfälligt fel i tjänsten eller plattformen Försök igen senare eller kontakta teknisk support

Kompatibilitetsnoter

Den äldre dokumentationen använde exempel med ett enda objekt som success/task_id/vocals_url/instrumental_url. Nuvarande separering bygger på låtarrayen clips[]: varje separeringsresultat har sitt eget song_id, och senare frågor och nedladdningar kretsar kring dessa song_id.

Relaterade sidor

NästaAPI för att ta bort sång

Skaffa en API-nyckel

Skapa en API-nyckel i konsolen efter registreringen. Varje generering kostar 0,6 ¥ och returnerar 2 spår, nedladdningar är obegränsade och inget telefonnummer krävs.

Hämta API-nyckel Tillbaka till översikten