API für kommerzielle Musiklizenz-Zertifikate
Beschreibung des Endpunkts
Die Endpunkte für kommerzielle Musiklizenz-Zertifikate dienen dazu, die Songs aufzulisten, die der Nutzer des aktuellen API-Schlüssels lizenzieren darf, ein PDF-Zertifikat zu erzeugen, den Zertifikatsverlauf abzufragen und ausgestellte Dateien herunterzuladen.
Alle Endpunkte verwenden einheitlich den New API Key:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Basisadresse:
https://www.suno-api.io
Voraussetzungen
- Der API-Schlüssel muss gültig sein und dem Nutzer gehören, der das Zertifikat benötigt.
- Der Nutzer muss zuvor die Bindung der Lizenzidentität abschließen (siehe „0. Lizenzberechtigung und Identität“); nach der Bestätigung wird die Identität nach Produktregeln gesperrt.
- Der Nutzer muss die Anforderung an die kumulierte Aufladung für Privatpersonen oder Unternehmen erfüllen.
- Gewöhnliche Endpunkte liefern nur maskierte Identitätsinformationen; Ausweisnummern, Telefonnummern und einheitliche Sozialkreditcodes werden nie im Klartext zurückgegeben.
- Pro Song kann nur ein erfolgreiches Zertifikat ausgestellt werden; ein Zertifikat, dessen Erzeugung fehlschlägt, verbraucht die Berechtigung des Songs nicht.
- Unterstützt werden derzeit abgeschlossene, designierte Generierungstypen, die Audio und eine echte Suno Song ID haben. Ob ein Song auswählbar ist, bestimmt
authorization.selectablein der Songliste.
0. Lizenzberechtigung und Identität
Vor dem Ausstellen eines Zertifikats müssen die Berechtigung abgefragt und die Identität gebunden werden. Beide Endpunkte sind kostenlos.
0.1 Lizenzberechtigung und Identitätsstatus abfragen
Endpunkt: 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
}
}
}
| Feld | Typ | Hinweise |
|---|---|---|
| identity.exists | boolean | Ob die Lizenzidentität bereits gebunden ist; bei true werden maskierte Identitätsinformationen zurückgegeben |
| eligibility.current_amount | number | Aktueller kumulierter Aufladebetrag (Yuan) |
| eligibility.personal_required_amount | number | Für die Privatlizenz nötige kumulierte Aufladeschwelle |
| eligibility.company_required_amount | number | Für die Unternehmenslizenz nötige kumulierte Aufladeschwelle |
| eligibility.personal_eligible / company_eligible | boolean | Ob die jeweilige Berechtigung derzeit erfüllt ist |
| stats.authorized_song_count / certificate_count | number | Anzahl lizenzierter Songs und ausgestellter Zertifikate |
0.2 Lizenzidentität binden
Endpunkt: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Max Mustermann",
"id_number": "110101199001010000",
"contact_name": "Max Mustermann",
"phone": "13800000000",
"email": "user@example.com",
"address": "Musterstraße 12, Berlin",
"confirm_locked": true
}
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
| identity_type | string | ja | personal oder company |
| legal_name | string | ja | Name der Person |
| id_number | string | ja | Ausweisnummer der Person (serverseitig verschlüsselt gespeichert; gewöhnliche Endpunkte geben nur das maskierte Ergebnis zurück) |
| company_name | string | für Unternehmen erforderlich | Firmenname |
| credit_code | string | für Unternehmen erforderlich | Einheitlicher Sozialkreditcode |
| contact_name | string | ja | Ansprechpartner |
| phone | string | ja | Kontakttelefon |
| string | ja | Kontakt-E-Mail | |
| address | string | nein | Kontaktadresse |
| confirm_locked | boolean | ja | Bestätigt die Sperre der Identitätsinformationen; true bedeutet, dass sie nach der Bindung nicht selbst geändert werden können |
Die Antwort gibt die maskierten Identitätsinformationen zurück: {"identity": {...}}. Prüfen Sie nach erfolgreicher Bindung mit dem context-Endpunkt, dass identity.exists true geworden ist, und rufen Sie dann die Songliste und die Ausstellungsendpunkte auf. Müssen Identitätsinformationen geändert werden, wenden Sie sich an den Kundenservice.
1. Lizenzierbare Songs auflisten
Endpunkt: GET /api/music/authorization/songs
Query-Parameter
| Parameter | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
p |
number | nein | 1 |
Seitenzahl |
page_size |
number | nein | Systemstandard | Einträge pro Seite, maximal 100 |
q |
string | nein | - | Suche nach Titel, Prompt oder exakter Suno Song ID |
status |
string | nein | all |
all, selectable, authorized oder unavailable |
Beispielanfrage
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Beispielantwort
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Beispielsong",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
Bei authorization.selectable=false erklärt die Antwort den Grund über reason_code und reason. Songs, für die bereits ein Zertifikat ausgestellt wurde, geben zusätzlich certificate_id und certificate_no zurück.
2. Zertifikat erzeugen
Endpunkt: POST /api/music/authorization/certificates
Body-Parameter
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
song_ids |
string[] | ja | Liste der echten Suno Song IDs, die lizenziert werden sollen |
confirm_risk_terms |
boolean | ja | Muss true sein und bestätigt Lizenzumfang und Risikoklauseln |
Beispielanfrage
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
}'
Beispielantwort
{
"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 einer erfolgreichen Antwort ist status gleich issued. Schlägt das Rendern des PDFs fehl, wird das Zertifikat als failed markiert; die betroffenen Songs können nach Behebung des Problems erneut eingereicht werden.
3. Zertifikatsverlauf abfragen
Endpunkt: GET /api/music/authorization/certificates
Query-Parameter
| Parameter | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
p |
number | nein | 1 |
Seitenzahl |
page_size |
number | nein | Systemstandard | Einträge pro Seite, maximal 100 |
q |
string | nein | - | Suche nach Zertifikatsnummer oder maskiertem Namen des Lizenznehmers |
Beispielanfrage
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Antwortstruktur
Das data der Antwort ist ein paginiertes Objekt mit page, page_size, total und items. Jeder Eintrag in items ist eine Zertifikatsübersicht und enthält den Song-Schnappschuss dieses Zertifikats.
4. Zertifikatsdetails abfragen
Endpunkt: GET /api/music/authorization/certificates/:id
Der Pfadparameter id ist die numerische ID des Zertifikats. Der Endpunkt erlaubt nur den Zugriff auf Zertifikate des Nutzers des aktuellen API-Schlüssels.
Beispielanfrage
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Antwortstruktur
Bei Erfolg wird data.certificate zurückgegeben; die Felder umfassen Zertifikatsnummer, Status, maskierte Lizenznehmerinformationen, Ausstellungszeit, PDF-Prüfsumme, Download-Adresse und den Schnappschuss der lizenzierten Songs.
5. Zertifikats-PDF herunterladen
Endpunkt: GET /api/music/authorization/certificates/:id/download
Nur Zertifikate mit Status issued können heruntergeladen werden. Die Download-Anfrage benötigt weiterhin einen gültigen API-Schlüssel, und Sie können nur Ihre eigenen Zertifikate herunterladen.
Beispielanfrage
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Eine erfolgreiche Antwort ist ein application/pdf-Dateistream; der Dateiname richtet sich nach dem Content-Disposition des Backends.
Häufige Fehlerursachen
| Situation | Empfohlenes Vorgehen |
|---|---|
| Der API-Schlüssel ist ungültig oder fehlt | Prüfen Sie den Header Authorization: Bearer YOUR_API_KEY |
| Die Lizenzidentität ist noch nicht gebunden | Schließen Sie zuerst die Identitätsbindung auf der Zertifikatsseite im Create UI ab |
| Kumulierte Aufladung reicht nicht | Versuchen Sie es erneut, sobald die Anforderung für Privatperson oder Unternehmen erreicht ist |
| Die Risikoklauseln wurden nicht bestätigt | Setzen Sie confirm_risk_terms auf true |
| Der Song kann nicht lizenziert werden | Sehen Sie reason_code und reason aus der Songliste an |
| Für den Song wurde bereits ein Zertifikat ausgestellt | Nutzen Sie die zurückgegebene certificate_id, um das bestehende Zertifikat abzufragen |
| Das PDF kann derzeit nicht erzeugt werden | Versuchen Sie es später erneut; ein fehlgeschlagener Datensatz verbraucht die Lizenzberechtigung des Songs nicht |
Hinweise
- Verwenden Sie die
suno_song_idaus der Songliste; verwenden Sie keinepending:*-Platzhalter-IDs oder IDs aus der Aufgabentabelle. - Die Download-Adresse ist kein öffentlicher Link; entfernen Sie die API-Schlüssel-Authentifizierung nicht.
- Zertifikatsdatensätze gehören zu dem Nutzer, dem der API-Schlüssel zugeordnet ist, und können nicht nutzerübergreifend abgefragt oder heruntergeladen werden.
- Lizenzumfang, Einschränkungsklauseln und der endgültige PDF-Inhalt richten sich nach dem tatsächlich ausgestellten Zertifikat.
API-Schlüssel erhalten
Erstellen Sie nach der Anmeldung einen API-Schlüssel in der Konsole. Jede Generierung kostet 0,6 ¥ und liefert 2 Tracks, Downloads sind unbegrenzt und eine Telefonnummer ist nicht erforderlich.
API-Schlüssel holen Zurück zur Übersicht