Ticari müzik lisans sertifikası API'si
Uç nokta açıklaması
Ticari müzik lisans sertifikası uç noktaları, mevcut API anahtarının kullanıcısının lisanslayabileceği şarkıları listelemek, PDF sertifika üretmek, sertifika geçmişini sorgulamak ve düzenlenmiş dosyaları indirmek için kullanılır.
Tüm uç noktalar New API Key'i ortak kullanır:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Temel adres:
https://www.suno-api.io
Ön koşullar
- API anahtarı geçerli olmalı ve sertifikaya ihtiyaç duyan kullanıcıya ait olmalıdır.
- Kullanıcı önce lisans kimliği bağlamayı tamamlamalıdır (aşağıdaki "0. Lisans uygunluğu ve kimlik"); onaylandıktan sonra kimlik ürün kurallarına göre kilitlenir.
- Kullanıcı, birey veya şirket için kümülatif yükleme koşulunu karşılamalıdır.
- Normal uç noktalar yalnızca maskelenmiş kimlik bilgisi döndürür; kimlik numarası, telefon numarası veya birleşik sosyal kredi kodunu hiçbir zaman açık metin olarak döndürmez.
- Her şarkı için yalnızca bir başarılı sertifika düzenlenebilir; üretilemeyen bir sertifika şarkının hakkını tüketmez.
- Şu anda tamamlanmış, sesi olan ve gerçek bir Suno Song ID taşıyan belirlenmiş üretim türleri desteklenir. Bir şarkının seçilebilir olup olmadığı şarkı listesindeki
authorization.selectableile belirlenir.
0. Lisans uygunluğu ve kimlik
Sertifika düzenlemeden önce uygunluğu sorgulamak ve kimliği bağlamak gerekir. İki uç nokta da ücretsizdir.
0.1 Lisans uygunluğunu ve kimliği sorgulama
Uç nokta: 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
}
}
}
| Alan | Tür | Notlar |
|---|---|---|
| identity.exists | boolean | Lisans kimliğinin bağlı olup olmadığı; true olduğunda maskelenmiş kimlik bilgisi döner |
| eligibility.current_amount | number | Güncel kümülatif yükleme tutarı (yuan) |
| eligibility.personal_required_amount | number | Bireysel lisans için gereken kümülatif yükleme eşiği |
| eligibility.company_required_amount | number | Şirket lisansı için gereken kümülatif yükleme eşiği |
| eligibility.personal_eligible / company_eligible | boolean | İlgili uygunluğun şu an karşılanıp karşılanmadığı |
| stats.authorized_song_count / certificate_count | number | Lisanslanan şarkı ve düzenlenen sertifika sayısı |
0.2 Lisans kimliğini bağlama
Uç nokta: POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "Ahmet Yılmaz",
"id_number": "110101199001010000",
"contact_name": "Ahmet Yılmaz",
"phone": "13800000000",
"email": "user@example.com",
"address": "Atatürk Caddesi 12, İstanbul",
"confirm_locked": true
}
| Parametre | Tür | Zorunlu | Notlar |
|---|---|---|---|
| identity_type | string | evet | personal veya company |
| legal_name | string | evet | Kişi adı |
| id_number | string | evet | Kimlik numarası (sunucuda şifreli saklanır; normal uç noktalar yalnızca maskelenmiş sonucu döndürür) |
| company_name | string | şirketler için zorunlu | Şirket adı |
| credit_code | string | şirketler için zorunlu | Birleşik sosyal kredi kodu |
| contact_name | string | evet | İlgili kişi |
| phone | string | evet | İlgili telefon |
| string | evet | İlgili e-posta | |
| address | string | hayır | İlgili adres |
| confirm_locked | boolean | evet | Kimlik bilgisinin kilitlendiğini onaylar; true göndermek bağlamadan sonra kendiniz değiştiremeyeceğinizi kabul etmek demektir |
Yanıt maskelenmiş kimlik bilgisini döndürür: {"identity": {...}}. Bağlama başarılı olduktan sonra context uç noktasıyla identity.exists değerinin true olduğunu doğrulayın, ardından şarkı listesi ve düzenleme uç noktalarını çağırın. Kimlik bilgisinin değiştirilmesi gerekiyorsa müşteri hizmetlerine başvurun.
1. Lisanslanabilir şarkıları listeleme
Uç nokta: GET /api/music/authorization/songs
Sorgu parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|
p |
number | hayır | 1 |
Sayfa numarası |
page_size |
number | hayır | sistem varsayılanı | Sayfa başına kayıt, en fazla 100 |
q |
string | hayır | - | Başlık, prompt veya tam Suno Song ID ile arama |
status |
string | hayır | all |
all, selectable, authorized veya unavailable |
İstek örneği
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
Yanıt örneği
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "Örnek şarkı",
"generation_type": "generate",
"completed_at": 1784000000,
"created_at": 1783999000,
"audio_url": "https://example.com/audio.mp3",
"model_name": "suno-v6",
"authorization": {
"selectable": true
}
}
]
}
}
authorization.selectable=false olduğunda yanıt nedeni reason_code ve reason ile açıklar. Sertifikası zaten düzenlenmiş şarkılar ayrıca certificate_id ve certificate_no döndürür.
2. Sertifika üretme
Uç nokta: POST /api/music/authorization/certificates
Gövde parametreleri
| Parametre | Tür | Zorunlu | Notlar |
|---|---|---|---|
song_ids |
string[] | evet | Lisanslanacak gerçek Suno Song ID listesi |
confirm_risk_terms |
boolean | evet | true olmalıdır; lisans kapsamını ve risk koşullarını onaylar |
İstek örneği
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
}'
Yanıt örneği
{
"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": "A*",
"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": []
}
}
}
Başarılı yanıtta status değeri issued olur. PDF oluşturma başarısız olursa sertifika failed olarak işaretlenir ve ilgili şarkılar sorun giderildikten sonra yeniden gönderilebilir.
3. Sertifika geçmişini sorgulama
Uç nokta: GET /api/music/authorization/certificates
Sorgu parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|
p |
number | hayır | 1 |
Sayfa numarası |
page_size |
number | hayır | sistem varsayılanı | Sayfa başına kayıt, en fazla 100 |
q |
string | hayır | - | Sertifika numarası veya maskelenmiş lisans sahibi adıyla arama |
İstek örneği
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Yanıt yapısı
Yanıtın data alanı page, page_size, total ve items içeren sayfalı bir nesnedir. items içindeki her kayıt bir sertifika özetidir ve o sertifikanın şarkı anlık görüntüsünü içerir.
4. Sertifika ayrıntılarını sorgulama
Uç nokta: GET /api/music/authorization/certificates/:id
Yol parametresi id, sertifikanın sayısal ID'sidir. Uç nokta yalnızca mevcut API anahtarının kullanıcısına ait sertifikalara erişim sağlar.
İstek örneği
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
Yanıt yapısı
Başarı durumunda data.certificate döner; alanları sertifika numarası, durum, maskelenmiş lisans sahibi bilgisi, düzenlenme zamanı, PDF doğrulama değeri, indirme adresi ve lisanslanan şarkıların anlık görüntüsünü içerir.
5. Sertifika PDF'ini indirme
Uç nokta: GET /api/music/authorization/certificates/:id/download
Yalnızca durumu issued olan sertifikalar indirilebilir. İndirme isteği de geçerli bir API anahtarı gerektirir ve yalnızca kendi sertifikalarınızı indirebilirsiniz.
İstek örneği
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
Başarılı yanıt bir application/pdf dosya akışıdır; dosya adı arka ucun Content-Disposition değerine göre belirlenir.
Sık görülen hata nedenleri
| Durum | Önerilen işlem |
|---|---|
| API anahtarı geçersiz veya gönderilmemiş | Authorization: Bearer YOUR_API_KEY başlığını kontrol edin |
| Lisans kimliği henüz bağlanmamış | Önce Create UI'daki sertifika sayfasında kimlik bağlamayı tamamlayın |
| Kümülatif yükleme yetersiz | Birey veya şirket koşulu karşılandıktan sonra yeniden deneyin |
| Risk koşulları onaylanmamış | confirm_risk_terms değerini true yapın |
| Şarkı lisanslanamıyor | Şarkı listesinin döndürdüğü reason_code ve reason değerlerine bakın |
| Şarkının sertifikası zaten var | Dönen certificate_id ile mevcut sertifikayı sorgulayın |
| PDF şu an üretilemiyor | Daha sonra yeniden deneyin; başarısız kayıt şarkının lisans hakkını tüketmez |
Notlar
- Şarkı listesinin döndürdüğü
suno_song_iddeğerini kullanın;pending:*yer tutucu ID'lerini veya görev tablosu ID'lerini kullanmayın. - İndirme adresi herkese açık bir bağlantı değildir; API anahtarı doğrulamasını kaldırmayın.
- Sertifika kayıtları API anahtarının karşılık geldiği kullanıcıya aittir ve kullanıcılar arasında sorgulanamaz veya indirilemez.
- Lisans kapsamı, kısıtlama koşulları ve nihai PDF içeriği gerçekte düzenlenen sertifikaya göre belirlenir.
API anahtarı alın
Kaydolduktan sonra konsoldan bir API anahtarı oluşturun. Her üretim 0,6 ¥ tutarındadır ve 2 parça döner, indirmeler sınırsızdır ve telefon numarası gerekmez.
API anahtarı al Genel bakışa dön