API de certificat de licență comercială muzicală
Descrierea endpoint-ului
Endpoint-urile de certificat de licență comercială muzicală permit listarea melodiilor pe care utilizatorul cheii API curente le poate licenția, generarea unui certificat PDF, consultarea istoricului certificatelor și descărcarea fișierelor emise.
Toate endpoint-urile folosesc uniform New API Key:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Adresă de bază:
https://www.suno-api.io
Condiții preliminare
- Cheia API trebuie să fie validă și să aparțină utilizatorului care are nevoie de certificat.
- Utilizatorul trebuie să finalizeze mai întâi legarea identității de licențiere (vezi „0. Eligibilitate și identitate de licențiere”); odată confirmată, identitatea se blochează conform regulilor produsului.
- Utilizatorul trebuie să îndeplinească cerința de reîncărcare cumulată pentru persoană fizică sau companie.
- Endpoint-urile obișnuite returnează doar informații de identitate mascate; nu returnează niciodată în clar numere de document, telefoane sau coduri de credit social unificate.
- Fiecare melodie poate primi un singur certificat emis cu succes; un certificat a cărui generare a eșuat nu consumă eligibilitatea melodiei.
- Momentan sunt acceptate tipurile de generare desemnate care sunt finalizate, au audio și au un Suno Song ID real. Dacă o melodie poate fi selectată este stabilit de
authorization.selectableîn lista de melodii.
0. Eligibilitate și identitate de licențiere
Înainte de a emite un certificat trebuie verificată eligibilitatea și legată identitatea. Ambele endpoint-uri sunt gratuite.
0.1 Verificarea eligibilității și identității
Endpoint: 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
}
}
}
| Câmp | Tip | Observații |
|---|---|---|
| identity.exists | boolean | Dacă identitatea de licențiere este deja legată; când este true, se returnează informațiile de identitate mascate |
| eligibility.current_amount | number | Suma cumulată de reîncărcări în acest moment (yuan) |
| eligibility.personal_required_amount | number | Pragul de reîncărcare cumulată cerut pentru licența individuală |
| eligibility.company_required_amount | number | Pragul de reîncărcare cumulată cerut pentru licența de companie |
| eligibility.personal_eligible / company_eligible | boolean | Dacă eligibilitatea corespunzătoare este îndeplinită acum |
| stats.authorized_song_count / certificate_count | number | Numărul de melodii licențiate și de certificate emise |
0.2 Legarea identității de licențiere
Endpoint: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Ion Popescu",
"id_number": "110101199001010000",
"contact_name": "Ion Popescu",
"phone": "13800000000",
"email": "user@example.com",
"address": "Str. Unirii 12, București",
"confirm_locked": true
}
| Parametru | Tip | Obligatoriu | Observații |
|---|---|---|---|
| identity_type | string | da | personal sau company |
| legal_name | string | da | Numele persoanei |
| id_number | string | da | Numărul actului de identitate (stocat criptat pe server; endpoint-urile obișnuite returnează doar rezultatul mascat) |
| company_name | string | obligatoriu pentru companii | Numele companiei |
| credit_code | string | obligatoriu pentru companii | Codul de credit social unificat |
| contact_name | string | da | Persoana de contact |
| phone | string | da | Telefonul de contact |
| string | da | E-mailul de contact | |
| address | string | nu | Adresa de contact |
| confirm_locked | boolean | da | Confirmă blocarea informațiilor de identitate; trimiterea true înseamnă că accepți să nu le poți modifica singur după legare |
Răspunsul returnează informațiile de identitate mascate: {"identity": {...}}. După o legare reușită, confirmă cu endpoint-ul context că identity.exists a devenit true, apoi apelează lista de melodii și endpoint-urile de emitere. Dacă informațiile de identitate trebuie modificate, contactează serviciul clienți.
1. Listarea melodiilor licențiabile
Endpoint: GET /api/music/authorization/songs
Parametri de query
| Parametru | Tip | Obligatoriu | Implicit | Observații |
|---|---|---|---|---|
p |
number | nu | 1 |
Numărul paginii |
page_size |
number | nu | valoarea implicită a sistemului | Elemente pe pagină, maximum 100 |
q |
string | nu | - | Caută după titlu, prompt sau Suno Song ID exact |
status |
string | nu | all |
all, selectable, authorized sau unavailable |
Exemplu de cerere
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemplu de răspuns
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Melodie exemplu",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
Când authorization.selectable=false, răspunsul explică motivul prin reason_code și reason. Melodiile pentru care există deja un certificat returnează și certificate_id și certificate_no.
2. Generarea certificatului
Endpoint: POST /api/music/authorization/certificates
Parametri din body
| Parametru | Tip | Obligatoriu | Observații |
|---|---|---|---|
song_ids |
string[] | da | Lista de Suno Song ID reale de licențiat |
confirm_risk_terms |
boolean | da | Trebuie să fie true, confirmând sfera licenței și termenii de risc |
Exemplu de cerere
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
}'
Exemplu de răspuns
{
"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": "I*",
"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": []
}
}
}
Într-un răspuns reușit, status este issued. Dacă redarea PDF eșuează, certificatul este marcat failed, iar melodiile respective pot fi trimise din nou după remedierea problemei.
3. Consultarea istoricului certificatelor
Endpoint: GET /api/music/authorization/certificates
Parametri de query
| Parametru | Tip | Obligatoriu | Implicit | Observații |
|---|---|---|---|---|
p |
number | nu | 1 |
Numărul paginii |
page_size |
number | nu | valoarea implicită a sistemului | Elemente pe pagină, maximum 100 |
q |
string | nu | - | Caută după numărul certificatului sau numele mascat al licențiatului |
Exemplu de cerere
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Structura răspunsului
data din răspuns este un obiect paginat cu page, page_size, total și items. Fiecare intrare din items este un rezumat de certificat și include instantaneul de melodii al acelui certificat.
4. Consultarea detaliilor certificatului
Endpoint: GET /api/music/authorization/certificates/:id
Parametrul de cale id este ID-ul numeric al certificatului. Endpoint-ul permite accesul doar la certificatele utilizatorului cheii API curente.
Exemplu de cerere
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Structura răspunsului
În caz de succes returnează data.certificate, ale cărui câmpuri includ numărul certificatului, starea, informațiile mascate ale licențiatului, momentul emiterii, suma de control a PDF-ului, adresa de descărcare și instantaneul melodiilor licențiate.
5. Descărcarea PDF-ului certificatului
Endpoint: GET /api/music/authorization/certificates/:id/download
Pot fi descărcate doar certificatele cu starea issued. Cererea de descărcare necesită în continuare o cheie API validă și poți descărca doar propriile certificate.
Exemplu de cerere
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Un răspuns reușit este un flux de fișier application/pdf; numele fișierului urmează Content-Disposition al backend-ului.
Cause frecvente de eșec
| Situație | Gestionare sugerată |
|---|---|
| Cheia API este invalidă sau lipsește | Verifică antetul Authorization: Bearer YOUR_API_KEY |
| Identitatea de licențiere nu este încă legată | Finalizează mai întâi legarea identității pe pagina de certificate din Create UI |
| Reîncărcarea cumulată este insuficientă | Reîncearcă după atingerea pragului pentru persoană fizică sau companie |
| Termenii de risc nu au fost confirmați | Setează confirm_risk_terms la true |
| Melodia nu poate fi licențiată | Verifică reason_code și reason returnate de lista de melodii |
| Melodia are deja un certificat | Folosește certificate_id returnat pentru a consulta certificatul existent |
| PDF-ul nu poate fi generat momentan | Reîncearcă mai târziu; o înregistrare eșuată nu consumă eligibilitatea melodiei |
Note
- Folosește
suno_song_idreturnat de lista de melodii; nu folosi ID-uri de rezervăpending:*sau ID-uri din tabelul de sarcini. - Adresa de descărcare nu este un link public; nu elimina autentificarea prin cheie API.
- Înregistrările de certificat aparțin utilizatorului corespunzător cheii API și nu pot fi consultate sau descărcate între utilizatori.
- Sfera licenței, termenii de restricție și conținutul final al PDF-ului sunt reglementate de certificatul efectiv emis.
Obține o cheie API
Creează o cheie API în consolă după înregistrare. Fiecare generare costă 0,6 ¥ și returnează 2 piese, descărcările sunt nelimitate și nu este nevoie de număr de telefon.
Obține cheia API Înapoi la prezentare