API del certificato di licenza commerciale musicale
Descrizione dell'endpoint
Gli endpoint del certificato di licenza commerciale musicale permettono di elencare i brani che l'utente della chiave API corrente può licenziare, generare un certificato PDF, consultare la cronologia dei certificati e scaricare i file emessi.
Tutti gli endpoint usano uniformemente la New API Key:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Indirizzo di base:
https://www.suno-api.io
Prerequisiti
- La chiave API deve essere valida e appartenere all'utente che necessita del certificato.
- L'utente deve prima completare il collegamento dell'identità di licenza (vedi «0. Idoneità e identità di licenza»); una volta confermata, l'identità viene bloccata secondo le regole del prodotto.
- L'utente deve soddisfare il requisito di ricarica cumulata per persona fisica o azienda.
- Gli endpoint ordinari restituiscono solo informazioni di identità mascherate; non restituiscono mai in chiaro numeri di documento, telefoni o codici di credito sociale unificato.
- Ogni brano può emettere un solo certificato riuscito; un certificato la cui generazione fallisce non consuma l'idoneità del brano.
- Attualmente sono supportati i tipi di generazione designati che sono completati, hanno audio e hanno un Suno Song ID reale. Se un brano è selezionabile lo determina
authorization.selectablenell'elenco dei brani.
0. Idoneità e identità di licenza
Prima di emettere un certificato bisogna verificare l'idoneità e collegare l'identità. Entrambi gli endpoint sono gratuiti.
0.1 Verificare idoneità e identità
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
}
}
}
| Campo | Tipo | Note |
|---|---|---|
| identity.exists | boolean | Se l'identità di licenza è già collegata; quando è true vengono restituite le informazioni di identità mascherate |
| eligibility.current_amount | number | Importo di ricarica cumulata attuale (yuan) |
| eligibility.personal_required_amount | number | Soglia di ricarica cumulata richiesta per la licenza individuale |
| eligibility.company_required_amount | number | Soglia di ricarica cumulata richiesta per la licenza aziendale |
| eligibility.personal_eligible / company_eligible | boolean | Se l'idoneità corrispondente è attualmente soddisfatta |
| stats.authorized_song_count / certificate_count | number | Numero di brani licenziati e di certificati emessi |
0.2 Collegare l'identità di licenza
Endpoint: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Mario Rossi",
"id_number": "110101199001010000",
"contact_name": "Mario Rossi",
"phone": "13800000000",
"email": "user@example.com",
"address": "Via Roma 12, Milano",
"confirm_locked": true
}
| Parametro | Tipo | Obbligatorio | Note |
|---|---|---|---|
| identity_type | string | sì | personal o company |
| legal_name | string | sì | Nome della persona |
| id_number | string | sì | Numero del documento (memorizzato cifrato sul server; gli endpoint ordinari restituiscono solo il risultato mascherato) |
| company_name | string | obbligatorio per le aziende | Nome dell'azienda |
| credit_code | string | obbligatorio per le aziende | Codice di credito sociale unificato |
| contact_name | string | sì | Persona di contatto |
| phone | string | sì | Telefono di contatto |
| string | sì | E-mail di contatto | |
| address | string | no | Indirizzo di contatto |
| confirm_locked | boolean | sì | Conferma il blocco delle informazioni di identità; passare true significa accettare che non possano essere modificate autonomamente dopo il collegamento |
La risposta restituisce le informazioni di identità mascherate: {"identity": {...}}. Dopo un collegamento riuscito, verifica con l'endpoint context che identity.exists sia diventato true, poi chiama gli endpoint di elenco brani ed emissione. Se le informazioni di identità devono essere modificate, contatta l'assistenza.
1. Elencare i brani licenziabili
Endpoint: GET /api/music/authorization/songs
Parametri di query
| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
p |
number | no | 1 |
Numero di pagina |
page_size |
number | no | predefinito di sistema | Elementi per pagina, massimo 100 |
q |
string | no | - | Cerca per titolo, prompt o Suno Song ID esatto |
status |
string | no | all |
all, selectable, authorized o unavailable |
Esempio di richiesta
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Esempio di risposta
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Brano di esempio",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
Quando authorization.selectable=false, la risposta spiega il motivo tramite reason_code e reason. I brani che hanno già un certificato restituiscono anche certificate_id e certificate_no.
2. Generare un certificato
Endpoint: POST /api/music/authorization/certificates
Parametri del body
| Parametro | Tipo | Obbligatorio | Note |
|---|---|---|---|
song_ids |
string[] | sì | Elenco dei Suno Song ID reali da licenziare |
confirm_risk_terms |
boolean | sì | Deve essere true, a conferma dell'ambito di licenza e dei termini di rischio |
Esempio di richiesta
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
}'
Esempio di risposta
{
"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": "M*",
"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": []
}
}
}
In una risposta riuscita status è issued. Se il rendering del PDF fallisce, il certificato viene contrassegnato come failed e i brani correlati possono essere reinviati una volta risolto il problema.
3. Consultare la cronologia dei certificati
Endpoint: GET /api/music/authorization/certificates
Parametri di query
| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
p |
number | no | 1 |
Numero di pagina |
page_size |
number | no | predefinito di sistema | Elementi per pagina, massimo 100 |
q |
string | no | - | Cerca per numero di certificato o nome mascherato del licenziatario |
Esempio di richiesta
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Struttura della risposta
Il data della risposta è un oggetto paginato con page, page_size, total e items. Ogni voce di items è un riepilogo del certificato e include l'istantanea dei brani di quel certificato.
4. Consultare i dettagli del certificato
Endpoint: GET /api/music/authorization/certificates/:id
Il parametro di percorso id è l'ID numerico del certificato. L'endpoint consente l'accesso solo ai certificati dell'utente della chiave API corrente.
Esempio di richiesta
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Struttura della risposta
In caso di successo restituisce data.certificate, i cui campi includono numero del certificato, stato, informazioni mascherate del licenziatario, ora di emissione, checksum del PDF, indirizzo di download e istantanea dei brani licenziati.
5. Scaricare il PDF del certificato
Endpoint: GET /api/music/authorization/certificates/:id/download
Si possono scaricare solo i certificati con stato issued. La richiesta di download richiede comunque una chiave API valida e puoi scaricare solo i tuoi certificati.
Esempio di richiesta
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Una risposta riuscita è uno stream di file application/pdf; il nome del file segue il Content-Disposition del backend.
Cause di errore frequenti
| Situazione | Gestione suggerita |
|---|---|
| La chiave API non è valida o manca | Controlla l'header Authorization: Bearer YOUR_API_KEY |
| L'identità di licenza non è ancora collegata | Completa prima il collegamento dell'identità nella pagina dei certificati del Create UI |
| Ricarica cumulata insufficiente | Riprova una volta raggiunto il requisito individuale o aziendale |
| I termini di rischio non sono stati confermati | Imposta confirm_risk_terms su true |
| Il brano non può essere licenziato | Guarda reason_code e reason restituiti dall'elenco dei brani |
| Il brano ha già un certificato | Usa il certificate_id restituito per consultare il certificato esistente |
| Il PDF non può essere generato al momento | Riprova più tardi; un record fallito non consuma l'idoneità del brano |
Note
- Usa il
suno_song_idrestituito dall'elenco dei brani; non usare ID segnapostopending:*né ID della tabella dei task. - L'indirizzo di download non è un link pubblico; non rimuovere l'autenticazione tramite chiave API.
- I record dei certificati appartengono all'utente corrispondente alla chiave API e non possono essere consultati o scaricati tra utenti diversi.
- L'ambito della licenza, i termini di restrizione e il contenuto finale del PDF sono regolati dal certificato effettivamente emesso.
Ottenere una chiave API
Dopo la registrazione puoi creare una chiave API nella console. Ogni generazione costa 0,6 ¥ e restituisce 2 brani, i download sono illimitati e non serve un numero di telefono.
Ottieni chiave API Torna alla panoramica