Présentation de la documentation Suno API

Mis à jour le 2026-09-18 · équipe Suno-API

Une inscription par e-mail suffit pour créer une clé d'API. Une génération coûte 0,6 ¥ et renvoie 2 morceaux, avec téléchargement MP3/WAV, reprises, Extend, séparation de pistes et clonage vocal. URL de base : https://www.suno-api.io.

Cette page présente les modèles disponibles, tous les points d'entrée de génération et d'édition, la facturation et l'ordre de lecture recommandé. Si c'est votre première intégration, lisez-la de haut en bas ; les pistes de diagnostic 401/403/429 s'y trouvent aussi.

Réponses rapides

Comment obtenir une clé d'API ? Inscrivez-vous avec un e-mail, ouvrez la console, allez dans la gestion des jetons et créez un jeton. Aucun numéro de téléphone ni carte bancaire n'est nécessaire.

Combien coûte un appel ? Une génération coûte 0,6 ¥ et renvoie 2 morceaux. Les requêtes de statut, le WAV, les paroles horodatées et les suggestions de prompt sont gratuits.

Quels modèles sont pris en charge ? suno-v6 (par défaut), suno-v6-wild et suno-v6-mini. Les modèles de génération standard v5.5 et antérieurs sont retirés ; les travaux existants ne sont pas affectés.

Quelle est l'URL de base ? https://www.suno-api.io, avec l'en-tête Authorization: Bearer YOUR_API_KEY.

Modèles actuellement disponibles

Les modèles accessibles au client pour la génération standard sont suno-v6, suno-v6-wild et suno-v6-mini. Si model est omis, suno-v6 est utilisé.

Les modèles standard suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 et suno-v5-5 sont retirés. Des tâches historiques peuvent encore afficher ces noms : c'est de l'historique, pas la preuve que le modèle reste utilisable pour de nouvelles requêtes. La séparation de pistes fait exception — voir API de séparation (voix/accompagnement).

Authentification

Tous les points d'entrée publics à clé d'API utilisent les mêmes en-têtes :

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

URL de base :

https://www.suno-api.io

Conventions générales des paramètres

Limites des champs de texte

Dépasser une limite renvoie directement HTTP 400 : rien n'est généré, rien n'est pré-débité et aucune tâche n'est créée. Le comptage se fait en caractères Unicode (un idéogramme compte pour 1) et les espaces en début et fin comptent aussi.

Champ (alias compatibles documentés inclus) Limite
prompt / lyrics / description / theme / gpt_description_prompt 3000 caractères
style_tags / tags / style / original_tags 1000 caractères
negative_tags 1000 caractères
song_title / title 100 caractères

Le message d'erreur indique le champ fautif et la longueur mesurée : ces deux nombres suffisent pour ajuster le texte.

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Concerne : /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Une exception : le champ description de POST /api/music/sounds est limité à 100 caractères, car le chemin des effets sonores applique la limite plus courte de la plateforme.

Génération asynchrone et adresses audio

Les points d'entrée de génération musicale fonctionnent par défaut de façon asynchrone. Lorsque la première réponse porte un status à pending, submitted ou processing, un audio_url, video_url ou cover_url vide est normal et ne signifie pas un échec. Conservez le song_id réel (ou le client_request_id renvoyé) et interrogez le point d'entrée de requête correspondant ; ne lisez et ne téléchargez une adresse audio qu'une fois le statut terminé.

⚠️ Les adresses audio expirent au bout de 7 jours — transférez vos fichiers à temps

audio_url, wav_url, video_url et les adresses renvoyées par les points d'entrée de téléchargement sont servies depuis le stockage objet de la plateforme et expirent par défaut au bout de 7 jours (les fichiers sont recyclés ; une ancienne adresse renvoie 404 / échoue au téléchargement).

  • Dans ces 7 jours, copiez les fichiers dans votre propre stockage (votre stockage objet, un CDN ou un disque de serveur). Ne traitez pas nos adresses comme des liens durables.
  • Une adresse expirée n'oblige pas à régénérer le morceau et n'entraîne aucun frais supplémentaire : rappelez l'API de requête des morceaux (ou l'API de téléchargement des médias) pour obtenir une nouvelle adresse valide.

