音樂商用授權書 API
介面說明
音樂商用授權書介面用於查詢目前 API Key 所屬使用者可授權的歌曲、生成 PDF 授權書、查詢授權書歷史與下載已簽發檔案。
所有介面統一使用 New API Key:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
基礎位址:
https://www.suno-api.io
使用前提
- API Key 必須有效,並歸屬於需要簽發授權書的使用者。
- 使用者需要先完成授權身分綁定(見下方「0. 授權資格與身分」);身分一旦確認將依產品規則鎖定。
- 使用者需要滿足個人或公司的累計儲值資格要求。
- 一般介面只回傳去識別化身分資訊,不回傳身分證號、手機號、統一社會信用代碼等明文。
- 每首歌曲只能成功簽發一份授權書;生成失敗的授權書不會占用歌曲資格。
- 目前支援已完成、有音訊且具有真實 Suno Song ID 的指定生成類型。具體是否可選以歌曲列表中的
authorization.selectable為準。
0. 授權資格與身分
簽發授權書之前,需要先查詢資格並綁定身分。這兩個介面都是免費介面。
0.1 查詢授權資格與身分狀態
介面位址: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
}
}
}
| 欄位 | 型別 | 說明 |
|---|---|---|
| identity.exists | boolean | 是否已經綁定授權身分;true 時會回傳去識別化後的身分資訊 |
| eligibility.current_amount | number | 目前累計儲值金額(元) |
| eligibility.personal_required_amount | number | 個人授權所需累計儲值門檻 |
| eligibility.company_required_amount | number | 企業授權所需累計儲值門檻 |
| eligibility.personal_eligible / company_eligible | boolean | 目前是否滿足對應資格 |
| stats.authorized_song_count / certificate_count | number | 已授權歌曲數與已簽發授權書數 |
0.2 綁定授權身分
介面位址:POST /api/music/authorization/identity
{
"identity_type": "personal",
"legal_name": "王小明",
"id_number": "110101199001010000",
"contact_name": "王小明",
"phone": "13800000000",
"email": "user@example.com",
"address": "臺北市信義區",
"confirm_locked": true
}
| 參數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
| identity_type | string | 是 | personal(個人)或 company(企業) |
| legal_name | string | 是 | 個人姓名 |
| id_number | string | 是 | 個人身分證號(伺服器端加密儲存,一般介面只回傳去識別化結果) |
| company_name | string | 企業必填 | 企業名稱 |
| credit_code | string | 企業必填 | 統一社會信用代碼 |
| contact_name | string | 是 | 聯絡人 |
| phone | string | 是 | 聯絡電話 |
| string | 是 | 聯絡信箱 | |
| address | string | 否 | 聯絡地址 |
| confirm_locked | boolean | 是 | 確認身分資訊鎖定;傳 true 表示接受綁定後不可自行修改 |
回應回傳去識別化後的身分資訊:{"identity": {...}}。綁定成功後請用 context 介面確認
identity.exists 已變為 true,再呼叫歌曲列表與簽發介面。身分資訊如需修改,需聯絡客服處理。
1. 查詢可授權歌曲
介面位址:GET /api/music/authorization/songs
Query 參數
| 參數名 | 型別 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
p |
number | 否 | 1 |
頁碼 |
page_size |
number | 否 | 系統預設值 | 每頁數量,最大 100 |
q |
string | 否 | - | 依標題、提示詞或精確 Suno Song ID 搜尋 |
status |
string | 否 | all |
all、selectable、authorized 或 unavailable |
請求範例
curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
-H "Authorization: Bearer YOUR_API_KEY"
回應範例
{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"task_id": 10001,
"suno_song_id": "suno-song-id-1",
"title": "範例歌曲",
"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 時,回應會透過 reason_code 和 reason 說明不可授權原因。已經簽發過授權書的歌曲還會回傳 certificate_id 和 certificate_no。
2. 生成授權書
介面位址:POST /api/music/authorization/certificates
Body 參數
| 參數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
song_ids |
string[] | 是 | 需要授權的真實 Suno Song ID 列表 |
confirm_risk_terms |
boolean | 是 | 必須為 true,表示已確認授權範圍與風險條款 |
請求範例
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
}'
回應範例
{
"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": "王*",
"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": []
}
}
}
成功回應中的 status 為 issued。如果 PDF 渲染失敗,授權書會標記為 failed,相關歌曲仍可在問題修復後重新提交。
3. 查詢授權書歷史
介面位址:GET /api/music/authorization/certificates
Query 參數
| 參數名 | 型別 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
p |
number | 否 | 1 |
頁碼 |
page_size |
number | 否 | 系統預設值 | 每頁數量,最大 100 |
q |
string | 否 | - | 依授權書號或去識別化授權人名稱搜尋 |
請求範例
curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
-H "Authorization: Bearer YOUR_API_KEY"
回應結構
回應的 data 為分頁物件,包含 page、page_size、total 和 items。items 中每一項為授權書摘要,並包含該授權書的歌曲快照。
4. 查詢授權書詳情
介面位址:GET /api/music/authorization/certificates/:id
路徑參數 id 為授權書數字 ID。介面只允許存取目前 API Key 所屬使用者自己的授權書。
請求範例
curl https://www.suno-api.io/api/music/authorization/certificates/101 \
-H "Authorization: Bearer YOUR_API_KEY"
回應結構
成功時回傳 data.certificate,欄位包括授權書號、狀態、去識別化授權人資訊、簽發時間、PDF 校驗值、下載位址和授權歌曲快照。
5. 下載授權書 PDF
介面位址:GET /api/music/authorization/certificates/:id/download
僅狀態為 issued 的授權書可以下載。下載請求仍需攜帶有效 API Key,並且只能下載目前使用者自己的授權書。
請求範例
curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
-H "Authorization: Bearer YOUR_API_KEY" \
--output authorization-certificate.pdf
成功回應為 application/pdf 檔案串流,檔名以後端 Content-Disposition 為準。
常見失敗原因
| 情境 | 處理建議 |
|---|---|
| API Key 無效或未攜帶 | 檢查 Authorization: Bearer YOUR_API_KEY 請求標頭 |
| 尚未綁定授權身分 | 先在 Create UI 授權書頁面完成身分綁定 |
| 累計儲值資格不足 | 達到個人或公司對應的資格要求後重試 |
| 未確認風險條款 | 將 confirm_risk_terms 設為 true |
| 歌曲不可授權 | 查看歌曲列表回傳的 reason_code 和 reason |
| 歌曲已簽發授權書 | 使用回傳的 certificate_id 查詢已有授權書 |
| PDF 暫時無法生成 | 稍後重試;失敗記錄不會占用歌曲授權資格 |
注意事項
- 請使用歌曲列表回傳的
suno_song_id,不要使用pending:*佔位 ID 或任務表 ID。 - 下載位址不是公開連結,請勿移除 API Key 驗證。
- 授權書記錄屬於 API Key 對應使用者,不能跨使用者查詢或下載。
- 授權範圍、限制條款及最終 PDF 內容以實際簽發的授權書為準。