Free2-download-API
Beschrijving van het endpoint
Free2 is een apart betaald downloadkanaal: het haalt MP3/WAV/songtekst/metadata-bestanden op via een nummer-ID (of een suno.com-nummerlink) en geeft door het platform gehoste downloadadressen terug. Het accepteert alleen een API-sleutel — geen browser-loginsessie — en het antwoord bevat nooit Suno's versleutelde afspeelbron.
Endpoint: POST /api/music/free2
Facturering: per succesvol opgelost nummer, momenteel standaard 0,2 CNY per nummer. Meerdere bestandstypen in één verzoek kosten niets extra; nummers die niet kunnen worden opgelost worden niet gefactureerd. Maximaal 10 nummers per verzoek (na deduplicatie); het daadwerkelijk afgeschreven bedrag volgt de prijsconfiguratie in de backoffice.
Aanbevolen model: suno-v6. Beschikbaar zijn suno-v6, suno-v6-wild en suno-v6-mini.
Authenticatie
| Parameter | Type | Verplicht | Opmerkingen |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Verzoekparameters
| Parameter | Type | Verplicht | Standaard | Opmerkingen |
|---|---|---|---|---|
| song_id | string | nee | - | Eén nummer-ID; een suno.com-nummerlink (inclusief de korte /s/-link) werkt ook |
| song_ids | string[] | nee | - | Vorm voor meerdere nummers (aanbevolen); maximaal 10 per verzoek |
| songs | string[] | nee | - | Alias van song_ids |
| files | string[] | ja | - | De bestandstypen die u nodig hebt: mp3, wav, lyrics, metadata; m4a wordt niet ondersteund |
Geef minstens één van song_id en song_ids op; geef minstens één item in files op.
Voorbeeldverzoek
curl -X POST https://www.suno-api.io/api/music/free2 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_ids": ["song_id_1", "song_id_2"],
"files": ["mp3", "wav", "lyrics"]
}'
Antwoord
{
"code": 200,
"message": "success",
"data": {
"songs": [
{
"song_id": "song_id_1",
"files": [
{"type": "mp3", "url": "https://media.suno-api.io/assets/song_id_1-free2-v1-mp3.mp3"}
]
},
{
"song_id": "song_id_2",
"files": [],
"error": {"code": "song_not_found", "message": "song not found or not owned by the current user"}
}
],
"requested_songs": 2,
"succeeded_songs": 1,
"price": 0.2
}
}
| Veld | Type | Opmerkingen |
|---|---|---|
| songs | array | Resultaat per nummer: song_id, files[] en bij een fout error |
| requested_songs | number | Aantal nummers na normalisatie en deduplicatie |
| succeeded_songs | number | Aantal successen; de facturering is op dit aantal gebaseerd |
| price | number | Het daadwerkelijk afgeschreven bedrag voor deze aanroep (yuan) |
Wordt slechts één nummer opgevraagd, dan bevat het antwoord ook song_id en files op het hoogste niveau, voor compatibiliteit met de oude vorm voor één nummer.
Cache-adressen hergebruiken (kosteloos)
Voor een nummer dat u al hebt gedownload is bij een nieuwe download geen nieuwe resolutie nodig en wordt niet opnieuw gefactureerd: gebruik POST /api/music/free2/cached om de huidige adressen te krijgen van de bestanden die dit account eerder heeft gedownload.
Endpoint: POST /api/music/free2/cached
Facturering: Gratis. Het is een alleen-lezen cache: geen resolutie, geen transcodering, geen kosten; er worden alleen adressen teruggegeven die al klaarstaan en niet zijn teruggehaald.
⚠️ Geldigheid van het downloadadres: 7 dagen — sla het tijdig op.
songs[].files[].urlwordt geleverd door de objectopslag van het platform en verloopt standaard na 7 dagen (de bestanden worden teruggehaald en het oude adres geeft 404); sla ze binnen die 7 dagen op in uw eigen opslag. Roep na het verlopenPOST /api/music/free2opnieuw aan om ze opnieuw voor te bereiden en een geldig adres te krijgen (die nieuwe voorbereiding wordt volgens de normale regels gefactureerd;/api/music/free2/cachedgeeft alleen nog geldige cache-adressen terug).
Verzoekparameters: identiek aan POST /api/music/free2 (een van song_id / song_ids / songs, en minstens één item in files).
curl -X POST https://www.suno-api.io/api/music/free2/cached \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "song_ids": ["98ca3f1d-…", "a185b3d9-…"], "files": ["mp3"] }'
{
"success": true,
"data": {
"items": [
{ "song_id": "98ca3f1d-…", "type": "mp3", "url": "https://…/assets/98ca3f1d-…-free2-v1-mp3.mp3" }
],
"songs": [
{ "song_id": "98ca3f1d-…", "files": [ { "type": "mp3", "url": "https://…" } ], "missing_files": [] },
{ "song_id": "a185b3d9-…", "files": [], "missing_files": ["mp3"] }
],
"missing": ["a185b3d9-…"]
}
}
| Veld | Type | Opmerkingen |
|---|---|---|
| items | array | Lijst met direct downloadbare adressen (song_id + type + url) |
| songs | array | Resultaten per nummer; missing_files zijn de formaten die deze keer niet in de cache zaten |
| missing | string[] | Voor dit nummer is er geen bruikbare cache (het moet opnieuw worden opgelost met POST /api/music/free2, en die stap wordt per nummer gefactureerd) |
Adressen worden alleen teruggegeven voor nummers die u eerder hebt gedownload; nummers zonder downloadgeschiedenis, of waarvan de assets al zijn teruggehaald, verschijnen alleen in missing en krijgen geen adres.
Opmerkingen
POST /api/music/free2kan elk openbaar nummer op Suno oplossen (ook nummers die niet op dit platform staan); lukt dat niet, dan wordt alleen voor dat nummer eenerrorteruggegeven en de andere nummers in dezelfde batch blijven onaangetast.POST /api/music/free2/cachedgeeft alleen adressen voor nummers die dit account heeft gedownload.- De eerste resolutie van een nummer maakt de gehoste bestanden aan, die daarna worden hergebruikt; zet geen dubbele typen in
files, de server dedupliceert automatisch. - Verschil met de API voor het downloaden en beluisteren van nummer-media: Free2 is betaald, accepteert suno.com-links rechtstreeks en biedt naast de songtekst geen typen zoals tijdlijn/MIDI.
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