การยืนยันตัวตน
ทุกคำขอไปยัง Suno-API ยืนยันตัวตนด้วยคีย์ API หน้านี้อธิบายวิธีสร้างคีย์ วิธีส่งคีย์ ความหมายของ ข้อผิดพลาด และวิธีเก็บคีย์ให้ปลอดภัย
คีย์ API คืออะไร
คีย์คือ bearer token ที่ผูกกับบัญชีของคุณ และเป็นตัวถือยอดคงเหลือ ใครได้คีย์ไปก็ใช้ยอดได้ คีย์จะแสดงเพียงครั้งเดียวตอนสร้าง ให้คัดลอกและเก็บไว้ในที่ปลอดภัย
การสร้างคีย์
- สมัครที่ https://www.suno-api.io ใช้เพียงอีเมล ไม่ต้องใช้เบอร์โทรศัพท์
- เปิดส่วนจัดการโทเคนในคอนโซล
- สร้างคีย์ใหม่แล้วคัดลอก
คีย์มีรูปแบบ sk-… คีย์ที่หายไปไม่สามารถกู้คืนได้ ให้สร้างใหม่และลบคีย์เดิม
การใช้คีย์
รูปแบบ header
ส่งคีย์ในเฮดเดอร์ Authorization ทุกครั้ง:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
ตัวอย่าง
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"description": "เพลงเปียโนผ่อนคลายสำหรับร้านกาแฟ"}'
ข้อผิดพลาดด้านการยืนยันตัวตน
401 Unauthorized
ไม่มีเฮดเดอร์ รูปแบบผิด หรือคีย์ไม่มีอยู่
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
ตรวจว่าเฮดเดอร์เป็น Bearer <คีย์> เป๊ะ ๆ (มีเว้นวรรคหลัง Bearer) และไม่มีอักขระขึ้นบรรทัดใหม่
ต่อท้ายคีย์
403 Forbidden
คีย์มีอยู่แต่ไม่มีสิทธิ์ทำคำขอนี้ ซึ่งมักเกิดจากคีย์ถูกปิดใช้งานหรือบัญชีถูกระงับ ตรวจสอบสถานะบัญชีในคอนโซล และติดต่อฝ่ายสนับสนุนหากไม่ชัดเจนว่าเพราะอะไร
แนวปฏิบัติด้านความปลอดภัย
อย่าใส่คีย์ในโค้ดฝั่งไคลเอนต์
อย่าฝังคีย์ในหน้าเว็บ แอปมือถือ หรือโปรแกรมเดสก์ท็อป ใครที่เปิดเครื่องมือตรวจสอบของเบราว์เซอร์ ก็อ่านคีย์ได้และใช้ยอดของคุณ ให้เรียก API จากเซิร์ฟเวอร์ของคุณเองและเปิดปลายทางของคุณให้ผู้ใช้
ใช้ตัวแปรสภาพแวดล้อม
Linux / macOS
# ~/.bashrc หรือ ~/.zshrc
export SUNO_API_KEY="sk-your-key-here"
# Python
import os
api_key = os.environ["SUNO_API_KEY"]
.env
# ไฟล์ .env — ใส่ใน .gitignore
SUNO_API_KEY=sk-your-key-here
Windows
setx SUNO_API_KEY "sk-your-key-here"
Node.js
require('dotenv').config();
const apiKey = process.env.SUNO_API_KEY;
หมุนคีย์เมื่อจำเป็น
ควรเปลี่ยนคีย์ทุก 3-6 เดือน และเปลี่ยนทันทีหากสงสัยว่ารั่วไหล ลบคีย์ที่ไม่ใช้แล้ว: คีย์ที่ไม่ได้ใช้ก็คือความเสี่ยงที่ไม่ได้ใช้
ขีดจำกัดคำขอ
คำขอถูกจำกัดตามคีย์:
| ขีดจำกัด | ค่า | หมายเหตุ |
|---|---|---|
| คำขอต่อวินาที | 10 | ต่อ API คีย์ |
| คำขอต่อนาที | 100 | ต่อ API คีย์ |
| งานสร้างเพลงพร้อมกัน | 5 | พร้อมกันได้ไม่เกินห้างาน |
429 Too Many Requests
เมื่อเกินขีดจำกัด API จะตอบ 429 และคำตอบอาจมีค่า retry_after เป็นวินาที ควรรอตามเวลานั้นก่อนลองใหม่ ลดอัตราการเรียก ใส่คิวงาน หรือลองใหม่แบบถอยหลังเพิ่มขึ้นทีละเท่า แทนการยิงซ้ำรัว ๆ
นโยบายการลองใหม่
ลองใหม่เฉพาะเมื่อเกิดข้อผิดพลาดชัดเจนเท่านั้น อย่าลองใหม่หลัง timeout ของการอ่านหรือการเชื่อมต่อ: เอนด์พอยต์สร้างเพลงเป็นแบบซิงโครนัส ดังนั้น timeout อาจหมายถึงคำสั่งถูกรับและกำลังสร้างอยู่แล้ว การลองใหม่จะซ้ำคำสั่งและถูกหักเงินสองครั้ง ตั้ง timeout ฝั่งไคลเอนต์ไว้ 300 วินาทีขึ้นไป และหากการเชื่อมต่อขาด ให้ตรวจสอบคำสั่งด้วย GET /api/music/songs ก่อนส่งซ้ำ ดูหัวข้อ "ระยะเวลารอและการตั้งค่า timeout" ใน ภาพรวม API ใหม่
ให้ส่งซ้ำแบบ backoff แบบทวีคูณแทนการวนซ้ำถี่:
import time
delay = 1.0
for attempt in range(5):
response = call_api()
if response.status_code != 429:
break
time.sleep(delay)
delay *= 2
คำถามที่พบบ่อย
คีย์มีรูปแบบอย่างไร
ขึ้นต้นด้วย sk- ตามด้วยตัวอักษรและตัวเลข รวมความยาวประมาณ 50-60 ตัวอักษร
เรียก API จากเบราว์เซอร์โดยตรงได้ไหม
ทางเทคนิคทำได้ แต่ไม่ควรใช้ในระบบจริง เพราะคีย์จะปรากฏต่อผู้เข้าชมทุกคน ให้ทำ proxy ผ่าน แบ็กเอนด์ของคุณ
รู้ได้อย่างไรว่าคีย์ยังใช้ได้
ส่งคำขอที่มีการยืนยันตัวตนใดก็ได้ 200 คือใช้ได้ ส่วน 401 คือคีย์ไม่ถูกต้องหรือถูกลบแล้ว
คีย์หายต้องทำอย่างไร
คีย์กู้คืนไม่ได้ ให้สร้างใหม่ในคอนโซลแล้วลบคีย์เดิม
หนึ่งบัญชีมีได้กี่คีย์
ไม่มีเพดานตายตัว ควรใช้หนึ่งคีย์ต่อหนึ่งแอปหรือหนึ่งสภาพแวดล้อมเพื่อเพิกถอนแยกกันได้ และลบอันที่ไม่ใช้แล้ว
คีย์หมดอายุไหม
คีย์ใช้ได้จนกว่าคุณจะลบหรือปิดบัญชี การหมุนเป็นระยะเป็นแนวปฏิบัติที่ดี
ดูการใช้งานอย่างไร
เข้าสู่ระบบคอนโซล จะเห็นการใช้งานรายคีย์ ทั้งจำนวนคำขอ ค่าใช้จ่าย และงานล่าสุด
หน้าที่เกี่ยวข้อง
รับคีย์ API
สร้างคีย์ API ในคอนโซลหลังสมัครสมาชิก การสร้างหนึ่งครั้งราคา 0.6 หยวน ได้ 2 เพลง ดาวน์โหลดไม่จำกัด และไม่ต้องใช้เบอร์โทรศัพท์
รับคีย์ API กลับไปภาพรวม