Replace Section-API (ersätta avsnitt)
Beskrivning av ändpunkten
Replace Section regenererar ett tidsintervall i en befintlig låt på plats. Det passar för att rätta en textrad eller byta ut en passage.
Ändpunkt: POST /api/music/replace-section
Fakturering: Betalt, för närvarande som standard 0,6 ¥ per anrop. Det faktiskt debiterade beloppet följer den aktuella prisinställningen i backoffice.
Max Mode / Variety: den här ändpunkten stöder de valfria parametrarna max_mode och variety (0-4). Med
max_mode på debiteras anropet till dubbelt pris (0,6 → 1,2 ¥ per anrop); variety kostar
inget extra. Vad de betyder och hur de skickas står i avsnittet "Avancerade parametrar" i
Översikt över det nya API:t.
Väntetider och timeouts (viktigt): detta är en synkron ändpunkt — beställningen accepteras och lämnas till generering först när svaret kommer. Mätt: de flesta anrop svarar på 1-3 sekunder, omkring 10% tar längre än 30 sekunder och det längsta är cirka 230 sekunder. Ställ in klientens timeout på 300 sekunder eller mer; inget svar betyder inte att inget genererades, och försök inte igen direkt efter en timeout (det duplicerar beställningen och debiterar igen). Om anslutningen bröts, kontrollera senare med
GET /api/music/songs. Se "Väntetider och timeout-inställningar" i Översikt över det nya API:t.
Begäransparametrar
Headers
| Parameter | Typ | Krävs | Anmärkningar |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Brödtextparametrar
| Parameter | Typ | Krävs | Standard | Anmärkningar |
|---|---|---|---|---|
| model | string | nej | suno-v6 | Modellnamn mot kund: suno-v6, suno-v6-wild eller suno-v6-mini |
| audioId | string | ja | - | ID för originallåten |
| startSeconds | number | ja | - | Startsekund för ersättningen; decimaler tillåtna. Avsnittet måste vara minst 2 sekunder långt |
| endSeconds | number | ja | - | Slutsekund för ersättningen; decimaler tillåtna. Måste vara större än startSeconds, och intervallet måste ligga inom originallåtens längd |
| contextLyrics | string | ja | - | Hela låtens fullständiga text, används som genereringskontext (kompatibel stavning prompt). Utan den blir svaret 400 |
| contextWindowLyrics | string | nej | samma som contextLyrics |
Texten runt passagen som ersätts (en eller två rader före och efter räcker), används för övergången; utelämnad används contextLyrics |
| infillLyrics | string | nej | samma som contextLyrics |
Den nya texten som sätts in; utelämnad används contextLyrics (vilket innebär att sjunga om passagen med originaltexten) |
| style | string | nej | - | Stiltaggar |
| title | string | nej | - | Titel |
| negativeTags | string | nej | - | Uteslutna stilar |
| requestedAt | number | nej | - | Tidsstämpel för begäran |
startSeconds och endSeconds anges i sekunder och tar decimaler; startSeconds måste vara mindre än endSeconds och intervallet måste ligga inom originallåtens längd. requestedAt används bara när du behöver skicka begärandetiden, som Unix-tidsstämpel i sekunder (inte millisekunder); det kan normalt utelämnas.
Ersättning är också en asynkron uppgift. Den returnerade clipen kan börja i pending, och en tom ljudadress då är normalt; använd den returnerade riktiga song_id för att hämta slutresultatet.
Avsnittets längd: minst 2 sekunder (viktigt)
Intervallet som ska ersättas får inte vara kortare än 2 sekunder. Mätt: intervall på 1,0 / 1,2 / 1,5 sekunder misslyckades alla, medan 2,0 sekunder och mer fungerade.
Är intervallet för kort svarar plattformen inte med ett "parameterfel" utan med ett meddelande som är lätt att feltolka:
{"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"}}
Den meningen är inte ett konto- eller abonnemangsproblem — avsnittet är för kort. Förläng intervallet över 2 sekunder och skicka igen.
Exempelbegäran
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": "fullständig kontexttext",
"contextWindowLyrics": "kontexttext för fönstret",
"infillLyrics": "ersättningstext",
"style": "Mandopop, acoustic",
"title": "Ersatt version",
"negativeTags": "noise"
}'
Svar
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "replace_clip_id",
"song_title": "Ersatt version",
"status": "pending"
}
],
"replaceTask": "infill",
"clipId": "clip_id",
"source_update": {}
}
}
Kompatibla fält
audioId/audio_id/clipId/clip_idstartSeconds/start_seconds/infillStartS/infill_start_sendSeconds/end_seconds/infillEndS/infill_end_sinfillLyrics/infill_lyrics/replacementLyrics/replacement_lyricsstyle/tagsnegativeTags/negative_tags
Skaffa en API-nyckel
Skapa en API-nyckel i konsolen efter registreringen. Varje generering kostar 0,6 ¥ och returnerar 2 spår, nedladdningar är obegränsade och inget telefonnummer krävs.
Hämta API-nyckel Tillbaka till översikten