
Suno API Key: Schlüssel erstellen und erste Anfrage senden
Suno API Key für reAPI erstellen, Bearer-Authentifizierung nutzen, Anfragen in vier Sprachen senden, Ergebnisse abfragen und Schlüssel- oder Task-Fehler lösen.
Einen Suno API Key für den reAPI-Zugang erstellen Sie nach der Anmeldung bei reAPI unter API Keys. Senden Sie ihn als Authorization: Bearer <key> an https://reapi.ai/api/v1. Es handelt sich um reAPI-Zugangsdaten für reAPI-Endpunkte, nicht um einen von Suno ausgestellten Entwicklerschlüssel.[1]
Die bis zum 14. September 2026 für diese Serie geprüften offiziellen Suno-Materialien verweisen auf eine Interessenbekundung für Partner, nicht auf einen dokumentierten öffentlichen Selbstbedienungsprozess zur Schlüsselerstellung. Der Artikel zum offiziellen API-Status erklärt den Unterschied. Dieser Leitfaden führt durch den reAPI-Ablauf bis zum ersten abgeschlossenen Audioergebnis.[2]
Das Wichtigste
- Erstellen Sie den Schlüssel in den API-Keys-Einstellungen und speichern Sie ihn sofort. Laut Authentifizierungsdokumentation wird er nur einmal vollständig angezeigt.[1]
- Senden Sie den Bearer-Header vom Server. Suno-Website-Login und Abonnement ersetzen diese Zugangsdaten nicht.
- Senden Sie
model: "suno-music"mitversion: "V6"an den Audio-Endpunkt.[3] - Speichern Sie die zurückgegebene
idund fragen Sie den Task ab. HTTP 200 allein bedeutet nicht, dass die Musik erfolgreich fertiggestellt wurde.[4] - Eine abgeschlossene Songanfrage kostet 60 Credits, also 0,06 US-Dollar, für zwei Takes. Polling ist kostenlos; prüfen Sie vor dem Absenden das Guthaben.[3]
Einen Suno API Key für reAPI erstellen
Sie benötigen ein reAPI-Konto, Zugriff auf die API-Keys-Einstellungen und genügend Credits für die gewünschte Operation. Nutzen Sie für die Beispiele ein Terminal, Python mit requests, eine Node.js-Laufzeit mit integriertem fetch oder Go. Wählen Sie ein Beispiel: Alle vier auszuführen erstellt vier Generierungsanfragen.
- Melden Sie sich an und öffnen Sie die API-Keys-Einstellungen.
- Klicken Sie auf CREATE API KEY, die auf der aktuellen Seite geprüfte Beschriftung. Der Authentifizierungsleitfaden nennt sie „Create new key“.
- Vergeben Sie einen erkennbaren Namen wie
music-development. - Kopieren Sie den angezeigten Schlüssel in den Secret Manager Ihres Servers oder eine lokale, von der Versionsverwaltung ausgeschlossene Umgebungsdatei.[1]
Setzen Sie REAPI_API_KEY in der Umgebung des ausführenden Prozesses. Das ist ein Variablenname dieses Beispiels, kein vorgeschriebenes API-Feld. Echte Schlüssel gehören nicht in Quellcode, Browser-Bundles, Repositorys, URLs oder Supportnachrichten. Der dokumentierte Produktionspräfix lautet rk_live_. rk_test_ mit simulierten Antworten ist weiterhin als „coming soon“ markiert und hier kein verfügbarer kostenloser Testweg.[1]
Die erste authentifizierte Songanfrage senden
Alle vier Beispiele senden dieselbe Anfrage im Inspirationsmodus. Mit custom_mode: false ist prompt eine Songbeschreibung; instrumental: false fordert Gesang an. model wählt die Operation, version die Generierungsversion. Verwenden Sie die aktuellen snake_case-Feldnamen.[3]
Die 30 Sekunden sind ein Netzwerk-Timeout, keine Frist für den fertigen Song. Die Generierung läuft nach dem Absenden asynchron weiter. Jedes Beispiel prüft HTTP-Fehler und gibt die Task-ID aus. Es sind alternative Einreichungen; anschließend folgt das Polling.
cURL
Diese Variante nutzt zusätzlich jq, um id auszulesen. Die Umgebungsvariable muss den Schlüssel bereits enthalten.
: "${REAPI_API_KEY:?Set REAPI_API_KEY in your environment}"
curl --fail-with-body --silent --show-error --max-time 30 \
https://reapi.ai/api/v1/audio/generations \
-H "Authorization: Bearer $REAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-music",
"version": "V6",
"custom_mode": false,
"instrumental": false,
"prompt": "An upbeat acoustic song about taking the first train home"
}' > suno-submit.json && jq -er '.id' suno-submit.jsonPython
Installieren Sie bei Bedarf requests. Speichern und starten Sie das Beispiel auf dem Server oder im lokalen Terminal.
import os
import requests
response = requests.post(
"https://reapi.ai/api/v1/audio/generations",
headers={"Authorization": f"Bearer {os.environ['REAPI_API_KEY']}"},
json={
"model": "suno-music",
"version": "V6",
"custom_mode": False,
"instrumental": False,
"prompt": "An upbeat acoustic song about taking the first train home",
},
timeout=30,
)
response.raise_for_status()
print(response.json()["id"])Node.js
Speichern Sie den Code als submit.mjs und starten Sie bei gesetzter Umgebungsvariable node submit.mjs.
const key = process.env.REAPI_API_KEY;
if (!key) throw new Error("Set REAPI_API_KEY in your environment");
const response = await fetch("https://reapi.ai/api/v1/audio/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${key}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "suno-music",
version: "V6",
custom_mode: false,
instrumental: false,
prompt: "An upbeat acoustic song about taking the first train home",
}),
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const task = await response.json();
if (!task.id) throw new Error("Submission response has no task id");
console.log(task.id);Go
Speichern Sie ihn als main.go und starten Sie go run main.go. Das Beispiel verwendet nur die Standardbibliothek.
package main
import (
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
"strings"
"time"
)
func main() {
if err := submit(); err != nil {
log.Fatal(err)
}
}
func submit() error {
key := os.Getenv("REAPI_API_KEY")
if key == "" {
return fmt.Errorf("set REAPI_API_KEY in your environment")
}
payload := `{"model":"suno-music","version":"V6","custom_mode":false,"instrumental":false,"prompt":"An upbeat acoustic song about taking the first train home"}`
req, err := http.NewRequest("POST",
"https://reapi.ai/api/v1/audio/generations", strings.NewReader(payload))
if err != nil {
return err
}
req.Header.Set("Authorization", "Bearer "+key)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 30 * time.Second}
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
return err
}
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
return fmt.Errorf("HTTP %d: %s", resp.StatusCode, body)
}
var task struct { ID string `json:"id"` }
if err := json.Unmarshal(body, &task); err != nil {
return err
}
if task.ID == "" {
return fmt.Errorf("submission response has no task id")
}
fmt.Println(task.ID)
return nil
}Die Task-ID behalten und bis zum Audioergebnis abfragen
Die Antwort auf die Einreichung enthält id, model, status und created_at. Zu speichern ist id, auch wenn Fließtext von einer Task-ID spricht. Lesen Sie nicht ein nicht vorhandenes oberstes Feld task_id aus.[3]
Ersetzen Sie den Platzhalter durch die erhaltene ID. Der Aufruf prüft den Status einmal. Wiederholen Sie ihn während processing ungefähr alle drei Sekunden und setzen Sie eine zur Anwendung passende lokale Wartegrenze. Die Task-Referenz empfiehlt Polling mit Abstand; es verbraucht keine Credits.[4]
: "${REAPI_API_KEY:?Set REAPI_API_KEY in your environment}"
TASK_ID='replace-with-the-returned-id'
curl --fail-with-body --silent --show-error --max-time 30 \
"https://reapi.ai/api/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $REAPI_API_KEY"Prüfen Sie den JSON-Status, nicht nur HTTP:
processing: ID behalten, warten und erneut abfragen.completed:output.audio_urlsund die dokumentierten Suno-tracks-Datensätze lesen.failed: die Abfrageschleife beenden underror.code,error.messagesowieusage.creditsprüfen.[3][4]
Die Produktionsprüfung dieser Serie wurde abgeschlossen und lieferte zwei Audio-URLs. Das bestätigt einen Generierungsablauf, ist aber kein Latenzbenchmark und keine Erfolgsgarantie für jede Anfrage. Die Suno-Referenz garantiert pro Track url; Metadaten wie ID, Lyrics und Dauer können bei leeren Werten fehlen. Speichern Sie zurückgegebene IDs, wenn spätere Bearbeitungen sie benötigen.[3]
Läuft die lokale Wartefrist nach Empfang einer ID ab, können Sie denselben Task später weiter abfragen. Erstellen Sie nicht sofort eine neue Generierung, nur weil der Client nicht mehr wartet. Für langfristige Aufbewahrung kopieren Sie fertiges Audio in Ihren Speicher; der Task-Vertrag garantiert keine dauerhafte CDN-Aufbewahrung.[4]
Fehler bei Authentifizierung, Guthaben und Parametern beheben
Die öffentliche Fehlerreferenz unterscheidet HTTP-Fehler von fehlgeschlagenen Tasks. Ein gefundener Task kann HTTP 200 und zugleich status: "failed" mit einem 8xxxx-Fehler im JSON liefern.[5]
| HTTP oder Task-Ergebnis | Prüfen | Nächster Schritt |
|---|---|---|
401, 10001–10004 | Bearer-Header fehlt oder ist falsch; Schlüssel ungültig oder widerrufen | Header korrigieren oder Schlüssel ersetzen |
400, 20002–20004 | Pflichtfeld fehlt, Wert ungültig oder Modell passt nicht zum Endpunkt | Audio-Endpunkt, suno-music, version und aktuelle Feldnamen nutzen |
402, 30001 | Credits reichen für die Anfrage nicht aus | Vor erneutem Absenden Guthaben prüfen |
404, 40001 | Task fehlt oder gehört einem anderen Nutzer | Zurückgegebene ID und passendes Konto verwenden |
429, 50001 | Anfragelimit überschritten | Gemäß Retry-After warten |
200 mit status: "failed" | Ausführungsfehler in error.code | Task-Fehler lesen; HTTP 200 nicht als Erfolg werten |
Speichern Sie eine im Fehler enthaltene request_id sowie Methode und ungefähren Zeitpunkt. Damit lässt sich ein Fehler untersuchen, ohne den Schlüssel weiterzugeben. Beheben Sie Validierungs-, Authentifizierungs- oder Guthabenprobleme vor einem neuen Versuch.[5]
Was kostenloser Zugang und Schlüsselrotation bedeuten
Ein Schlüssel authentifiziert Anfragen; er macht Generierung nicht kostenlos. Ein hypothetisches Guthaben von 0,10 US-Dollar entspricht 100 Credits. Bei 60 Credits pro abgeschlossener Songanfrage reicht es für eine Anfrage, danach bleiben 40 Credits. Für eine zweite vollständige Songanfrage reicht das nicht. Prüfen Sie Ihre tatsächlichen Aktionsbedingungen und das verfügbare Guthaben, statt einen unbegrenzt kostenlosen Suno API Key anzunehmen.[3]
Bearbeitungs- und Exportgebühren erklärt der Suno-API-Preisleitfaden. Widerrufen Sie einen offengelegten Schlüssel in den Einstellungen. Bei regulärer Rotation erstellen Sie einen Ersatz, aktualisieren das Server-Secret, prüfen die neuen Zugangsdaten und widerrufen danach den alten Schlüssel. Laut Authentifizierungsdokumentation laufen bereits ausstehende Tasks weiter und können Credits berechnen. Widerruf blockiert neue Anfragen, statt bestehende Jobs abzubrechen.[1]
Häufige Fragen
Wo erhalte ich einen Suno API Key?
Für reAPI nutzen Sie die API-Keys-Einstellungen. Dort entstehen reAPI-Zugangsdaten. Sunos offizielles Entwicklerformular ist eine separate Partnerbewerbung.[1][2]
Ist dieser Schlüssel im Suno-Abonnement enthalten?
Nein. Suno-Abonnement und reAPI-Konto sind getrennt. Nutzen Sie Zugangsdaten des Dienstes, dessen Endpunkt Sie aufrufen; siehe die Erklärung zum offiziellen Zugang.
Gibt es einen kostenlosen Suno API Key für unbegrenzte Generierung?
Zugangsdaten sind kein unbegrenztes Guthaben. Prüfen Sie Kontostand und Operationspreis. Das Beispielguthaben von 0,10 US-Dollar deckt eine Songanfrage für 0,06 US-Dollar, keine dauerhafte Gratisgenerierung.[3]
Wie funktioniert die Suno-API-Authentifizierung bei reAPI?
Senden Sie Authorization: Bearer <key> sowohl beim Generierungs-POST als auch beim Task-GET. Der Schlüssel bleibt auf dem Server und gehört nicht in den JSON-Prompt.[1]
Warum kommt HTTP 200 ohne Song zurück?
Die Einreichung ist asynchron. Speichern Sie id und fragen Sie bis zum JSON-Status completed oder failed ab. Eine Polling-Antwort kann auch bei fehlgeschlagenem Task HTTP 200 haben.[4][5]
Ändert sich der Schlüssel beim Wechsel zu V6 Mini oder Wild?
Die Bearer-Authentifizierung bleibt gleich. Setzen Sie bei einer unterstützten Operation version auf V6_MINI oder V6_WILD; ersetzen Sie nicht model durch den Versionsnamen. Der V6-Integrationsleitfaden beschreibt die Regeln.[3]
Schließen Sie zunächst eine Anfrage ab
Ein funktionierender Suno API Key ist der Anfang. Behalten Sie die Task-ID, behandeln Sie beide Endzustände und speichern Sie das Audio eines abgeschlossenen Tasks. Sobald dieser kleine Ablauf funktioniert, ergänzen Sie eigene Lyrics, andere V6-Varianten oder weitere Bearbeitungen anhand der Suno-Referenz, einschließlich ihrer Parameterregeln und Gebühren.
Quellen
- reAPI. Authentication and key management. Retrieved September 14, 2026 from Authentication; key-creation button also checked at API Keys.
- Suno. Developer API partner-interest application. Retrieved September 14, 2026 from official application.
- reAPI. Suno operation and version reference. Retrieved September 14, 2026 from Suno, Suno V6 and the public rate card.
- reAPI. Task polling reference. Retrieved September 14, 2026 from Tasks.
- reAPI. Error codes and handling. Retrieved September 14, 2026 from Errors.
Autor

Kategorien
Weitere Beiträge

7 Venice AI Alternativen für flexible Seedance 2.0 Video
Vergleich von Venice AI Alternativen für Seedance 2.0, multimodale Referenzen, echte Personenbilder und flexible Moderation in Bild- und Video-Workflows.


Fünf Produktanzeigen mit n8n unter 0,20 $ generieren
Einen getesteten Bildgenerierungs-Lauf für 0,075 $ als n8n-Workflow umwandeln, mit vergrenztem Polling, Retry-Budget und praktischer Review-Checkliste.


Seedance 2.5 4K: Limits und Hochskalierung
Seedance 2.5: Prüfe echte Ausgabegrenzen statt 4K-Versprechen. Vergleiche 1080p-Kosten, Seedance 2.0 in 4K und separates Hochskalieren auf reAPI.