Temps d'attente et réglage des délais

Les points d'entrée de génération sont synchrones : la commande n'est acceptée et transmise à la plateforme qu'au retour de la réponse. Avant cela, le service doit planifier un compte et passer le contrôle de sécurité nécessaire, sans aucune réponse intermédiaire — aucun autre point d'entrée ne voit la commande. La seule preuve fiable qu'« une génération a eu lieu » est donc la réponse elle-même, pas ce que l'on observe pendant l'attente.

Temps d'attente mesurés (production, famille /api/music/create, du 18 au 20 septembre 2026)

Centile Attente
p50 environ 1,2–1,6 s
p75 environ 2–6 s
p90 environ 42–49 s
p95 environ 48–76 s
p99 environ 109–160 s
maximum environ 230 s

Exigences d'intégration

  1. Réglez le délai d'attente du client à 300 secondes ou plus. Les clients réglés à 30, 60 ou 120 secondes coupent la connexion pendant l'attente.
  2. L'absence de réponse ne signifie pas l'absence de génération. En cas de délai dépassé ou de connexion coupée, la commande peut déjà être acceptée et en cours de génération.
  3. Ne réessayez pas immédiatement après un délai dépassé : une soumission en double crée une seconde commande et refacture.
  4. Si la connexion a été coupée, listez vos morceaux avec GET /api/music/songs (du plus récent au plus ancien) un peu plus tard — les commandes acceptées apparaissent normalement. Ne resoumettez qu'après avoir confirmé que la commande est réellement absente.
  5. Pour un incident, joignez l'en-tête de réponse X-Oneapi-Request-Id afin que la requête concernée soit identifiée directement.

