API för kommersiella musiklicenscertifikat
Beskrivning av ändpunkten
Ändpunkterna för kommersiella musiklicenscertifikat låter dig lista de låtar som användaren av den aktuella API-nyckeln får licensiera, skapa ett PDF-certifikat, fråga efter certifikathistorik och ladda ner utfärdade filer.
Alla ändpunkter använder New API Key på samma sätt:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Basadress:
https://www.suno-api.io
Förutsättningar
- API-nyckeln måste vara giltig och tillhöra den användare som behöver certifikatet.
- Användaren måste först slutföra kopplingen av licensidentiteten (se "0. Licensberättigande och identitet"); när den är bekräftad låses identiteten enligt produktreglerna.
- Användaren måste uppfylla kravet på kumulativ påfyllning för privatperson eller företag.
- Vanliga ändpunkter returnerar endast maskerade identitetsuppgifter; de returnerar aldrig id-nummer, telefonnummer eller enhetliga sociala kreditkoder i klartext.
- Varje låt kan få endast ett lyckat certifikat; ett certifikat som inte kunde skapas förbrukar inte låtens berättigande.
- För närvarande stöds avslutade angivna genereringstyper som har ljud och ett riktigt Suno Song ID. Om en låt går att välja avgörs av
authorization.selectablei låtlistan.
0. Licensberättigande och identitet
Innan ett certifikat utfärdas måste berättigandet kontrolleras och identiteten kopplas. Båda ändpunkterna är kostnadsfria.
0.1 Kontrollera berättigande och identitet
Ändpunkt: GET /api/music/authorization/context
{
"code": 200,
"message": "success",
"data": {
"identity": {
"exists": false
},
"eligibility": {
"current_amount": 216.3,
"personal_required_amount": 200,
"company_required_amount": 500,
"personal_eligible": true,
"company_eligible": false
},
"stats": {
"authorized_song_count": 0,
"certificate_count": 0
}
}
}
| Fält | Typ | Anmärkningar |
|---|---|---|
| identity.exists | boolean | Om licensidentiteten redan är kopplad; när den är true returneras maskerade identitetsuppgifter |
| eligibility.current_amount | number | Aktuellt kumulativt påfyllningsbelopp (yuan) |
| eligibility.personal_required_amount | number | Krävd kumulativ påfyllningströskel för privat licens |
| eligibility.company_required_amount | number | Krävd kumulativ påfyllningströskel för företagslicens |
| eligibility.personal_eligible / company_eligible | boolean | Om motsvarande berättigande är uppfyllt just nu |
| stats.authorized_song_count / certificate_count | number | Antal licensierade låtar och utfärdade certifikat |
0.2 Koppla licensidentiteten
Ändpunkt: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Anna Andersson",
"id_number": "110101199001010000",
"contact_name": "Anna Andersson",
"phone": "13800000000",
"email": "user@example.com",
"address": "Storgatan 12, Stockholm",
"confirm_locked": true
}
| Parameter | Typ | Krävs | Anmärkningar |
|---|---|---|---|
| identity_type | string | ja | personal eller company |
| legal_name | string | ja | Personens namn |
| id_number | string | ja | Id-nummer (lagras krypterat på servern; vanliga ändpunkter returnerar bara det maskerade resultatet) |
| company_name | string | krävs för företag | Företagsnamn |
| credit_code | string | krävs för företag | Enhetlig social kreditkod |
| contact_name | string | ja | Kontaktperson |
| phone | string | ja | Kontakttelefon |
| string | ja | Kontakt-e-post | |
| address | string | nej | Kontaktadress |
| confirm_locked | boolean | ja | Bekräftar att identitetsuppgifterna låses; true innebär att du accepterar att de inte kan ändras av dig själv efter kopplingen |
Svaret returnerar de maskerade identitetsuppgifterna: {"identity": {...}}. Efter en lyckad koppling, bekräfta med context-ändpunkten att identity.exists har blivit true och anropa sedan låtlistan och utfärdandeändpunkterna. Om identitetsuppgifterna behöver ändras, kontakta kundtjänst.
1. Lista licensierbara låtar
Ändpunkt: GET /api/music/authorization/songs
Frågeparametrar
| Parameter | Typ | Krävs | Standard | Anmärkningar |
|---|---|---|---|---|
p |
number | nej | 1 |
Sidnummer |
page_size |
number | nej | systemstandard | Poster per sida, högst 100 |
q |
string | nej | - | Sök på titel, prompt eller exakt Suno Song ID |
status |
string | nej | all |
all, selectable, authorized eller unavailable |
Exempelbegäran
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Exempelsvar
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Exempellåt",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
När authorization.selectable=false förklarar svaret orsaken via reason_code och reason. Låtar som redan har ett certifikat returnerar även certificate_id och certificate_no.
2. Skapa ett certifikat
Ändpunkt: POST /api/music/authorization/certificates
Brödtextparametrar
| Parameter | Typ | Krävs | Anmärkningar |
|---|---|---|---|
song_ids |
string[] | ja | Lista med riktiga Suno Song ID som ska licensieras |
confirm_risk_terms |
boolean | ja | Måste vara true och bekräftar licensomfånget och riskvillkoren |
Exempelbegäran
curl -X POST https://www.suno-api.io/api/music/authorization/certificates \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_ids": ["suno-song-id-1", "suno-song-id-2"],
"confirm_risk_terms": true
}'
Exempelsvar
{
"success": true,
"message": "",
"data": {
"certificate": {
"id": 101,
"certificate_no": "CERTIFICATE-NO",
"verification_code": "VERIFY-CODE",
"status": "issued",
"song_count": 2,
"identity_type_snapshot": "personal",
"licensee_name_masked": "A*",
"document_no_masked_snapshot": "11**************34",
"phone_masked_snapshot": "138****0000",
"pdf_sha256": "PDF_SHA256",
"issued_at": 1784000100,
"created_at": 1784000000,
"updated_at": 1784000100,
"download_url": "/api/music/authorization/certificates/101/download",
"songs": []
}
}
}
I ett lyckat svar är status lika med issued. Om PDF-renderingen misslyckas markeras certifikatet som failed och de berörda låtarna kan skickas in igen när problemet är åtgärdat.
3. Fråga efter certifikathistorik
Ändpunkt: GET /api/music/authorization/certificates
Frågeparametrar
| Parameter | Typ | Krävs | Standard | Anmärkningar |
|---|---|---|---|---|
p |
number | nej | 1 |
Sidnummer |
page_size |
number | nej | systemstandard | Poster per sida, högst 100 |
q |
string | nej | - | Sök på certifikatnummer eller maskerat licensinnehavarnamn |
Exempelbegäran
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Svarets struktur
Svaret data är ett sidindelat objekt med page, page_size, total och items. Varje post i items är en certifikatsammanfattning och innehåller certifikatets låtögonblicksbild.
4. Fråga efter certifikatdetaljer
Ändpunkt: GET /api/music/authorization/certificates/:id
Sökvägsparametern id är certifikatets numeriska ID. Ändpunkten ger endast åtkomst till certifikat som tillhör användaren av den aktuella API-nyckeln.
Exempelbegäran
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Svarets struktur
Vid framgång returneras data.certificate, med fält som certifikatnummer, status, maskerade licensinnehavaruppgifter, utfärdandetid, PDF-kontrollsumma, nedladdningsadress och ögonblicksbilden av licensierade låtar.
5. Ladda ner certifikatets PDF
Ändpunkt: GET /api/music/authorization/certificates/:id/download
Endast certifikat med status issued kan laddas ner. Nedladdningsbegäran kräver fortfarande en giltig API-nyckel, och du kan bara ladda ner dina egna certifikat.
Exempelbegäran
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Ett lyckat svar är en application/pdf-filström; filnamnet följer backendens Content-Disposition.
Vanliga orsaker till misslyckande
| Situation | Föreslagen åtgärd |
|---|---|
| API-nyckeln är ogiltig eller saknas | Kontrollera headern Authorization: Bearer YOUR_API_KEY |
| Licensidentiteten är inte kopplad än | Slutför först identitetskopplingen på certifikatsidan i Create UI |
| Kumulativ påfyllning räcker inte | Försök igen när kravet för privatperson eller företag är uppfyllt |
| Riskvillkoren har inte bekräftats | Sätt confirm_risk_terms till true |
| Låten kan inte licensieras | Titta på reason_code och reason som låtlistan returnerar |
| Låten har redan ett certifikat | Använd det returnerade certificate_id för att fråga efter det befintliga certifikatet |
| PDF:en kan inte skapas just nu | Försök igen senare; en misslyckad post förbrukar inte låtens licensberättigande |
Noter
- Använd
suno_song_idsom låtlistan returnerar; använd intepending:*-platshållar-ID:n eller ID:n från uppgiftstabellen. - Nedladdningsadressen är inte en offentlig länk; ta inte bort API-nyckelautentiseringen.
- Certifikatposter tillhör användaren som API-nyckeln motsvarar och kan inte frågas efter eller laddas ner mellan användare.
- Licensomfång, begränsningsvillkor och det slutliga PDF-innehållet styrs av det certifikat som faktiskt utfärdats.
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