Cover-aus-Quell-Clip-API
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 liefertunexpected end of JSON input(siehe „Große Dateien und abgeschnittene Requests“ auf jener Seite).Außerdem lässt sich dieselbe
clip_idfü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.
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