API de séparation (voix et accompagnement)
Description du point d'accès
La séparation découpe un morceau existant en voix, accompagnement ou résultats multipistes. Le flux d'intégration recommandé est le suivant :
- Si l'audio source n'est pas un morceau généré sur cette plateforme, appelez d'abord l'API d'envoi d'audio source.
- Appelez
POST /api/music/separatepour soumettre la tâche de séparation. - Interrogez le résultat avec l'API de consultation et d'historique des morceaux.
- Utilisez les points d'accès de téléchargement pour récupérer le fichier audio de chaque résultat de séparation.
Point d'accès : POST /api/music/separate
Facturation : Payant. stem_mode=two actuellement 0,6 ¥ par appel par défaut ; stem_mode=twelve est un découpage multipiste et actuellement 3,0 ¥ par appel par défaut. Le montant réellement facturé suit la configuration tarifaire du back-office.
Temps d'attente et timeouts (important) : c'est un point d'accès synchrone — la commande n'est acceptée et transmise à la génération qu'à l'arrivée de la réponse. D'après les mesures, la plupart des requêtes répondent en 1 à 3 secondes, environ 10 % prennent plus de 30 secondes et la plus longue avoisine 230 secondes. Réglez le timeout du client à 300 secondes ou plus ; l'absence de réponse ne signifie pas qu'aucune génération n'a eu lieu, et ne réessayez pas juste après un timeout (cela duplique la commande et refacture). Si la connexion a été coupée, vérifiez plus tard avec
GET /api/music/songs. Voir « Temps d'attente et réglage du timeout » dans la Présentation de la nouvelle API.
Authentification
| Paramètre | Type | Obligatoire | Remarques |
|---|---|---|---|
| Authorization | string | oui | Bearer YOUR_API_KEY |
| Content-Type | string | oui | application/json |
Paramètres de la requête
| Paramètre | Type | Obligatoire | Par défaut | Remarques |
|---|---|---|---|---|
| song_id | string | oui | - | ID du morceau source à séparer |
| stem_mode | string | oui | - | Mode de séparation : two ou twelve |
| source_audio_url | string | non | - | URL de l'audio source |
| source_file_name | string | non | - | Nom du fichier audio source |
| source_title | string | non | - | Titre du morceau source |
À propos de stem_mode
| Valeur | Entrées renvoyées | Remarques |
|---|---|---|
two |
4 | Séparation en deux pistes : voix + accompagnement. Une soumission produit 2 versions × 2 pistes |
twelve |
24 | Découpage multipiste : 2 versions × 12 pistes ; les noms de pistes sont dans le tableau ci-dessous |
À propos de la séparation
La séparation est une capacité fixe et indépendante : il n'y a pas de modèle de génération de morceaux à renseigner ni à choisir. Le client envoie simplement le morceau source et stem_mode ; le serveur s'en charge selon le mode.
D'où viennent les nombres : une soumission produit 2 versions (deux résultats du même matériel), donc le nombre est 2 × les pistes de ce mode : 4 pour two et 24 pour twelve.
Fiez-vous toujours à la longueur réelle du tableau clips dans la réponse ; n'écrivez pas de boucle sur un nombre fixe (une piste peut échouer et les pistes réussies sont renvoyées normalement).
Quelles pistes chaque mode renvoie
Les 12 pistes du mode twelve (les noms sont fixés par la plateforme ; l'ordre peut varier) :
| # | Titre de la piste | Remarques |
|---|---|---|
| 1 | (Vocals) |
Voix principale |
| 2 | (Backing Vocals) |
Harmonies / chœurs |
| 3 | (Drums) |
Batterie |
| 4 | (Bass) |
Basse |
| 5 | (Guitar) |
Guitare |
| 6 | (Keyboard) |
Claviers / piano |
| 7 | (Percussion) |
Percussions |
| 8 | (Strings) |
Cordes |
| 9 | (Synth) |
Synthé |
| 10 | (FX) |
Effets / ambiance |
| 11 | (Brass) |
Cuivres |
| 12 | (Woodwinds) |
Bois |
Le mode two renvoie deux pistes, (Vocals) et (Instrumental), chacune en 2 versions.
Les titres de pistes de two et twelve sont des noms fixes (ils ne portent pas le nom du morceau source), donc n'espérez pas déduire du titre de quel morceau il s'agit.
Les titres de pistes ne peuvent pas servir de clé unique. Les deux versions contiennent des pistes de même nom (par exemple deux
(Vocals), deux(Strings)), et une séparation renvoie de nombreuses pistes. Utilisez toujourssong_idcomme identifiant etsong_titleuniquement pour l'affichage ; n'utilisez pas non plus les index du tableau (l'ordre peut changer).
Exemples de requête
Séparation voix / accompagnement (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"
}'
Découpage multipiste (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éponse
En cas de succès, un tableau de résultats de séparation est généralement renvoyé. Chaque résultat est un clip de morceau indépendant et doit continuer à être interrogé jusqu'à ce que status passe à un état terminé.
{
"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"
}
]
}
}
Ci-dessus, seules 2 des 4 entrées du mode
twosont montrées ; en pratique 4 sont renvoyées (2 versions × {(Vocals),(Instrumental)}) ; le modetwelveen renvoie 24. Le nombre réel correspond à la longueur du tableauclips.
Le client n'a généralement besoin de conserver que clips[].song_id ; les consultations et téléchargements suivants s'articulent autour de ces ID.
Remarques
- Les résultats de séparation n'apparaissent pas dans l'historique de
GET /api/music/songs(cette liste ne renvoie que les morceaux générés ordinaires). Après une soumission réussie, conservezclips[].song_idimmédiatement, sinon vous ne pourrez plus les retrouver. - Chaque piste est une œuvre indépendante : chaque piste a son propre
song_idet doit être interrogée jusqu'à la fin puis téléchargée séparément. - La facturation est indépendante du nombre d'entrées : elle se fait par appel (
two0,6 ¥ par appel,twelve3,0 ¥ par appel), et 4 ou 24 entrées coûtent le même prix. - Téléchargement : utilisez le
song_idde cette piste avecPOST /api/music/download-url/download-file(gratuit), ou directement l'audio_urldu résultat de la consultation ; pour le MIDI, voir l'API de récupération MIDI. - Ne soumettez pas deux fois : la séparation est un point d'accès synchrone, donc après un timeout confirmez d'abord avec la consultation des morceaux au lieu de réessayer tout de suite (cela duplique la commande et refacture).
- Masquez les pistes devenues inutiles avec l'API de suppression des stems.
Consulter les résultats de séparation
Après une soumission réussie, interrogez les résultats avec 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"
}'
Exemple de consultation terminée :
[
{
"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"
}
]
Télécharger les fichiers de stems
Une fois un résultat de séparation terminé, vous pouvez télécharger un fichier de stem individuel avec le point d'accès de téléchargement.
Point d'accès : 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 accepte :
| kind | Remarques |
|---|---|
audio / song / music |
Télécharger l'audio MP3 |
cover / image |
Télécharger la pochette |
wav |
Télécharger l'audio WAV |
video / mp4 |
Télécharger la vidéo |
Pour empaqueter les ressources liées à un résultat de séparation, appelez :
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
Description des statuts
| Statut | Remarques |
|---|---|
pending |
Soumis, en attente de traitement |
queued |
En file d'attente |
generating / processing |
En cours de traitement |
complete / completed |
Terminé |
error / failed |
Échec ; consultez error_message |
Erreurs courantes
| Statut HTTP | Remarques | Traitement suggéré |
|---|---|---|
| 400 | Paramètres erronés, par exemple song_id ou stem_mode manquant |
Vérifiez les paramètres de la requête |
| 401 | Clé d'API invalide ou absente | Vérifiez Authorization |
| 402 | Solde insuffisant | Rechargez puis réessayez |
| 409 | Le morceau source ne peut pas être traité pour l'instant | Vérifiez song_id ou réessayez plus tard |
| 500/503 | Anomalie temporaire du service ou de la plateforme | Réessayez plus tard ou contactez le support technique |
Notes de compatibilité
L'ancienne documentation utilisait des exemples à objet unique comme success/task_id/vocals_url/instrumental_url. La séparation actuelle s'appuie sur le tableau de morceaux clips[] : chaque résultat de séparation possède son propre song_id, et les consultations et téléchargements suivants s'articulent autour de ces song_id.
Pages associées
- Si vous voulez seulement séparer la voix et l'accompagnement sans choisir de mode, utilisez l'API de suppression de la voix ; c'est la forme rapide à deux pistes de ce point d'accès et elle est actuellement gratuite.
- Masquez les pistes de séparation devenues inutiles avec l'API de suppression des stems (suppression logique, sans frais).
- Pour le MIDI d'un stem, voir l'API de récupération MIDI ; pour l'audio, la pochette et les autres médias, l' API de téléchargement et d'écoute des médias de morceaux.
Obtenir une clé d'API
Créez une clé d'API dans la console après votre inscription. Chaque génération coûte 0,6 ¥ et renvoie 2 pistes, les téléchargements sont illimités et aucun numéro de téléphone n'est requis.
Obtenir une clé d'API Retour à la présentation