Schnellstart
Diese Anleitung führt in etwa fünf Minuten von der Schlüsselerstellung über die erste Generierung und die Statusabfrage bis zum Download der Audiodatei. Alle Beispiele lassen sich direkt kopieren und ausführen.
Das aktuelle Standardmodell ist
suno-v6. Die Generierungsmodellesuno-v2bissuno-v5-5sind eingestellt: sie können in alten Aufgaben auftauchen, nehmen aber keine neuen Anfragen an.
Schritt 1: API-Schlüssel erhalten
- Öffnen Sie https://www.suno-api.io.
- Klicken Sie auf API-Schlüssel erhalten und registrieren Sie sich. Eine E-Mail-Adresse genügt, kein Telefon.
- Öffnen Sie in der Konsole die Token-Verwaltung und erstellen Sie einen Schlüssel.
- Sofort kopieren – der Schlüssel wird nur einmal angezeigt. Laden Sie das Guthaben vor dem ersten kostenpflichtigen Aufruf mit einem Einlösecode auf.
Schritt 2: Anfrage konfigurieren
Alle Aufrufe nutzen dieselbe Basis-URL und dieselben Header:
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Schritt 3: Erste Anfrage senden
Beispiel 1 — aus einer Zeile Beschreibung generieren
Beschreiben Sie den Song, und die API schreibt Text, Melodie und 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": "ein beschwingter Folk-Song über den ersten Frühlingstag",
"model": "suno-v6"
}'
Antwort:
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Frühlingsgeschichte",
"description": "ein beschwingter Folk-Song über den ersten Frühlingstag",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Schritte des Frühlings",
"description": "ein beschwingter Folk-Song über den ersten Frühlingstag",
"created_at": "2026-04-22T10:30:00Z"
}
]
Jeder Lauf liefert zwei unterschiedliche Takes zur Auswahl. Eine Generierung kostet 0,6 ¥.
Beispiel 2 — Status abfragen
Übergeben Sie die zurückgegebenen song_id an den Abfrage-Endpunkt:
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"
}'
Während der Verarbeitung:
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Frühlingsgeschichte",
"progress": "60%"
}
]
Nach Abschluss:
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Frühlingsgeschichte",
"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
}
]
Der status durchläuft pending, submitted, processing und endet bei completed.
Während der Verarbeitung können die Adressen leer sein: entscheidend ist der status, nicht
das Vorhandensein von audio_url.
Schritt 4: Datei herunterladen
Ist der status completed, rufen Sie einfach die audio_url ab. MP3- und WAV-Downloads sind
unbegrenzt und kosten nichts extra. Für verlustfreies Material zur Weiterbearbeitung nutzen Sie
den WAV-Endpunkt.
Typische Szenarien
Hintergrundmusik für Videos
{
"description": "ruhige Lo-fi-Hintergrundmusik für ein Produktvideo, ohne Gesang, gleichmäßige Dynamik",
"instrumental": true,
"model": "suno-v6"
}
Mit instrumental auf true enthält die Ausgabe keinen Gesang.
Eigener Text und eigener Stil
{
"lyrics": "[Verse 1]\nDie Lichter der Stadt erlöschen\n\n[Chorus]\nWir gehen weiter",
"style": "acoustic pop, warme Frauenstimme, 92 BPM",
"model": "suno-v6"
}
Bis zum Abschluss abfragen
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": "ein Folk-Song über den Frühling", "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
Fehlerbehandlung
Wichtige Statuscodes
| Code | Bedeutung | Vorgehen |
|---|---|---|
| 200 | Erfolg | Antwortkörper lesen |
| 400 | Ungültige Anfrage (Parameter fehlt oder fehlerhaft) | Mit der Referenz abgleichen |
| 401 | Schlüssel fehlt oder ungültig | Authorization-Header prüfen |
| 403 | Nicht erlaubt, meist unzureichendes Guthaben | Konto aufladen |
| 429 | Ratenlimit | Mit exponentiellem Backoff wiederholen |
| 500 | Serverfehler | Wiederholen; bei Wiederholung Support kontaktieren |
Format der Fehlerantwort
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Bewährte Praktiken
- Schlüssel nur serverseitig verwenden, nie im Browser oder in ausgelieferten Apps.
- Alle 10 bis 15 Sekunden abfragen statt in einer engen Schleife.
song_idspeichern: die einzige Kennung, um Audio später erneut zu laden.- Bei
429und500wiederholen; bei400und401zuerst die Ursache beheben. - Fehlschläge werden automatisch erstattet, eine gescheiterte Aufgabe kostet nichts.
Nächste Schritte
- Authentifizierung — Schlüssel, Fehler und Limits
- Unterstützte Modelle — Modellnamen, Stems und eingestellte Modelle
API-Schlüssel erhalten
Erstellen Sie nach der Anmeldung einen API-Schlüssel in der Konsole. Jede Generierung kostet 0,6 ¥ und liefert 2 Tracks, Downloads sind unbegrenzt und eine Telefonnummer ist nicht erforderlich.
API-Schlüssel holen Zurück zur Übersicht