API di separazione (voce e base)

Aggiornato il 2026-09-18 · team Suno-API

Descrizione dell'endpoint

La separazione divide un brano esistente in voce, base o risultati multitraccia. Il flusso di integrazione consigliato è:

  1. Se l'audio di origine non è un brano generato su questa piattaforma, chiama prima l'API di caricamento dell'audio di origine.
  2. Chiama POST /api/music/separate per inviare l'attività di separazione.
  3. Interroga il risultato con l'API di consultazione e cronologia dei brani.
  4. Usa gli endpoint di download per scaricare il file audio di ogni risultato di separazione.

Endpoint: POST /api/music/separate

Fatturazione: A pagamento. stem_mode=two attualmente 0,6 ¥ per chiamata per impostazione predefinita; stem_mode=twelve è una separazione multitraccia e attualmente 3,0 ¥ per chiamata per impostazione predefinita. L'importo effettivamente addebitato segue la configurazione prezzi del back-office.

Tempi di attesa e timeout (importante): è un endpoint sincrono — l'ordine viene accettato e passato alla generazione solo quando arriva la risposta. Dai dati misurati, la maggior parte delle richieste risponde in 1-3 secondi, circa il 10% supera i 30 secondi e la più lunga arriva a circa 230 secondi. Imposta il timeout del client a 300 secondi o più; nessuna risposta non significa che non sia stato generato nulla, e non ritentare subito dopo un timeout (duplica l'ordine e riaddebita). Se la connessione è caduta, verifica più tardi con GET /api/music/songs. Vedi «Tempi di attesa e impostazione del timeout» nella Panoramica della nuova API.

Autenticazione

Parametro Tipo Obbligatorio Note
Authorization string sì Bearer YOUR_API_KEY
Content-Type string sì application/json

Parametri della richiesta

Parametro Tipo Obbligatorio Predefinito Note
song_id string sì - ID del brano di origine da separare
stem_mode string sì - Modalità di separazione: two o twelve
source_audio_url string no - URL dell'audio di origine
source_file_name string no - Nome del file audio di origine
source_title string no - Titolo del brano di origine

Informazioni su stem_mode

Valore Voci restituite Note
two 4 Separazione in due tracce: voce + base. Un invio produce 2 versioni × 2 tracce
twelve 24 Separazione multitraccia: 2 versioni × 12 tracce; i nomi delle tracce sono nella tabella sotto

Informazioni sulla separazione

La separazione è una capacità fissa e indipendente: non serve indicare né scegliere un modello di generazione dei brani. Il cliente invia solo il brano di origine e stem_mode; il server se ne occupa in base alla modalità.

Da dove vengono i numeri: un invio produce 2 versioni (due risultati dello stesso materiale), quindi il numero è 2 × le tracce di quella modalità: 4 per two e 24 per twelve. Basati sempre sulla lunghezza reale dell'array clips nella risposta; non scrivere cicli su un numero fisso (singole tracce possono fallire e quelle riuscite vengono restituite come al solito).

Quali tracce restituisce ogni modalità

Le 12 tracce della modalità twelve (i nomi sono fissati dalla piattaforma; l'ordine può variare):

# Titolo della traccia Note
1 (Vocals) Voce principale
2 (Backing Vocals) Armonie / cori
3 (Drums) Batteria
4 (Bass) Basso
5 (Guitar) Chitarra
6 (Keyboard) Tastiere / pianoforte
7 (Percussion) Percussioni
8 (Strings) Archi
9 (Synth) Synth
10 (FX) Effetti / ambiente
11 (Brass) Ottoni
12 (Woodwinds) Legni

La modalità two restituisce due tracce, (Vocals) e (Instrumental), ciascuna in 2 versioni. I titoli delle tracce di two e twelve sono nomi fissi (non contengono il nome del brano di origine), quindi non aspettarti di capire dal titolo da quale brano provengono.

I titoli delle tracce non valgono come chiave univoca. Nelle due versioni compaiono tracce con lo stesso nome (per esempio due (Vocals), due (Strings)), e una separazione restituisce molte tracce. Usa sempre song_id come identificatore e song_title solo per la visualizzazione; non usare nemmeno gli indici dell'array (l'ordine può cambiare).

Esempi di richiesta

Separazione voce / base (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"
  }'

Separazione multitraccia (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"
  }'

Risposta

In caso di successo viene di solito restituito un array di risultati di separazione. Ogni risultato è un clip di brano indipendente e va interrogato finché status non raggiunge uno stato completato.

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

Sopra sono mostrate solo 2 delle 4 voci della modalità two; in pratica ne vengono restituite 4 (2 versioni × {(Vocals), (Instrumental)}); la modalità twelve ne restituisce 24. Il numero reale è la lunghezza dell'array clips.

Di solito il cliente deve solo salvare clips[].song_id; le consultazioni e i download successivi ruotano attorno a questi ID.

Note

Consultare i risultati della separazione

Dopo un invio riuscito, consulta i risultati con clips[].song_id tramite 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"
  }'

Esempio di consultazione completata:

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

Scaricare i file delle tracce

Quando un risultato di separazione è completo, puoi scaricare un singolo file di traccia con l'endpoint di download.

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 supporta:

kind Note
audio / song / music Scarica l'audio MP3
cover / image Scarica la copertina
wav Scarica l'audio WAV
video / mp4 Scarica il video

Per scaricare in pacchetto le risorse correlate di un risultato di separazione, chiama:

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

Descrizione degli stati

Stato Note
pending Inviato, in attesa di elaborazione
queued In coda
generating / processing In elaborazione
complete / completed Completato
error / failed Non riuscito; controlla error_message

Errori frequenti

Stato HTTP Note Gestione suggerita
400 Parametri errati, per esempio song_id o stem_mode mancanti Controlla i parametri della richiesta
401 Chiave API non valida o assente Controlla Authorization
402 Saldo insufficiente Ricarica e riprova
409 Il brano di origine non può essere elaborato al momento Controlla song_id o riprova più tardi
500/503 Anomalia temporanea del servizio o della piattaforma Riprova più tardi o contatta il supporto tecnico

Note di compatibilità

La documentazione precedente usava esempi a oggetto singolo come success/task_id/vocals_url/instrumental_url. La separazione attuale si basa sull'array di brani clips[]: ogni risultato di separazione ha il proprio song_id, e le consultazioni e i download successivi ruotano attorno a questi song_id.

Pagine correlate

AvantiAPI di rimozione della voce

Ottenere una chiave API

Dopo la registrazione puoi creare una chiave API nella console. Ogni generazione costa 0,6 ¥ e restituisce 2 brani, i download sono illimitati e non serve un numero di telefono.

Ottieni chiave API Torna alla panoramica