Schnellstart

Aktualisiert am 2026-09-18 · Suno-API-Team

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 Generierungsmodelle suno-v2 bis suno-v5-5 sind eingestellt: sie können in alten Aufgaben auftauchen, nehmen aber keine neuen Anfragen an.

Empfohlen · Am einfachsten
Suno API mit einem Satz durch KI anbinden

Öffne deinen KI-Assistenten und sende den folgenden Satz. Er folgt dem Agent-Kit-Onboarding und richtet die Anbindung ein.

Diesen Satz an die KI senden:
Lade das suno-api agent kit unter dieser Adresse herunter, installiere und konfiguriere es  https://www.suno-api.io/suno-agent-kit.zip

Empfohlen: KI erledigt die Einrichtung

Die KI liest 00_START_HERE.md und hilft bei Registrierung, Speichern des API Keys, Guthabenprüfung, Funktionsübersicht und der ersten Generierung. Kostenpflichtige Aktionen werden vorher bestätigt; Timeouts werden nicht automatisch wiederholt.

Schritt 1: API-Schlüssel erhalten

  1. Öffnen Sie https://www.suno-api.io.
  2. Klicken Sie auf API-Schlüssel erhalten und registrieren Sie sich. Eine E-Mail-Adresse genügt, kein Telefon.
  3. Öffnen Sie in der Konsole die Token-Verwaltung und erstellen Sie einen Schlüssel.
  4. 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" \
  --max-time 300 \
  -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
402 Guthaben nicht ausreichend Konto aufladen und erneut versuchen
403 Schlüssel deaktiviert oder Konto gesperrt Support kontaktieren
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"
  }
}

Wartezeiten und Timeouts (wichtig): Generierungs-Endpunkte sind synchron — die Bestellung wird erst angenommen und der Generierung übergeben, wenn die Antwort eintrifft. Gemessen antworten die meisten Anfragen in 1-3 Sekunden, etwa 10 % brauchen länger als 30 Sekunden und die längste liegt bei rund 230 Sekunden. Setzen Sie den Client-Timeout auf 300 Sekunden oder mehr (das --max-time 300 im Beispiel); keine Antwort bedeutet nicht, dass nichts generiert wurde, und wiederholen Sie nicht direkt nach einem Timeout (das dupliziert die Bestellung und berechnet erneut). Wenn die Verbindung abbrach, prüfen Sie später mit GET /api/music/songs. Siehe „Wartezeiten und Timeout-Einstellungen“ in der Übersicht der neuen API.

Bewährte Praktiken

Nächste Schritte

WeiterAuthentifizierung

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