Cover-aus-Quell-Clip-API

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

Beschreibung des Endpunkts

Cover aus Quell-Clip verwendet einen Quell-Clip wieder, den Sie bereits hochgeladen haben oder der schon existiert, und erzeugt daraus eine neue Cover-Version.

Endpunkt: POST /api/music/generate-from-source

Abrechnung: Kostenpflichtig, derzeit standardmäßig 0,6 ¥ pro Aufruf. Das Hochladen des Quellaudios selbst ist kostenlos; berechnet wird das Erzeugen eines Covers aus dem Quell-Clip. Der tatsächlich berechnete Betrag folgt der aktuellen Preis-Konfiguration im Backoffice.

Max Mode / Variety: Dieser Endpunkt unterstützt die optionalen Parameter max_mode und variety (0-4). Mit aktiviertem max_mode wird dieser Aufruf zum doppelten Preis abgerechnet (0,6 → 1,2 ¥ pro Aufruf); variety kostet nichts extra. Bedeutung und Schreibweise stehen im Abschnitt „Erweiterte Parameter“ in der Übersicht der neuen API.

Wartezeiten und Timeouts (wichtig): Dies ist ein synchroner Endpunkt — 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; 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.

Empfohlene Nutzung: Das ist Schritt 2 des „zweistufigen Covers“. In Schritt 1 laden Sie mit der API zum Hochladen von Quellaudio hoch (kostenlos) und merken sich die clip_id; in Schritt 2 rufen Sie diesen Endpunkt auf, um das Cover zu starten. So taucht das Audio nur im kostenlosen Schritt auf: Geht der Upload schief, einfach erneut versuchen — es wird nichts berechnet, während der Request-Body des kostenpflichtigen Schritts nur wenige hundert Bytes groß ist und daher kaum scheitern kann, weil die Übertragung abreißt. Die API zum Hochladen und Covern in einem Schritt legt das ganze Audio in den Request-Body, daher wird es ab etwa 8 MB leicht unterwegs abgeschnitten und liefert unexpected end of JSON input (siehe „Große Dateien und abgeschnittene Requests“ auf jener Seite).

Außerdem lässt sich dieselbe clip_id für Extend, Replace Section, Separation und weitere Folgeschritte wiederverwenden — das Audio muss nicht erneut hochgeladen werden.

Anfrageparameter

Headers

Parameter Typ Erforderlich Hinweise
Authorization string ja Bearer YOUR_API_KEY
Content-Type string ja application/json

Body-Parameter

Parameter Typ Erforderlich Standard Hinweise
model string nein suno-v6 Kundenmodellname: suno-v6, suno-v6-wild oder suno-v6-mini
sourceClipId string ja - Quell-Clip-ID; Sie können die clip_id aus dem Hochladen von Quellaudio, die echte song_id eines bereits vorhandenen Songs oder die echte song_id nach einem abgeschlossenen verstärkten Upload verwenden
sourceAudioUrl string nein - URL des Quellaudios
sourceTitle string nein - Titel des Quellaudios
prompt string nein - Neuer Text oder kreative Richtung
customMode boolean nein true Ob der benutzerdefinierte Modus verwendet wird
style string nein - Stil-Tags
title string nein - Titel
negativeTags string nein - Negativer Stil
instrumental boolean nein false Ob der Song instrumental ist
waitAudio boolean nein false Ob auf die Fertigstellung des Audios gewartet wird
vocalGender string nein - Geschlecht der Stimme
lyricsMode string nein - Textmodus
weirdnessConstraint number nein - Zufälligkeit
styleWeight number nein - Stileinfluss
audio_weight number nein - Abhängigkeit vom Referenzaudio, Bereich 0.0-1.0; nur sendbar, wenn ein Quell-Clip oder Referenzaudio angegeben ist

weirdnessConstraint, styleWeight und audio_weight sind jeweils ein Verhältnis als Dezimalzahl von 0.0 bis 1.0, keine Prozent-Ganzzahl; 50 % schreibt man also 0.5. 0 ist ein gültiger Wert; nur das Weglassen des Felds bedeutet „nicht angegeben“. audio_weight wird auf Sunos metadata.control_sliders.audio_weight abgebildet und steuert, wie stark sich das Ergebnis auf das Referenzaudio stützt; es darf nur mitgeschickt werden, wenn die Anfrage eine gültige sourceClipId oder ein Referenzaudio enthält, also senden Sie es nicht bei einer gewöhnlichen reinen Textgenerierung. Bei customMode=true schreiben Sie den neuen Text in prompt und geben style und title zusammen an; bei customMode=false schreiben Sie die kreative Beschreibung in prompt. instrumental und waitAudio müssen die JSON-Booleschen Werte true/false verwenden.

Dieser Endpunkt antwortet standardmäßig asynchron. Solange der zurückgegebene status pending ist, ist eine leere audio_url normal; warten Sie die Fertigstellung ab, bevor Sie die Audio-Adresse verwenden. sourceClipId muss eine echte Quell-Song-/Clip-ID sein — verwenden Sie weder task_id noch client_request_id noch eine pending:-Platzhalter-ID.

Welche ID ist sourceClipId

sourceClipId ist die echte Suno-Clip-Kennung, die als Quelle dieses Covers dient. Das kundenseitige Song-Objekt der Plattform nennt diese Kennung normalerweise song_id, während die Cover-Anfrageparameter den Namen sourceClipId beibehalten; hier meinen beide dieselbe echte Song-ID.

Ist die Quelle ein verstärkter Upload, fragen Sie zuerst die verstärkte Upload-Aufgabe ab, warten Sie, bis status completed wird, und setzen Sie dann die zurückgegebene echte song_id in sourceClipId ein. Es empfiehlt sich, zusätzlich audio_url und title dieses Ergebnisses in sourceAudioUrl und sourceTitle einzusetzen.

Setzen Sie weder die task_id, die client_request_id noch eine Platzhalter-ID pending:enhanced-upload:* eines verstärkten Uploads in sourceClipId ein.

Beispielanfrage

curl -X POST https://www.suno-api.io/api/music/generate-from-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "sourceClipId": "uploaded_or_existing_clip_id",
    "sourceAudioUrl": "https://example.com/source.mp3",
    "sourceTitle": "Titel des Original-Audios",
    "prompt": "Neuer Text oder kreative Richtung",
    "customMode": true,
    "style": "Mandopop, warm vocal",
    "title": "Cover-Titel",
    "negativeTags": "noise",
    "audio_weight": 0.5,
    "instrumental": false,
    "waitAudio": false
  }'

Antwort

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "new_clip_id",
        "song_title": "Cover-Titel",
        "status": "pending"
      }
    ],
    "source_update": {}
  }
}

Hinweise

Dieser Endpunkt versucht, die Frage zu klären, welchem Konto der Quell-Clip gehört. Lässt sich der Quell-Clip nicht direkt verwenden, kann der Server ihn anhand der Quellaudio-Informationen erneut hochladen und danach generieren.

WeiterExtend-API (Verlängerung)

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