Replace Section-API (deel vervangen)
Beschrijving van het endpoint
Replace Section regenereert ter plaatse één tijdsbereik van een bestaand nummer. Het is bedoeld om een regel songtekst te corrigeren of een passage te vervangen.
Endpoint: POST /api/music/replace-section
Facturering: Betaald, momenteel standaard 0,6 ¥ per aanroep. Het werkelijk gefactureerde bedrag volgt de huidige prijsconfiguratie in de back-office.
Max Mode / Variety: dit endpoint ondersteunt de optionele parameters max_mode en variety (0-4). Met
max_mode aan wordt deze aanroep tegen het dubbele tarief gefactureerd (0,6 → 1,2 ¥ per aanroep); variety kost
niets extra. Wat ze betekenen en hoe u ze verstuurt, staat in de sectie "Geavanceerde parameters" van het
Overzicht van de nieuwe API.
Wachttijden en timeouts (belangrijk): dit is een synchroon endpoint — de opdracht wordt pas geaccepteerd en aan generatie overgedragen wanneer het antwoord binnenkomt. Gemeten: de meeste verzoeken antwoorden in 1-3 seconden, ongeveer 10% duurt langer dan 30 seconden en de langste is ongeveer 230 seconden. Zet de client-timeout op 300 seconden of meer; geen antwoord betekent niet dat er niets is gegenereerd, en probeer niet direct na een timeout opnieuw (dat dupliceert de opdracht en rekent opnieuw af). Als de verbinding wegviel, controleer later met
GET /api/music/songs. Zie "Wachttijden en timeout-instellingen" in het Overzicht van de nieuwe API.
Verzoekparameters
Headers
| Parameter | Type | Verplicht | Opmerkingen |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Body-parameters
| Parameter | Type | Verplicht | Standaard | Opmerkingen |
|---|---|---|---|---|
| model | string | nee | suno-v6 | Modelnaam voor klanten: suno-v6, suno-v6-wild of suno-v6-mini |
| audioId | string | ja | - | ID van het originele nummer |
| startSeconds | number | ja | - | Startseconde van de vervanging; decimalen toegestaan. Het deel moet minstens 2 seconden lang zijn |
| endSeconds | number | ja | - | Eindseconde van de vervanging; decimalen toegestaan. Moet groter zijn dan startSeconds, en het bereik moet binnen de duur van het originele nummer liggen |
| contextLyrics | string | ja | - | De volledige songtekst van het hele nummer, gebruikt als generatiecontext (compatibele spelling prompt). Ontbreekt die, dan volgt 400 |
| contextWindowLyrics | string | nee | gelijk aan contextLyrics |
De songtekst rond de te vervangen passage (een regel of twee ervoor en erna volstaat), gebruikt voor de overgang; bij weglating wordt contextLyrics gebruikt |
| infillLyrics | string | nee | gelijk aan contextLyrics |
De nieuwe songtekst die ervoor in de plaats komt; bij weglating wordt contextLyrics gebruikt (dat betekent de passage opnieuw zingen met de originele tekst) |
| style | string | nee | - | Stiltags |
| title | string | nee | - | Titel |
| negativeTags | string | nee | - | Uitgesloten stijlen |
| requestedAt | number | nee | - | Tijdstempel van het verzoek |
startSeconds en endSeconds zijn in seconden en accepteren decimalen; startSeconds moet kleiner zijn dan endSeconds en het bereik moet binnen de duur van het originele nummer liggen. requestedAt wordt alleen gebruikt als u de verzoekstijd moet doorgeven, als Unix-tijdstempel in seconden (niet milliseconden); meestal kan het worden weggelaten.
Vervangen is ook een asynchrone taak. De teruggegeven clip kan beginnen in pending, en een leeg audioadres is dan normaal; gebruik de teruggegeven echte song_id om het eindresultaat op te vragen.
Lengte van het deel: minstens 2 seconden (belangrijk)
Het te vervangen bereik mag niet korter zijn dan 2 seconden. Gemeten: bereiken van 1,0 / 1,2 / 1,5 seconde mislukten alle, terwijl 2,0 seconde en meer werkten.
Is het bereik te kort, dan antwoordt het platform niet met een "parameterfout" maar met een makkelijk verkeerd te lezen melding:
{"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"}}
Die zin is geen account- of abonnementsprobleem — het deel is te kort. Maak het bereik langer dan 2 seconden en dien opnieuw in.
Voorbeeldverzoek
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": "volledige contexttekst",
"contextWindowLyrics": "contexttekst van het venster",
"infillLyrics": "vervangende tekst",
"style": "Mandopop, acoustic",
"title": "Vervangen versie",
"negativeTags": "noise"
}'
Antwoord
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "replace_clip_id",
"song_title": "Vervangen versie",
"status": "pending"
}
],
"replaceTask": "infill",
"clipId": "clip_id",
"source_update": {}
}
}
Compatibele velden
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
Een API-sleutel aanvragen
Maak na je registratie een API-sleutel aan in de console. Elke generatie kost ¥0,6 en levert 2 nummers op, downloads zijn onbeperkt en een telefoonnummer is niet nodig.
API-sleutel ophalen Terug naar overzicht