Get Full Song API (Gesamt-Song zusammenfügen)
Beschreibung des Endpunkts
Das Zusammenfügen zum Gesamt-Song verbindet „Originalsong + neu erzeugtes Fragment" zu einem vollständigen Song: nach Extend wird der folgende Abschnitt angehängt, nach Replace Section wird das neue Fragment wieder in das Original eingenäht. Die offizielle Weboberfläche nennt diese Funktion Get Full Song.
Endpunkt: POST /api/music/concat
Abrechnung: Kostenpflichtig, pauschal 0,05 CNY pro Aufruf. Das Zusammenfügen ist vom Generierungspreis entkoppelt und nimmt weder an Max Mode noch an Stimmprofil-Multiplikatoren teil; der tatsächlich berechnete Betrag folgt der Preis-Konfiguration im Backoffice.
Wartezeiten und Timeouts (wichtig): Dies ist ein synchroner Endpunkt — die Bestellung wird erst angenommen und dem Zusammenfügen übergeben, wenn die Antwort eintrifft. Setzen Sie den Client-Timeout auf 300 Sekunden oder mehr; keine Antwort bedeutet nicht, dass nichts zusammengefügt 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.
Authentifizierung
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Anfrageparameter
| Parameter | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
| song_id | string | ja | - | Die song_id des zusammenzufügenden Fragments (Extend- oder Replace-Section-Ergebnis); es muss abgeschlossen sein |
| is_infill | boolean | nein | false | false = Extend-Zusammenfügen; true = Ersetzen-(Infill-)Zusammenfügen |
| source_audio_url | string | nein | - | Quellaudio-Adresse, wenn das Fragment von einem externen Konto stammt |
| source_file_name | string | nein | - | Quelldateiname, wenn das Fragment von einem externen Konto stammt |
| source_title | string | nein | - | Quelltitel, wenn das Fragment von einem externen Konto stammt |
audio_id, source_clip_id und sourceClipId sind gleichwertige Schreibweisen von song_id; verwenden Sie eine davon.
Beispielanfrage
curl -X POST https://www.suno-api.io/api/music/concat \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "extended_or_replaced_clip_id",
"is_infill": false
}'
Zum Zusammenfügen nach dem Ersetzen eines Abschnitts setzen Sie is_infill auf true:
{ "song_id": "infilled_clip_id", "is_infill": true }
Antwort
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "concat_clip_id",
"song_title": "Titel des Quellsongs",
"status": "queued"
}
]
}
}
Das Zusammenfügen liefert nur 1 Ergebnis (es entstehen nicht auf einmal 2 Songs). Speichern Sie clips[].song_id und fragen Sie die API zum Abfragen von Songs ab, bis der Status complete ist, bevor Sie das Audio holen.
Woher die Länge des Ergebnisses kommt
Das Zusammenfügen setzt nicht einfach zwei Dateien hintereinander; es schneidet den Quellsong anhand der im Verlauf des Fragments festgehaltenen Zeitpunkte zu:
| Modus | Zusammensetzung des Ergebnisses |
|---|---|
is_infill: false |
Quellsong [0 .. continue_at] + die volle Länge des Extend-Fragments |
is_infill: true |
Quellsong [0 .. Start] + das ersetzte neue Fragment + Quellsong [Ende .. Titelende] |
Das Original-Audio nach dem Fortsetzungspunkt wird also verworfen, sodass kein Abschnitt doppelt vorkommt.
Hinweise
- Nur abgeschlossene Fragmente können zusammengefügt werden; bei einem noch generierenden Fragment warten Sie zuerst auf dessen Abschluss.
- Das Ergebnis ist ein neuer Datensatz; das ursprüngliche Fragment bleibt erhalten und weiter nutzbar.
- Um zwei verschiedene Songs zu einem zu verbinden, verwenden Sie die Mashup-API; um nur einen Abschnitt zu behalten, die Zuschneide-API.
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