Xác thực
Mọi yêu cầu tới Suno-API đều được xác thực bằng khóa API. Trang này trình bày cách tạo khóa, cách gửi khóa, ý nghĩa của các lỗi và cách giữ khóa an toàn.
Khóa API là gì
Khóa là một bearer token gắn với tài khoản của bạn. Khóa mang theo số dư, nên ai có khóa thì có thể tiêu số dư đó. Khóa chỉ hiển thị một lần khi tạo: hãy sao chép và cất ở nơi an toàn.
Tạo khóa
- Đăng ký tại https://www.suno-api.io — chỉ cần e-mail, không cần số điện thoại.
- Mở phần quản lý token trong bảng điều khiển.
- Tạo khóa mới và sao chép.
Khóa có dạng sk-…. Khóa bị mất không thể khôi phục: hãy tạo khóa mới và xóa khóa cũ.
Dùng khóa
Gửi khóa trong tiêu đề Authorization ở mọi yêu cầu:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Ví dụ
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"description": "một bản piano nhẹ nhàng cho quán cà phê"}'
Lỗi xác thực
401 Unauthorized
Thiếu tiêu đề, tiêu đề sai định dạng hoặc khóa không tồn tại.
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Kiểm tra xem tiêu đề có đúng dạng Bearer <khóa> (có dấu cách sau Bearer) và phần cuối khóa
không bị lẫn ký tự xuống dòng.
403 Forbidden
Khóa hợp lệ nhưng không thể thực hiện yêu cầu — gần như luôn do số dư không đủ. Hãy nạp tiền và lặp lại yêu cầu đó.
Thực hành bảo mật tốt
Không đặt khóa trong mã phía máy khách
Đừng nhúng khóa vào trang web, ứng dụng di động hay phần mềm máy tính. Bất kỳ ai mở công cụ kiểm tra của trình duyệt đều đọc được và tiêu số dư của bạn. Hãy gọi API từ máy chủ của bạn và chỉ công bố điểm cuối của riêng bạn cho người dùng.
Dùng biến môi trường
# ~/.bashrc hoặc ~/.zshrc
export SUNO_API_KEY="sk-your-key-here"
# Python
import os
api_key = os.environ["SUNO_API_KEY"]
# tệp .env — thêm vào .gitignore
SUNO_API_KEY=sk-your-key-here
Xoay khóa khi cần
Nếu nghi ngờ rò rỉ, hãy tạo khóa thay thế và xóa khóa cũ. Xoay khóa rất rẻ; khóa bị lộ thì không.
Giới hạn yêu cầu
Yêu cầu được giới hạn theo khóa. Khi vượt giới hạn, API trả về 429 Too Many Requests.
Hãy gửi lại với backoff lũy thừa thay vì lặp liên tục:
import time
delay = 1.0
for attempt in range(5):
response = call_api()
if response.status_code != 429:
break
time.sleep(delay)
delay *= 2
Câu hỏi thường gặp
Khóa có định dạng thế nào?
Bắt đầu bằng sk- rồi tới một chuỗi ngẫu nhiên. Hãy coi toàn bộ giá trị là một token duy nhất.
Có thể gọi API trực tiếp từ trình duyệt không?
Về mặt kỹ thuật là có, nhưng đừng làm vậy trong môi trường thật: khóa sẽ lộ cho mọi khách truy cập. Hãy proxy qua backend của bạn.
Làm sao biết khóa còn hiệu lực?
Gửi một yêu cầu có xác thực bất kỳ. 200 nghĩa là còn dùng được; 401 nghĩa là khóa không hợp
lệ hoặc đã bị xóa.
Tôi mất khóa thì phải làm sao?
Khóa không thể khôi phục. Hãy tạo khóa mới trong bảng điều khiển và xóa khóa cũ.
Một tài khoản có bao nhiêu khóa?
Có thể có nhiều. Nên dùng mỗi ứng dụng hoặc môi trường một khóa để thu hồi độc lập.
Khóa có hết hạn không?
Khóa còn hiệu lực cho tới khi bạn xóa hoặc đóng tài khoản. Xoay định kỳ là thực hành tốt.
Làm sao theo dõi mức sử dụng?
Số dư và lịch sử nằm trong bảng điều khiển. Mỗi lần tạo tốn 0,6 ¥ và trả về hai bản nhạc; các lần tạo thất bại được hoàn tiền tự động.
Trang liên quan
Lấy khóa API
Tạo khóa API trong bảng điều khiển sau khi đăng ký. Mỗi lần tạo tốn 0,6 ¥ và trả về 2 bản nhạc, tải xuống không giới hạn và không cần số điện thoại.
Lấy khóa API Quay lại tổng quan