Guide de démarrage rapide
Ce guide vous mène de la création de la clé d'API au premier morceau généré, à la consultation de l'avancement puis au téléchargement de l'audio, en cinq minutes environ. Les exemples sont prêts à être copiés et exécutés.
Le modèle de génération par défaut est
suno-v6. Les modèles desuno-v2àsuno-v5-5sont retirés : ils peuvent subsister dans des tâches anciennes mais n'acceptent plus de nouvelles requêtes.
Étape 1 : obtenir une clé d'API
- Ouvrez https://www.suno-api.io.
- Cliquez sur Obtenir une clé d'API et inscrivez-vous. Une adresse e-mail suffit, sans numéro de téléphone.
- Dans la console, ouvrez la gestion des jetons et créez une clé.
- Copiez-la immédiatement : elle n'est affichée qu'une fois. Rechargez le solde avec un code de recharge avant le premier appel payant.
Étape 2 : configurer la requête
Tous les appels partagent la même URL de base et les mêmes en-têtes :
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Étape 3 : envoyer la première requête
Exemple 1 — générer depuis une phrase
Décrivez le morceau et l'API écrit les paroles, la mélodie et l'arrangement :
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "une chanson folk entraînante sur le premier jour du printemps",
"model": "suno-v6"
}'
Réponse :
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Histoire de printemps",
"description": "une chanson folk entraînante sur le premier jour du printemps",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Pas du printemps",
"description": "une chanson folk entraînante sur le premier jour du printemps",
"created_at": "2026-04-22T10:30:00Z"
}
]
Chaque exécution renvoie deux prises différentes pour que vous choisissiez. Une génération coûte 0,6 ¥.
Exemple 2 — consulter l'avancement
Passez les song_id renvoyés à l'endpoint de consultation :
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": ["abc123", "def456"],
"model": "suno-v6"
}'
Pendant le traitement :
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Histoire de printemps",
"progress": "60%"
}
]
Une fois terminé :
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Histoire de printemps",
"audio_url": "https://media.code-go.com/assets/abc123-mp3.mp3",
"video_url": "https://media.code-go.com/assets/abc123-mp4.mp4",
"cover_url": "https://media.code-go.com/assets/abc123-cover.jpg",
"duration": 168
}
]
Le status passe par pending, submitted, processing puis completed. Les adresses
peuvent être vides pendant le traitement : jugez d'après le status, pas d'après la présence
de audio_url.
Étape 4 : télécharger le fichier
Quand le status vaut completed, récupérez simplement l'audio_url. Les téléchargements MP3
et WAV sont illimités et sans frais supplémentaires. Pour un audio sans perte à monter
ensuite, utilisez l'endpoint WAV.
Cas d'usage courants
Musique de fond pour une vidéo
{
"description": "musique lo-fi calme pour une vidéo produit, sans voix, dynamique régulière",
"instrumental": true,
"model": "suno-v6"
}
Avec instrumental à true, la sortie ne contient pas de voix.
Paroles et style personnalisés
{
"lyrics": "[Verse 1]\nLes lumières de la ville s'éteignent\n\n[Chorus]\nNous continuons d'avancer",
"style": "acoustic pop, voix féminine chaleureuse, 92 BPM",
"model": "suno-v6"
}
Interroger jusqu'à la fin
import time
import requests
API_KEY = "sk-your-key-here"
BASE = "https://www.suno-api.io"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
created = requests.post(
f"{BASE}/api/music/create",
headers=HEADERS,
json={"description": "une chanson folk sur le printemps", "model": "suno-v6"},
).json()
song_ids = [track["song_id"] for track in created]
for _ in range(60):
time.sleep(10)
tracks = requests.post(
f"{BASE}/api/music/query",
headers=HEADERS,
json={"song_ids": song_ids, "model": "suno-v6"},
).json()
if all(track.get("status") == "completed" for track in tracks):
for track in tracks:
print(track["song_title"], track["audio_url"])
break
Gestion des erreurs
Principaux codes
| Code | Signification | À faire |
|---|---|---|
| 200 | Succès | Lire le corps de la réponse |
| 400 | Requête invalide (paramètre manquant ou mal formé) | Comparer à la référence |
| 401 | Clé absente ou invalide | Vérifier l'en-tête Authorization |
| 403 | Non autorisé, souvent solde insuffisant | Recharger le compte |
| 429 | Limite de débit | Réessayer avec un backoff exponentiel |
| 500 | Erreur serveur | Réessayer ; contacter le support si cela persiste |
Format d'erreur
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Bonnes pratiques
- Gardez la clé côté serveur, jamais dans un navigateur ou une application distribuée.
- Interrogez toutes les 10 à 15 secondes plutôt qu'en boucle serrée.
- Conservez les
song_id: c'est le seul identifiant pour récupérer l'audio plus tard. - Réessayez sur
429et500; corrigez la cause avant de relancer400et401. - Les échecs sont remboursés automatiquement : une tâche ratée ne coûte rien.
Étapes suivantes
- Authentification — clés, erreurs et limites
- Modèles pris en charge — noms de modèles, pistes et modèles retirés
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