Skip to main content
POST
L’ancien endpoint POST /v1/music/generations/wav est obsolète. Il reste temporairement compatible et équivaut au nouvel endpoint avec formats: ["wav"]. Les nouvelles intégrations doivent utiliser POST /v1/music/generations/download.
Sélectionner la chanson source : transmettez le task_id de la tâche qui a créé l’audio source, puis utilisez audio_index pour choisir une piste dans son résultat music[]. L’index commence à 1 et vaut 1 par défaut.

Authentification

string
requis
Tous les endpoints nécessitent un Bearer Token. Obtenez votre clé sur la page des clés API.

Paramètres de requête

string
défaut:"suno"
Nom du modèle. Utilisez suno ; la valeur par défaut est suno.
string
requis
ID de la tâche ayant créé la chanson source.La tâche source doit appartenir au compte actuel, être terminée et contenir une piste audio téléchargeable. Les tâches de génération, extension, reprise et séparation de pistes sont acceptées ; les tâches textuelles comme les paroles ou l’analyse BPM ne le sont pas.
integer
défaut:"1"
Piste à télécharger dans le résultat music[] de la tâche source.
  • Index à partir de 1
  • Valeur par défaut : 1
  • Ne doit pas dépasser le nombre de pistes source
string[]
Tableau des formats demandés, avec au moins un élément.Valeurs : mp3, m4a, wav.Plusieurs formats peuvent être demandés ensemble. La casse est ignorée, les doublons sont supprimés et l’ordre du résultat correspond à celui de la requête.
string
Pour un seul format, ce champ peut remplacer formats.Exemple : "format": "mp3"
Utilisez soit formats, soit format. Si les deux sont absents ou si la liste est vide, HTTP 400 est renvoyé.

Réponse de soumission

Une soumission réussie renvoie un nouveau task_id pour la tâche de téléchargement.
data est un tableau : lisez data[0].task_id. Il s’agit de l’ID de téléchargement, différent du task_id de la chanson source envoyé dans la requête.

Consulter le résultat

Utilisez l’ID de la tâche de téléchargement :
Les fichiers sont généralement prêts lors de la soumission. Consultez immédiatement une première fois ; si l’état n’est ni completed ni failed, interrogez toutes les 2 secondes pendant 60 secondes maximum.

Terminé

Lisez result.files[] :
result.wavUrl est réservé à la compatibilité avec l’ancien endpoint WAV. Le nouveau code doit toujours lire result.files[].

En cours

Le champ result n’est pas encore présent. Continuez à interroger.

Échec

Les tâches échouées sont automatiquement remboursées avec cost: 0. Affichez error.message et proposez une nouvelle tentative.

URL des fichiers

Les résultats utilisent normalement le domaine de fichiers APIMart. En cas d’échec du transfert, une URL CDN en amont peut être renvoyée sans garantie de durée.
Téléchargez et conservez rapidement le fichier. Ne dépendez pas d’une URL temporaire pour le stockage à long terme.

Erreurs

Les erreurs de validation renvoient HTTP 400 avant la création et la facturation : HTTP 403 avec model_price_not_configured signifie que le tarif suno@download n’est pas configuré ; contactez le support.

Facturation et téléchargements répétés

  • Une requête avec plusieurs formats entraîne une seule facturation
  • Soumettre à nouveau la même chanson entraîne une nouvelle facturation
  • Demander un autre format dans une nouvelle tâche entraîne également une facturation
  • Les tâches échouées sont remboursées automatiquement
Réutilisez les URL déjà reçues et désactivez le bouton pendant la requête afin d’éviter les soumissions et frais en double.

Migration depuis l’ancien endpoint

L’ancien endpoint reste temporairement disponible, mais tout nouveau code doit utiliser /generations/download.

Response

integer
Code de réponse ; 200 en cas de succès
array
Données de la réponse de soumission