Vous préférez ne pas garder une longue connexion ? Utilisez le mode accusé de réception. POST /api/music/create et POST /api/music/create/custom acceptent un accusé facultatif : ajoutez "accept_mode": "async" au corps (ou l'en-tête X-Accept-Mode: async) et le point d'entrée renvoie immédiatement 202 avec un numéro d'accusé, la génération se poursuivant en arrière-plan ; suivez la progression avec GET /api/music/requests/{request_id}. Un client limité à quelques dizaines de secondes ne peut plus confondre « pas de réponse » et « rien de généré », ni facturer deux fois à cause d'un nouvel essai. Voir « Mode accusé de réception » dans l'API de génération en mode simple.

Pour référence : python requests utilise timeout=300, urllib utilise urlopen(..., timeout=300), Node utilise req.setTimeout(300000), curl utilise --max-time 300.

Liste des points d'entrée recommandés

Capacité Méthode Chemin Note de facturation Documentation
Solde du compte GET /api/user/balance Gratuit Voir
Génération mode simple POST /api/music/create Payant, actuellement 0,6 ¥ par appel par défaut Voir
Génération mode personnalisé POST /api/music/create/custom Payant ; prend en charge le genre vocal, l'influence du style et l'aléatoire Voir
Génération de discours (Speech) POST /api/music/speech Payant, actuellement 0,6 ¥ par appel ; musique de fond en option Voir
Progression de l'accusé de réception GET /api/music/requests/{request_id} Gratuit ; utilisé avec accept_mode=async Voir
Effets sonores POST /api/music/sounds Payant, actuellement 0,6 ¥ par appel Voir
Génération de paroles POST /api/lyrics/generate Gratuit dans le quota (10/min, 300/jour), puis 0,1 ¥ par appel Voir
Création de profil vocal (recommandé) POST /api/music/voice-profile/create Gratuit (enhanced=true facturé au tarif de clone renforcé) Voir
Reprise avec votre voix (recommandé) POST /api/music/voice-profile/cover 1,2 ¥ par appel ; 2,4 ¥ avec Max Mode Voir
Liste / détail / suppression des voix (recommandé) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Gratuit Voir
Clone vocal (chaîne historique, non recommandé) POST /api/voice/clone/validate Gratuit Voir
Consulter une tâche de clone vocal GET /api/voice/clone/tasks/:voice_task_id Gratuit Voir
Régénérer le texte de vérification POST /api/voice/clone/tasks/:voice_task_id/regenerate Gratuit Voir
Soumettre l'audio de vérification et créer la voix POST /api/voice/clone/tasks/:voice_task_id/generate Facturé selon les règles du clone vocal Voir
Vérifier qu'une voix clonée est utilisable POST /api/voice/clone/tasks/:voice_task_id/check Gratuit Voir
Supprimer une voix clonée DELETE /api/voice/clone/voices/:voice_task_id Gratuit Voir
Générer avec une voix choisie POST /api/music/generate-with-voice Payant, 1,2 ¥ par appel ; 2,4 ¥ avec Max Mode Voir
Consulter les résultats d'une voix choisie GET /api/music/generate-with-voice/results Gratuit Voir
Renforcement du style POST /api/music/boost-style Gratuit dans le quota (10/min, 300/jour), puis 0,1 ¥ par appel Voir
Suggestions de prompt POST /api/prompts/suggestions Gratuit dans le quota (10/min, 300/jour), puis 0,1 ¥ par appel Voir
Envoyer un audio source POST /api/music/upload-source Gratuit Voir
Soumettre un envoi renforcé POST /api/music/enhanced-upload Payant, 10 ¥ par appel Voir
Lister les tâches d'envoi renforcé GET /api/music/enhanced-upload Gratuit Voir
Consulter une tâche d'envoi renforcé GET /api/music/enhanced-upload/:id Gratuit Voir
Annuler une tâche d'envoi renforcé POST /api/music/enhanced-upload/:id/cancel Gratuit ; seules les étapes annulables sont remboursées Voir
Envoyer puis reprendre POST /api/music/upload-cover Payant, actuellement 0,6 ¥ par appel ; pour un audio volumineux, préférez upload-source + generate-from-source Voir
Reprise depuis un clip source POST /api/music/generate-from-source Payant, actuellement 0,6 ¥ par appel Voir
Extend POST /api/music/extend Payant, actuellement 0,6 ¥ par appel Voir
Remplacement de section POST /api/music/replace-section Payant, actuellement 0,6 ¥ par appel Voir
Get Full Song POST /api/music/concat Payant, 0,05 ¥ fixe par appel Voir
Remaster POST /api/music/remaster Payant, actuellement 0,6 ¥ par appel Voir
Ajouter un instrumental POST /api/music/add-instrumental Payant, facturé selon le modèle demandé Voir
Ajouter une voix POST /api/music/add-vocal Payant, facturé selon le modèle demandé Voir
Ajouter une piste POST /api/music/add-stem Payant, facturé selon le modèle demandé Voir
Mashup POST /api/music/mashup Payant, facturé selon le modèle demandé Voir
Sample POST /api/music/sample Payant, facturé selon le modèle demandé Voir
Inspo POST /api/music/inspo Payant, facturé selon le modèle demandé Voir
Découpe (crop) POST /api/music/crop Payant, facturé selon le modèle demandé Voir
Suppression de section POST /api/music/remove-section Payant, facturé selon le modèle demandé Voir
Fondu POST /api/music/fade Payant, facturé selon le modèle demandé Voir
Lecture inversée POST /api/music/reverse Payant, facturé selon le modèle demandé Voir
Vitesse POST /api/music/speed Payant, facturé selon le modèle demandé Voir
Séparation de pistes (voix/accompagnement) POST /api/music/separate Payant ; two 0,6 ¥ par appel, twelve 3,0 ¥ Voir
Suppression de la voix POST /api/music/vocal-removal Gratuit Voir
Suppression de pistes POST /api/music/stem-delete Gratuit Voir
Génération/récupération WAV POST /api/music/wav Gratuit Voir
Récupération MIDI POST /api/music/download-file (kind=midi) Gratuit Voir
Adresse média / flux d'aperçu POST /api/music/download-url, /api/music/generation-stream-url Gratuit Voir
Téléchargement du fichier du morceau POST /api/music/download-file Gratuit Voir
Téléchargement de l'archive du morceau POST /api/music/download-all Gratuit Voir
Adresse de téléchargement stable GET /api/music/download Gratuit Voir
Téléchargement Free2 POST /api/music/free2 Payant, 0,2 ¥ par morceau réussi Voir
Statut d'un morceau précis POST /api/music/query Gratuit Voir
Historique des morceaux du compte GET /api/music/songs Gratuit Voir
Paramètres de génération d'un morceau GET /api/music/songs/:song_id Gratuit Voir
Paroles horodatées POST /api/lyrics/timeline Gratuit Voir
Éligibilité et identité de licence GET /api/music/authorization/context Gratuit Voir
Lier l'identité de licence POST /api/music/authorization/identity Gratuit ; non modifiable après confirmation Voir
Lister les morceaux licenciables GET /api/music/authorization/songs Gratuit ; identité liée requise Voir
Émettre une licence commerciale POST /api/music/authorization/certificates Gratuit ; éligibilité requise Voir
Historique des licences GET /api/music/authorization/certificates Gratuit Voir
Détail d'une licence GET /api/music/authorization/certificates/:id Gratuit Voir
Télécharger le PDF de la licence GET /api/music/authorization/certificates/:id/download Gratuit Voir

Les points d'entrée /api/voice/clone/* et /api/music/generate-with-voice relèvent de la chaîne de clonage vocal initiale et ne sont pas recommandés pour une nouvelle intégration ; utilisez plutôt l'【Recommandé】 API de profil vocal.

Paramètres avancés : Max Mode et Variety

Les points d'entrée de génération prennent en charge ces deux paramètres facultatifs (les omettre conserve le comportement et le prix précédents) :

Paramètre Type Plage Remarques
max_mode boolean true / false Utilise davantage de puissance de calcul pour améliorer la cohérence du morceau ; cette requête est facturée au double du prix
variety integer 0-4 Degré de variation stylistique : 0=Off, 1=Normal, 2=High, 3=Extra, 4=Max. Omis, le niveau par défaut du modèle s'applique (la famille v6 utilise 1) ; sans frais supplémentaires

Ces paramètres sont pris en charge par : POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Champs de réponse communs des morceaux

Les points d'entrée de génération, reprise, extend, séparation et requête renvoient généralement un tableau de morceaux avec ces champs :

Champ Type Remarques
song_id string Identifiant du morceau ou de la tâche
song_title string Titre du morceau
status string Statut tel que pending, completed, failed
audio_url string Adresse audio, renvoyée une fois la génération terminée
video_url string Adresse vidéo, peut être vide
cover_url string Adresse de l'image de couverture
lyrics string Texte des paroles
style_tags string Étiquettes de style
duration number Durée audio en secondes
created_at string Date de création
model_version string Version du modèle
generation_type string Type de génération
error_message string Motif de l'échec

Quatre étapes d'intégration (exemple minimal)

Ces quatre étapes suffisent pour obtenir votre premier morceau ; la liste complète des champs de chaque étape figure sur la page correspondante de la liste des points d'entrée recommandés.

# 1) Soumettre une génération : 0,6 ¥, renvoie 2 morceaux
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright French pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Interroger jusqu'à status = completed (3-5 secondes est un bon intervalle)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "le song_id renvoyé à l’étape 1"}'

# 3) Obtenir une adresse média : les points d'entrée de lecture sont gratuits ; song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "le même song_id", "kind": "song"}'

En cas de problème : 401 / 402 / 403 / 429 dans le guide des erreurs ; délais dépassés et doubles facturations dans la section « Temps d'attente et réglage des délais » ci-dessus ; le détail de chaque point d'entrée dans la liste ci-dessous.

Recommandations

À propos de cette documentation

Cette page a été réorganisée autour des capacités réellement exposées par la Create UI ; une nouvelle intégration devrait la lire en premier. L'ancienne documentation d'API reste disponible dans la section « Ancienne documentation d'API (compatible) » pour ceux qui souhaitent conserver leur méthode.

SuivantAPI de consultation du solde du compte

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