Replace Section-API (Abschnitt ersetzen)

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

Beschreibung des Endpunkts

Replace Section generiert einen Zeitbereich eines bestehenden Songs an Ort und Stelle neu. Das passt, um eine Songtextzeile zu korrigieren oder eine Passage auszutauschen.

Endpunkt: POST /api/music/replace-section

Abrechnung: Kostenpflichtig, derzeit standardmäßig 0,6 ¥ pro Aufruf. 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.

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 Modellname für Kunden: suno-v6, suno-v6-wild oder suno-v6-mini
audioId string ja - ID des Originalsongs
startSeconds number ja - Startsekunde des Ersatzes; Dezimalwerte erlaubt. Der Abschnitt muss mindestens 2 Sekunden lang sein
endSeconds number ja - Endsekunde des Ersatzes; Dezimalwerte erlaubt. Muss größer als startSeconds sein, und der Bereich muss innerhalb der Dauer des Originalsongs liegen
contextLyrics string ja - Der vollständige Songtext des ganzen Songs, als Generierungskontext verwendet (kompatible Schreibweise prompt). Fehlt er, kommt 400
contextWindowLyrics string nein wie contextLyrics Der Songtext rund um die ersetzte Passage (ein bis zwei Zeilen davor und danach genügen), für die Verbindung; fehlt er, wird contextLyrics verwendet
infillLyrics string nein wie contextLyrics Der neue Songtext, der eingesetzt wird; fehlt er, wird contextLyrics verwendet (das heißt, die Passage mit dem Originaltext neu singen)
style string nein - Stil-Tags
title string nein - Titel
negativeTags string nein - Ausgeschlossene Stile
requestedAt number nein - Zeitstempel der Anfrage

startSeconds und endSeconds sind in Sekunden und erlauben Dezimalwerte; startSeconds muss kleiner als endSeconds sein, und der Bereich muss innerhalb der Dauer des Originalsongs liegen. requestedAt wird nur verwendet, wenn Sie die Anfragezeit übermitteln müssen, als Unix-Zeitstempel in Sekunden (nicht Millisekunden); normalerweise kann es entfallen.

Der Ersatz ist ebenfalls eine asynchrone Aufgabe. Der zurückgegebene Clip kann mit pending beginnen, und eine leere Audio-Adresse ist dann normal; fragen Sie das Endergebnis mit der zurückgegebenen echten song_id ab.

Abschnittslänge: mindestens 2 Sekunden (wichtig)

Der zu ersetzende Bereich darf nicht kürzer als 2 Sekunden sein. Gemessen: Bereiche von 1,0 / 1,2 / 1,5 Sekunden scheiterten alle, 2,0 Sekunden und mehr funktionierten.

Ist der Bereich zu kurz, antwortet die Plattform nicht mit einem „Parameterfehler“, sondern mit einer leicht fehlzuinterpretierenden Meldung:

{"error":{"message":"You don't have access to this model. Upgrade your plan to use it.",
          "type":"bad_response_status_code","code":"bad_response_status_code"}}

Dieser Satz ist kein Konto- oder Tarifproblem — der Abschnitt ist zu kurz. Verlängern Sie den Bereich über 2 Sekunden und senden Sie erneut.

Beispielanfrage

curl -X POST https://www.suno-api.io/api/music/replace-section \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "audioId": "clip_id",
    "startSeconds": 30,
    "endSeconds": 45,
    "contextLyrics": "vollständiger Kontext-Songtext",
    "contextWindowLyrics": "Kontext-Songtext des Fensters",
    "infillLyrics": "Ersatz-Songtext",
    "style": "Mandopop, acoustic",
    "title": "Ersetzte Version",
    "negativeTags": "noise"
  }'

Antwort

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "replace_clip_id",
        "song_title": "Ersetzte Version",
        "status": "pending"
      }
    ],
    "replaceTask": "infill",
    "clipId": "clip_id",
    "source_update": {}
  }
}

Kompatible Felder

WeiterAPI zum Hinzufügen von Instrumental

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