API voor het uploaden van bronaudio
Beschrijving van het endpoint
Bronaudio uploaden maakt van een lokaal of extern audiobestand een bronclip die latere functies kunnen gebruiken: cover, verlengen, sectie vervangen, scheiding enzovoort.
Endpoint: POST /api/music/upload-source
Facturering: Gratis. Dit endpoint uploadt alleen de bronaudio; het start geen generatieopdracht.
Aanbevolen gebruik: dit is stap 1 van de "tweetraps-cover". Upload de audio eerst met dit endpoint (gratis, en bij een fout kunt u het altijd opnieuw proberen) en bewaar de teruggegeven
clip_id; nadat u hebt bevestigd dat de upload is geslaagd (statusin een voltooide toestand), roept u de API voor cover op basis van een bronclip aan om de cover te starten — die requestbody is maar een paar honderd bytes, dus die kan niet worden afgebroken doordat de audio te groot is. Vergeleken met de eenmalige API voor uploaden en coveren is deze splitsing robuuster wanneer de audio groot is, het netwerk instabiel is of hetzelfde materiaal meerdere keren wordt hergebruikt (verlengen / vervangen / scheiding).
Tips voor het uploaden van grote bestanden
| Situatie | Aanbevolen aanpak |
|---|---|
| De audio is al openbaar (heeft een https-directlink) | Gebruik file_url: de requestbody is maar een paar honderd bytes, de meest robuuste optie |
| Lokaal bestand (Node / Python / desktop) | Gebruik een multipart-upload (-F "file=@source.mp3") en stel Content-Type niet handmatig in |
| Alleen JSON + base64 is mogelijk | Let op: Content-Length moet het aantal bytes zijn (Buffer.byteLength), anders kan de body worden afgebroken |
Bevestig na de upload altijd dat status in het antwoord al voltooid is en bewaar de clip_id voordat u naar stap 2 gaat;
een mislukte upload wordt niet gefactureerd en maakt geen generatieopdracht aan — probeer het gewoon opnieuw.
Verzoekparameters
Headers
Voor JSON-verzoeken:
| Parameter | Type | Verplicht | Opmerkingen |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Stel Content-Type niet handmatig in bij multipart-verzoeken; de client genereert die automatisch.
Body-parameters
| Parameter | Type | Verplicht | Standaard | Opmerkingen |
|---|---|---|---|---|
| model | string | nee | suno-v6 | Modelnaam voor klanten: suno-v6, suno-v6-wild of suno-v6-mini |
| file_url | string | nee | - | URL van de externe audio |
| file_base64 | string | nee | - | Audio als Base64 |
| file_name | string | nee | - | Bestandsnaam |
| upload_type | string | nee | file_upload | Soort upload |
JSON-voorbeeldverzoek
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"file_url": "https://example.com/source.mp3",
"file_name": "source.mp3",
"upload_type": "file_upload"
}'
multipart-voorbeeldverzoek
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@source.mp3" \
-F "file_name=source.mp3" \
-F "upload_type=file_upload" \
-F "model=suno-v6"
Antwoord
{
"clip_id": "uploaded_clip_id",
"status": "complete",
"title": "source.mp3",
"image_url": "https://...",
"audio_url": "https://...",
"display_tags": "pop, vocal",
"inferred_description": "uploaded source audio",
"clip_metadata": {}
}
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