API de certificat de licence commerciale de musique
Description du point d'accès
Les points d'accès de certificat de licence commerciale de musique permettent de lister les morceaux que l'utilisateur de la clé d'API actuelle peut licencier, de générer un certificat PDF, de consulter l'historique des certificats et de télécharger les fichiers délivrés.
Tous les points d'accès utilisent uniformément la New API Key :
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Adresse de base :
https://www.suno-api.io
Conditions préalables
- La clé d'API doit être valide et appartenir à l'utilisateur qui a besoin du certificat.
- L'utilisateur doit d'abord terminer la liaison d'identité de licence (voir « 0. Éligibilité et identité de licence ») ; une fois confirmée, l'identité est verrouillée selon les règles du produit.
- L'utilisateur doit satisfaire l'exigence de recharge cumulée pour une personne physique ou une entreprise.
- Les points d'accès ordinaires ne renvoient que des informations d'identité masquées ; ils ne renvoient jamais en clair les numéros de pièce d'identité, les téléphones ou les codes de crédit social unifié.
- Chaque morceau ne peut donner lieu qu'à un seul certificat émis avec succès ; un certificat dont la génération échoue ne consomme pas l'éligibilité du morceau.
- Sont actuellement pris en charge les types de génération désignés qui sont terminés, comportent de l'audio et possèdent un Suno Song ID réel. Le caractère sélectionnable d'un morceau est déterminé par
authorization.selectabledans la liste des morceaux.
0. Éligibilité et identité de licence
Avant d'émettre un certificat, il faut consulter l'éligibilité et lier l'identité. Ces deux points d'accès sont gratuits.
0.1 Consulter l'éligibilité et l'identité
Point d'accès : 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
}
}
}
| Champ | Type | Remarques |
|---|---|---|
| identity.exists | boolean | Indique si l'identité de licence est déjà liée ; lorsque c'est true, les informations d'identité masquées sont renvoyées |
| eligibility.current_amount | number | Montant de recharge cumulé actuel (yuan) |
| eligibility.personal_required_amount | number | Seuil de recharge cumulée requis pour une licence individuelle |
| eligibility.company_required_amount | number | Seuil de recharge cumulée requis pour une licence d'entreprise |
| eligibility.personal_eligible / company_eligible | boolean | Indique si l'éligibilité correspondante est actuellement remplie |
| stats.authorized_song_count / certificate_count | number | Nombre de morceaux licenciés et de certificats émis |
0.2 Lier l'identité de licence
Point d'accès : POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Jean Dupont",
"id_number": "110101199001010000",
"contact_name": "Jean Dupont",
"phone": "13800000000",
"email": "user@example.com",
"address": "12 rue de Rivoli, Paris",
"confirm_locked": true
}
| Paramètre | Type | Obligatoire | Remarques |
|---|---|---|---|
| identity_type | string | oui | personal ou company |
| legal_name | string | oui | Nom de la personne |
| id_number | string | oui | Numéro de pièce d'identité (stocké chiffré côté serveur ; les points d'accès ordinaires ne renvoient que le résultat masqué) |
| company_name | string | obligatoire pour une entreprise | Nom de l'entreprise |
| credit_code | string | obligatoire pour une entreprise | Code de crédit social unifié |
| contact_name | string | oui | Personne de contact |
| phone | string | oui | Téléphone de contact |
| string | oui | E-mail de contact | |
| address | string | non | Adresse de contact |
| confirm_locked | boolean | oui | Confirme le verrouillage des informations d'identité ; passer true accepte qu'elles ne puissent plus être modifiées par vous-même après la liaison |
La réponse renvoie les informations d'identité masquées : {"identity": {...}}. Après une liaison réussie, confirmez avec le point d'accès context que identity.exists est passé à true, puis appelez les points d'accès de liste des morceaux et d'émission. Si les informations d'identité doivent être modifiées, contactez le service client.
1. Lister les morceaux licenciables
Point d'accès : GET /api/music/authorization/songs
Paramètres de query
| Paramètre | Type | Obligatoire | Par défaut | Remarques |
|---|---|---|---|---|
p |
number | non | 1 |
Numéro de page |
page_size |
number | non | valeur par défaut du système | Éléments par page, maximum 100 |
q |
string | non | - | Rechercher par titre, prompt ou Suno Song ID exact |
status |
string | non | all |
all, selectable, authorized ou unavailable |
Exemple de requête
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Morceau d'exemple",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
Quand authorization.selectable=false, la réponse explique le motif via reason_code et reason. Les morceaux qui ont déjà un certificat renvoient aussi certificate_id et certificate_no.
2. Générer un certificat
Point d'accès : POST /api/music/authorization/certificates
Paramètres du body
| Paramètre | Type | Obligatoire | Remarques |
|---|---|---|---|
song_ids |
string[] | oui | Liste des Suno Song ID réels à licencier |
confirm_risk_terms |
boolean | oui | Doit être true, confirmant la portée de la licence et les clauses de risque |
Exemple de requête
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
}'
Exemple de réponse
{
"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": "J*",
"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": []
}
}
}
Dans une réponse réussie, status vaut issued. Si le rendu du PDF échoue, le certificat est marqué failed et les morceaux concernés peuvent être soumis à nouveau une fois le problème corrigé.
3. Consulter l'historique des certificats
Point d'accès : GET /api/music/authorization/certificates
Paramètres de query
| Paramètre | Type | Obligatoire | Par défaut | Remarques |
|---|---|---|---|---|
p |
number | non | 1 |
Numéro de page |
page_size |
number | non | valeur par défaut du système | Éléments par page, maximum 100 |
q |
string | non | - | Rechercher par numéro de certificat ou nom masqué du licencié |
Exemple de requête
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Structure de la réponse
Le data de la réponse est un objet paginé contenant page, page_size, total et items. Chaque entrée de items est un résumé de certificat et inclut l'instantané des morceaux de ce certificat.
4. Consulter le détail d'un certificat
Point d'accès : GET /api/music/authorization/certificates/:id
Le paramètre de chemin id est l'ID numérique du certificat. Le point d'accès n'autorise l'accès qu'aux certificats de l'utilisateur de la clé d'API actuelle.
Exemple de requête
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Structure de la réponse
En cas de succès, il renvoie data.certificate, dont les champs incluent le numéro de certificat, le statut, les informations masquées du licencié, l'heure d'émission, la somme de contrôle du PDF, l'adresse de téléchargement et l'instantané des morceaux licenciés.
5. Télécharger le PDF du certificat
Point d'accès : GET /api/music/authorization/certificates/:id/download
Seuls les certificats dont le statut est issued peuvent être téléchargés. La requête de téléchargement exige toujours une clé d'API valide, et vous ne pouvez télécharger que vos propres certificats.
Exemple de requête
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Une réponse réussie est un flux de fichier application/pdf ; le nom du fichier suit le Content-Disposition du backend.
Causes d'échec fréquentes
| Situation | Traitement suggéré |
|---|---|
| La clé d'API est invalide ou absente | Vérifiez l'en-tête Authorization: Bearer YOUR_API_KEY |
| L'identité de licence n'est pas encore liée | Terminez d'abord la liaison d'identité sur la page des certificats du Create UI |
| Recharge cumulée insuffisante | Réessayez une fois le seuil individuel ou entreprise atteint |
| Les clauses de risque n'ont pas été confirmées | Mettez confirm_risk_terms à true |
| Le morceau ne peut pas être licencié | Regardez reason_code et reason renvoyés par la liste des morceaux |
| Le morceau a déjà un certificat | Utilisez le certificate_id renvoyé pour consulter le certificat existant |
| Le PDF ne peut pas être généré pour l'instant | Réessayez plus tard ; un enregistrement en échec ne consomme pas l'éligibilité du morceau |
Remarques
- Utilisez le
suno_song_idrenvoyé par la liste des morceaux ; n'utilisez ni ID de remplacementpending:*ni ID de la table des tâches. - L'adresse de téléchargement n'est pas un lien public ; ne retirez pas l'authentification par clé d'API.
- Les enregistrements de certificat appartiennent à l'utilisateur correspondant à la clé d'API et ne peuvent être consultés ni téléchargés d'un utilisateur à l'autre.
- La portée de la licence, les clauses de restriction et le contenu final du PDF sont régis par le certificat réellement émis.
Obtenir une clé d'API
Créez une clé d'API dans la console après votre inscription. Chaque génération coûte 0,6 ¥ et renvoie 2 pistes, les téléchargements sont illimités et aucun numéro de téléphone n'est requis.
Obtenir une clé d'API Retour à la présentation