API certyfikatu komercyjnej licencji muzycznej
Opis punktu końcowego
Punkty końcowe certyfikatu komercyjnej licencji muzycznej pozwalają wylistować utwory, które użytkownik bieżącego klucza API może licencjonować, wygenerować certyfikat PDF, sprawdzić historię certyfikatów i pobrać wydane pliki.
Wszystkie punkty końcowe używają jednolicie New API Key:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Adres bazowy:
https://www.suno-api.io
Warunki wstępne
- Klucz API musi być ważny i należeć do użytkownika, który potrzebuje certyfikatu.
- Użytkownik musi najpierw zakończyć powiązanie tożsamości licencyjnej (zobacz „0. Uprawnienie i tożsamość licencyjna”); po potwierdzeniu tożsamość zostaje zablokowana zgodnie z regułami produktu.
- Użytkownik musi spełnić wymóg skumulowanego doładowania dla osoby fizycznej lub firmy.
- Zwykłe punkty końcowe zwracają wyłącznie zamaskowane informacje o tożsamości; nigdy nie zwracają numerów dokumentów, telefonów ani jednolitych kodów kredytu społecznego w postaci jawnej.
- Każdy utwór może uzyskać tylko jeden skutecznie wydany certyfikat; certyfikat, którego generowanie się nie udało, nie zużywa uprawnienia utworu.
- Obecnie obsługiwane są zakończone wyznaczone typy generowania, które mają dźwięk i prawdziwy Suno Song ID. O tym, czy utwór można wybrać, decyduje
authorization.selectablena liście utworów.
0. Uprawnienie i tożsamość licencyjna
Przed wydaniem certyfikatu trzeba sprawdzić uprawnienie i powiązać tożsamość. Oba punkty końcowe są bezpłatne.
0.1 Sprawdzenie uprawnienia i tożsamości
Punkt końcowy: 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
}
}
}
| Pole | Typ | Uwagi |
|---|---|---|
| identity.exists | boolean | Czy tożsamość licencyjna jest już powiązana; przy true zwracane są zamaskowane informacje o tożsamości |
| eligibility.current_amount | number | Bieżąca skumulowana kwota doładowań (juany) |
| eligibility.personal_required_amount | number | Próg skumulowanych doładowań wymagany dla licencji indywidualnej |
| eligibility.company_required_amount | number | Próg skumulowanych doładowań wymagany dla licencji firmowej |
| eligibility.personal_eligible / company_eligible | boolean | Czy dane uprawnienie jest obecnie spełnione |
| stats.authorized_song_count / certificate_count | number | Liczba licencjonowanych utworów i wydanych certyfikatów |
0.2 Powiązanie tożsamości licencyjnej
Punkt końcowy: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Jan Kowalski",
"id_number": "110101199001010000",
"contact_name": "Jan Kowalski",
"phone": "13800000000",
"email": "user@example.com",
"address": "ul. Marszałkowska 12, Warszawa",
"confirm_locked": true
}
| Parametr | Typ | Wymagany | Uwagi |
|---|---|---|---|
| identity_type | string | tak | personal lub company |
| legal_name | string | tak | Imię i nazwisko osoby |
| id_number | string | tak | Numer dokumentu (przechowywany zaszyfrowany na serwerze; zwykłe punkty końcowe zwracają tylko wynik zamaskowany) |
| company_name | string | wymagane dla firm | Nazwa firmy |
| credit_code | string | wymagane dla firm | Jednolity kod kredytu społecznego |
| contact_name | string | tak | Osoba kontaktowa |
| phone | string | tak | Telefon kontaktowy |
| string | tak | E-mail kontaktowy | |
| address | string | nie | Adres kontaktowy |
| confirm_locked | boolean | tak | Potwierdza zablokowanie danych tożsamości; przekazanie true oznacza zgodę na to, że po powiązaniu nie można ich samodzielnie zmienić |
Odpowiedź zwraca zamaskowane informacje o tożsamości: {"identity": {...}}. Po udanym powiązaniu sprawdź punktem końcowym context, że identity.exists ma wartość true, a następnie wywołaj listę utworów i punkty końcowe wydawania. Jeśli dane tożsamości wymagają zmiany, skontaktuj się z obsługą klienta.
1. Lista utworów możliwych do licencjonowania
Punkt końcowy: GET /api/music/authorization/songs
Parametry zapytania
| Parametr | Typ | Wymagany | Domyślnie | Uwagi |
|---|---|---|---|---|
p |
number | nie | 1 |
Numer strony |
page_size |
number | nie | wartość domyślna systemu | Elementów na stronę, maksymalnie 100 |
q |
string | nie | - | Szukaj po tytule, prompcie lub dokładnym Suno Song ID |
status |
string | nie | all |
all, selectable, authorized lub unavailable |
Przykładowe żądanie
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Przykładowa odpowiedź
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Przykładowy utwór",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
Gdy authorization.selectable=false, odpowiedź wyjaśnia przyczynę w reason_code i reason. Utwory, dla których certyfikat już wydano, zwracają także certificate_id i certificate_no.
2. Generowanie certyfikatu
Punkt końcowy: POST /api/music/authorization/certificates
Parametry treści
| Parametr | Typ | Wymagany | Uwagi |
|---|---|---|---|
song_ids |
string[] | tak | Lista prawdziwych Suno Song ID do licencjonowania |
confirm_risk_terms |
boolean | tak | Musi mieć wartość true — potwierdzenie zakresu licencji i warunków ryzyka |
Przykładowe żądanie
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
}'
Przykładowa odpowiedź
{
"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": []
}
}
}
W udanej odpowiedzi status wynosi issued. Jeśli renderowanie PDF się nie powiedzie, certyfikat zostaje oznaczony jako failed, a powiązane utwory można ponownie zgłosić po rozwiązaniu problemu.
3. Historia certyfikatów
Punkt końcowy: GET /api/music/authorization/certificates
Parametry zapytania
| Parametr | Typ | Wymagany | Domyślnie | Uwagi |
|---|---|---|---|---|
p |
number | nie | 1 |
Numer strony |
page_size |
number | nie | wartość domyślna systemu | Elementów na stronę, maksymalnie 100 |
q |
string | nie | - | Szukaj po numerze certyfikatu lub zamaskowanym nazwisku licencjobiorcy |
Przykładowe żądanie
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Struktura odpowiedzi
data odpowiedzi to obiekt stronicowany zawierający page, page_size, total i items. Każdy element items to podsumowanie certyfikatu i zawiera migawkę utworów tego certyfikatu.
4. Szczegóły certyfikatu
Punkt końcowy: GET /api/music/authorization/certificates/:id
Parametr ścieżki id to numeryczny identyfikator certyfikatu. Punkt końcowy pozwala uzyskać dostęp wyłącznie do certyfikatów użytkownika bieżącego klucza API.
Przykładowe żądanie
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Struktura odpowiedzi
W przypadku powodzenia zwracane jest data.certificate, którego pola obejmują numer certyfikatu, status, zamaskowane dane licencjobiorcy, czas wydania, sumę kontrolną PDF, adres pobierania i migawkę licencjonowanych utworów.
5. Pobieranie PDF certyfikatu
Punkt końcowy: GET /api/music/authorization/certificates/:id/download
Pobierać można wyłącznie certyfikaty o statusie issued. Żądanie pobrania nadal wymaga ważnego klucza API i można pobierać tylko własne certyfikaty.
Przykładowe żądanie
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Udana odpowiedź to strumień pliku application/pdf; nazwa pliku wynika z Content-Disposition backendu.
Częste przyczyny niepowodzenia
| Sytuacja | Sugerowane postępowanie |
|---|---|
| Klucz API jest nieprawidłowy lub go brakuje | Sprawdź nagłówek Authorization: Bearer YOUR_API_KEY |
| Tożsamość licencyjna nie jest jeszcze powiązana | Najpierw dokończ powiązanie tożsamości na stronie certyfikatów w Create UI |
| Skumulowane doładowania są niewystarczające | Ponów próbę po osiągnięciu progu dla osoby fizycznej lub firmy |
| Warunki ryzyka nie zostały potwierdzone | Ustaw confirm_risk_terms na true |
| Utworu nie można licencjonować | Sprawdź reason_code i reason zwrócone przez listę utworów |
| Utwór ma już certyfikat | Użyj zwróconego certificate_id, aby sprawdzić istniejący certyfikat |
| PDF nie może zostać teraz wygenerowany | Ponów próbę później; nieudany zapis nie zużywa uprawnienia utworu |
Uwagi
- Używaj
suno_song_idzwracanego przez listę utworów; nie używaj identyfikatorów zastępczychpending:*ani ID z tabeli zadań. - Adres pobierania nie jest publicznym linkiem; nie usuwaj uwierzytelniania kluczem API.
- Rekordy certyfikatów należą do użytkownika odpowiadającego kluczowi API i nie można ich przeglądać ani pobierać między użytkownikami.
- Zakres licencji, warunki ograniczeń i ostateczna treść PDF wynikają z faktycznie wydanego certyfikatu.
Uzyskaj klucz API
Po rejestracji utwórz klucz API w konsoli. Każde generowanie kosztuje 0,6 ¥ i zwraca 2 utwory, pobierania są nieograniczone, a numer telefonu nie jest wymagany.
Pobierz klucz API Powrót do przeglądu