Free2-nedladdnings-API
Beskrivning av ändpunkten
Free2 är en egen betald nedladdningskanal: den löser upp MP3/WAV/låttext/metadata-filer utifrån ett låt-ID (eller en suno.com-låt länk) och returnerar nedladdningsadresser som plattformen hostingar. Den accepterar endast en API-nyckel — inte en inloggningssession i webbläsaren — och svaret innehåller aldrig Sunos krypterade uppspelningskälla.
Ändpunkt: POST /api/music/free2
Fakturering: debiteras per framgångsrikt upplöst låt, för närvarande 0,2 CNY per låt som standard. Att välja flera filtyper i en begäran kostar inget extra; låtar som inte kan lösas upp debiteras inte. Högst 10 låtar per begäran (efter dublettrensning); det faktiskt debiterade beloppet följer prisinställningen i backoffice.
Rekommenderad modell: suno-v6. suno-v6, suno-v6-wild och suno-v6-mini är tillgängliga.
Autentisering
| Parameter | Typ | Krävs | Anmärkningar |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Begäransparametrar
| Parameter | Typ | Krävs | Standard | Anmärkningar |
|---|---|---|---|---|
| song_id | string | nej | - | Ett enskilt låt-ID; en suno.com-låt länk (inklusive kortlänken /s/) fungerar också |
| song_ids | string[] | nej | - | Form för flera låtar (rekommenderas); högst 10 per begäran |
| songs | string[] | nej | - | Alias för song_ids |
| files | string[] | ja | - | Filtyperna du behöver: mp3, wav, lyrics, metadata; m4a stöds inte |
Ange minst en av song_id och song_ids; ange minst ett element i files.
Exempelbegäran
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"]
}'
Svar
{
"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
}
}
| Fält | Typ | Anmärkningar |
|---|---|---|
| songs | array | Resultat per låt: song_id, files[] och vid fel error |
| requested_songs | number | Antal låtar efter normalisering och dublettrensning |
| succeeded_songs | number | Antal lyckade; faktureringen baseras på detta antal |
| price | number | Faktiskt debiterat belopp för detta anrop (yuan) |
När bara en låt begärs innehåller svaret även song_id och files på översta nivån, för kompatibilitet med den äldre formen för en enskild låt.
Återanvända cachade adresser (kostnadsfritt)
För en låt du redan har laddat ner krävs ingen ny upplösning och ingen ny debitering: använd POST /api/music/free2/cached för att hämta de aktuella adresserna för de filer som kontot laddade ner tidigare.
Ändpunkt: POST /api/music/free2/cached
Fakturering: Kostnadsfritt. Det är en skrivskyddad cache: ingen upplösning, ingen omkodning, ingen debitering; endast adresser som redan är förberedda och inte återkallade returneras.
⚠️ Nedladdningsadressens giltighet: 7 dagar — spara i tid.
songs[].files[].urltillhandahålls av plattformens objektlagring och upphör som standard efter 7 dagar (filerna återkallas och den gamla adressen ger 404); spara dem i din egen lagring inom dessa 7 dagar. När en adress har gått ut anropar duPOST /api/music/free2igen för att förbereda den på nytt och få en giltig adress (den nya förberedelsen debiteras enligt normala regler;/api/music/free2/cachedreturnerar bara cache-adresser som fortfarande är giltiga).
Begäransparametrar: identiska med POST /api/music/free2 (någon av song_id / song_ids / songs, och minst ett element i 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-…"]
}
}
| Fält | Typ | Anmärkningar |
|---|---|---|
| items | array | Lista med adresser som är klara att ladda ner (song_id + type + url) |
| songs | array | Resultat per låt; missing_files är de format som inte fanns i cachen denna gång |
| missing | string[] | Den här låten har ingen användbar cache alls (den måste lösas upp igen med POST /api/music/free2, och det steget debiteras per låt) |
Adresser returneras bara för låtar du har laddat ner tidigare; låtar utan nedladdningshistorik, eller vars tillgångar redan återkallats, visas bara i missing och får ingen adress.
Noter
POST /api/music/free2kan lösa upp vilken offentlig låt som helst på Suno (även låtar som inte finns på den här plattformen); går en låt inte att lösa upp returneras etterrorbara för den låten och övriga låtar i samma batch påverkas inte.POST /api/music/free2/cachedreturnerar däremot adresser bara för låtar som detta konto har laddat ner.- Den första upplösningen av en låt skapar de hostade filerna, som sedan återanvänds; skicka inte dubblerade typer i
files, servern rensar dubletter automatiskt. - Skillnad mot API för nedladdning och uppspelning av låtmedia: Free2 är betalt, accepterar suno.com-länkar direkt och erbjuder, utöver text, inte typer som tidslinje/MIDI.
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