Tổng quan tài liệu Suno API

Cập nhật 2026-09-18 · nhóm Suno-API

Chỉ cần đăng ký bằng địa chỉ email là bạn có thể tạo khóa API. Mỗi lần tạo nhạc tốn 0,6 ¥, trả về 2 bài hát và bao gồm tải MP3/WAV, cover, Extend, tách stem và nhân bản giọng nói. URL cơ sở: https://www.suno-api.io.

Trang này liệt kê các mô hình hiện có, toàn bộ endpoint tạo nhạc và chỉnh sửa, cách tính phí và thứ tự đọc được khuyến nghị. Nếu bạn tích hợp lần đầu, hãy đọc từ trên xuống dưới; phần xử lý lỗi 401/403/429 cũng nằm ở đây.

Trả lời nhanh

Làm sao để có khóa API? Đăng ký bằng địa chỉ email, mở bảng điều khiển, vào phần quản lý token và tạo một token. Không cần số điện thoại, không cần thẻ ngân hàng.

Một lần gọi tốn bao nhiêu? Một lần gọi tạo nhạc tốn 0,6 ¥ và trả về 2 bài hát. Truy vấn trạng thái, WAV, lời có mốc thời gian và gợi ý prompt đều miễn phí.

Hỗ trợ những mô hình nào? suno-v6 (mặc định), suno-v6-wild và suno-v6-mini. Các mô hình tạo nhạc tiêu chuẩn từ v5.5 trở về trước đã ngừng hỗ trợ; những tác vụ đã có không bị ảnh hưởng.

URL cơ sở là gì? https://www.suno-api.io, kèm header Authorization: Bearer YOUR_API_KEY.

Các mô hình hiện có

Các mô hình dành cho khách hàng để tạo nhạc tiêu chuẩn là suno-v6, suno-v6-wild và suno-v6-mini. Khi bỏ trống model, hệ thống dùng suno-v6.

Các mô hình tiêu chuẩn suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 và suno-v5-5 đã ngừng hỗ trợ. Các tác vụ cũ vẫn có thể hiển thị những tên này; đó là dữ liệu lịch sử, không có nghĩa là mô hình còn dùng được cho yêu cầu mới. Tách stem là ngoại lệ — xem API tách stem (tách giọng hát/nhạc đệm).

Xác thực

Mọi endpoint công khai dùng khóa API đều dùng cùng bộ header:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

URL cơ sở:

https://www.suno-api.io

Quy ước tham số chung

Giới hạn trường văn bản

Vượt giới hạn văn bản sẽ trả về HTTP 400 ngay lập tức: không tạo gì, không trừ trước và không sinh bản ghi tác vụ. Cách đếm theo ký tự Unicode (một chữ Hán tính là 1) và khoảng trắng đầu/cuối cũng được tính.

Trường (bao gồm các bí danh tương thích ghi ở từng endpoint) Giới hạn
prompt / lyrics / description / theme / gpt_description_prompt 3000 ký tự
style_tags / tags / style / original_tags 1000 ký tự
negative_tags 1000 ký tự
song_title / title 100 ký tự

Trường message nêu rõ trường nào vượt giới hạn và độ dài đo được, nên chỉ cần hai con số đó là đủ để rút gọn:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Áp dụng cho: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Một ngoại lệ: trường description của POST /api/music/sounds bị giới hạn ở 100 ký tự, vì luồng hiệu ứng âm thanh dùng giới hạn ngắn hơn của nền tảng.

Tạo nhạc bất đồng bộ và địa chỉ âm thanh

Các endpoint tạo nhạc mặc định chạy bất đồng bộ. Khi phản hồi đầu tiên có status là pending, submitted hoặc processing, việc audio_url, video_url hay cover_url rỗng là bình thường và không có nghĩa là tác vụ thất bại. Hãy lưu song_id thật (hoặc client_request_id mà endpoint trả về) rồi gọi endpoint truy vấn tương ứng; chỉ đọc và tải địa chỉ âm thanh khi trạng thái đã hoàn tất.

⚠️ Địa chỉ âm thanh hết hạn sau 7 ngày — hãy chuyển file của bạn kịp thời

audio_url, wav_url, video_url và các địa chỉ do endpoint tải xuống trả về đều phục vụ từ lưu trữ đối tượng của nền tảng và mặc định hết hạn sau 7 ngày (file bị thu hồi; địa chỉ cũ trả 404 / tải không được).

  • Trong 7 ngày đó, hãy chuyển file sang kho của bạn (lưu trữ đối tượng của bạn, CDN hoặc ổ đĩa máy chủ). Đừng coi địa chỉ của chúng tôi là link dài hạn.
  • Địa chỉ hết hạn không cần tạo lại bài hát và không tốn thêm phí: hãy gọi lại API truy vấn bài hát (hoặc API tải media) để nhận địa chỉ mới còn hiệu lực cho bài hát đó.

Thời gian chờ và thiết lập timeout

Các endpoint tạo nhạc chạy đồng bộ: đơn chỉ được tiếp nhận và chuyển cho nền tảng tạo khi phản hồi về tới. Trước đó, dịch vụ phải xếp một tài khoản và vượt qua bước kiểm tra an toàn bắt buộc, và không có phản hồi trung gian — không endpoint nào khác nhìn thấy đơn hàng. Vì vậy bằng chứng đáng tin duy nhất cho "đã tạo được gì đó" chính là phản hồi, chứ không phải bất cứ thứ gì bạn quan sát được trong lúc chờ.

Thời gian chờ đo được (nhóm /api/music/create trên production, 2026-09-18 đến 2026-09-20)

Phân vị Thời gian chờ
p50 khoảng 1,2–1,6 giây
p75 khoảng 2–6 giây
p90 khoảng 42–49 giây
p95 khoảng 48–76 giây
p99 khoảng 109–160 giây
lâu nhất khoảng 230 giây

Yêu cầu khi tích hợp

  1. Đặt timeout phía client từ 300 giây trở lên. Client mặc định 30, 60 hay 120 giây sẽ ngắt kết nối trong lúc chờ.
  2. Không có phản hồi không có nghĩa là chưa tạo gì. Khi timeout hay mất kết nối, đơn có thể đã được tiếp nhận và đang tạo.
  3. Đừng thử lại ngay sau khi timeout: gửi trùng sẽ tạo đơn thứ hai và bị tính phí lần nữa.
  4. Nếu kết nối bị ngắt, hãy liệt kê bài hát bằng GET /api/music/songs (mới nhất trước) sau một lúc — các đơn đã được tiếp nhận sẽ xuất hiện bình thường. Chỉ gửi lại khi đã xác nhận đơn thật sự không có.
  5. Khi báo lỗi, hãy gửi kèm header phản hồi X-Oneapi-Request-Id để định vị đúng yêu cầu đó.

Không muốn giữ kết nối lâu? Hãy dùng chế độ nhận biên nhận. POST /api/music/create và POST /api/music/create/custom hỗ trợ biên nhận tùy chọn: thêm "accept_mode": "async" vào body (hoặc header X-Accept-Mode: async) thì endpoint trả 202 ngay kèm số biên nhận trong khi việc tạo vẫn chạy nền; gọi GET /api/music/requests/{request_id} để theo dõi tiến độ. Client chỉ có timeout vài chục giây nhờ vậy không đọc nhầm "không có phản hồi" thành "chưa tạo gì", cũng không bị tính phí hai lần do thử lại. Xem "Chế độ nhận biên nhận" trong API tạo nhạc chế độ đơn giản.

Để tham khảo: python requests dùng timeout=300, urllib dùng urlopen(..., timeout=300), Node dùng req.setTimeout(300000), curl dùng --max-time 300.

Danh sách endpoint khuyến nghị

Khả năng Method Path Ghi chú tính phí Tài liệu
Số dư tài khoản GET /api/user/balance Miễn phí Xem
Tạo nhạc chế độ đơn giản POST /api/music/create Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Tạo nhạc chế độ tùy chỉnh POST /api/music/create/custom Có phí; hỗ trợ giới tính giọng hát, ảnh hưởng phong cách và độ lạ Xem
Tạo giọng nói POST /api/music/speech Có phí, mặc định hiện tại 0,6 ¥ mỗi lần; nhạc nền tùy chọn Xem
Tiến độ nhận biên nhận GET /api/music/requests/{request_id} Miễn phí; dùng cùng accept_mode=async Xem
Hiệu ứng âm thanh POST /api/music/sounds Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Tạo lời bài hát POST /api/lyrics/generate Miễn phí trong hạn mức (10/phút, 300/ngày), sau đó 0,1 ¥ mỗi lần Xem
Tạo hồ sơ giọng nói (khuyến nghị) POST /api/music/voice-profile/create Miễn phí (enhanced=true tính theo giá tải lên nâng cao) Xem
Cover bằng giọng nói (khuyến nghị) POST /api/music/voice-profile/cover 1,2 ¥ mỗi lần; 2,4 ¥ khi bật Max Mode Xem
Danh sách / chi tiết / xóa giọng nói (khuyến nghị) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Miễn phí Xem
Nhân bản giọng nói (chuỗi cũ, không khuyến nghị) POST /api/voice/clone/validate Miễn phí Xem
Truy vấn tác vụ nhân bản giọng nói GET /api/voice/clone/tasks/:voice_task_id Miễn phí Xem
Tạo lại văn bản xác minh POST /api/voice/clone/tasks/:voice_task_id/regenerate Miễn phí Xem
Gửi âm thanh xác minh và tạo giọng nói POST /api/voice/clone/tasks/:voice_task_id/generate Tính phí theo quy tắc nhân bản giọng nói Xem
Kiểm tra giọng đã nhân bản có dùng được không POST /api/voice/clone/tasks/:voice_task_id/check Miễn phí Xem
Xóa giọng đã nhân bản DELETE /api/voice/clone/voices/:voice_task_id Miễn phí Xem
Tạo nhạc với giọng đã chọn POST /api/music/generate-with-voice Có phí, 1,2 ¥ mỗi lần; 2,4 ¥ khi bật Max Mode Xem
Truy vấn kết quả tạo nhạc với giọng đã chọn GET /api/music/generate-with-voice/results Miễn phí Xem
Tăng cường phong cách POST /api/music/boost-style Miễn phí trong hạn mức (10/phút, 300/ngày), sau đó 0,1 ¥ mỗi lần Xem
Gợi ý prompt POST /api/prompts/suggestions Miễn phí trong hạn mức (10/phút, 300/ngày), sau đó 0,1 ¥ mỗi lần Xem
Tải lên âm thanh nguồn POST /api/music/upload-source Miễn phí Xem
Gửi bản tải lên nâng cao POST /api/music/enhanced-upload Có phí, 10 ¥ mỗi lần Xem
Liệt kê tác vụ tải lên nâng cao GET /api/music/enhanced-upload Miễn phí Xem
Truy vấn một tác vụ tải lên nâng cao GET /api/music/enhanced-upload/:id Miễn phí Xem
Hủy tác vụ tải lên nâng cao POST /api/music/enhanced-upload/:id/cancel Miễn phí; chỉ giai đoạn hủy được mới hoàn tiền Xem
Tải lên và cover POST /api/music/upload-cover Có phí, mặc định hiện tại 0,6 ¥ mỗi lần; với âm thanh lớn nên dùng hai bước upload-source + generate-from-source Xem
Cover từ clip nguồn POST /api/music/generate-from-source Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Extend POST /api/music/extend Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Replace Section POST /api/music/replace-section Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Get Full Song POST /api/music/concat Có phí, cố định 0,05 ¥ mỗi lần Xem
Remaster POST /api/music/remaster Có phí, mặc định hiện tại 0,6 ¥ mỗi lần Xem
Thêm nhạc đệm POST /api/music/add-instrumental Có phí, tính theo mô hình yêu cầu Xem
Thêm giọng hát POST /api/music/add-vocal Có phí, tính theo mô hình yêu cầu Xem
Thêm stem POST /api/music/add-stem Có phí, tính theo mô hình yêu cầu Xem
Mashup POST /api/music/mashup Có phí, tính theo mô hình yêu cầu Xem
Sample POST /api/music/sample Có phí, tính theo mô hình yêu cầu Xem
Inspo POST /api/music/inspo Có phí, tính theo mô hình yêu cầu Xem
Crop POST /api/music/crop Có phí, tính theo mô hình yêu cầu Xem
Xóa đoạn POST /api/music/remove-section Có phí, tính theo mô hình yêu cầu Xem
Fade in/out POST /api/music/fade Có phí, tính theo mô hình yêu cầu Xem
Đảo ngược POST /api/music/reverse Có phí, tính theo mô hình yêu cầu Xem
Đổi tốc độ POST /api/music/speed Có phí, tính theo mô hình yêu cầu Xem
Tách stem (tách giọng hát/nhạc đệm) POST /api/music/separate Có phí; two mặc định 0,6 ¥ mỗi lần, twelve 3,0 ¥ Xem
Loại bỏ giọng hát POST /api/music/vocal-removal Miễn phí Xem
Xóa stem POST /api/music/stem-delete Miễn phí Xem
Tạo / lấy WAV POST /api/music/wav Miễn phí Xem
Lấy MIDI POST /api/music/download-file (kind=midi) Miễn phí Xem
Địa chỉ media / luồng nghe thử POST /api/music/download-url, /api/music/generation-stream-url Miễn phí Xem
Tải file bài hát POST /api/music/download-file Miễn phí Xem
Tải trọn bộ bài hát POST /api/music/download-all Miễn phí Xem
Địa chỉ tải ổn định GET /api/music/download Miễn phí Xem
Tải bằng free2 POST /api/music/free2 Có phí, 0,2 ¥ mỗi bài thành công Xem
Truy vấn trạng thái một bài hát POST /api/music/query Miễn phí Xem
Lịch sử bài hát của tài khoản GET /api/music/songs Miễn phí Xem
Tham số tạo nhạc của bài hát GET /api/music/songs/:song_id Miễn phí Xem
Lời có mốc thời gian POST /api/lyrics/timeline Miễn phí Xem
Điều kiện cấp phép và danh tính GET /api/music/authorization/context Miễn phí Xem
Liên kết danh tính cấp phép POST /api/music/authorization/identity Miễn phí; không đổi được sau khi xác nhận Xem
Liệt kê bài hát có thể cấp phép GET /api/music/authorization/songs Miễn phí; cần liên kết danh tính Xem
Cấp giấy phép thương mại POST /api/music/authorization/certificates Miễn phí; cần đủ điều kiện Xem
Lịch sử cấp phép GET /api/music/authorization/certificates Miễn phí Xem
Chi tiết giấy phép GET /api/music/authorization/certificates/:id Miễn phí Xem
Tải PDF giấy phép GET /api/music/authorization/certificates/:id/download Miễn phí Xem

/api/voice/clone/* và /api/music/generate-with-voice là chuỗi nhân bản giọng nói đời đầu và không được khuyến nghị cho tích hợp mới; hãy dùng 【Khuyến nghị】 API hồ sơ giọng nói thay thế.

Tham số nâng cao: Max Mode và Variety

Các endpoint tạo nhạc hỗ trợ hai tham số tùy chọn này (bỏ trống thì giữ nguyên hành vi và giá cũ):

Tham số Kiểu Khoảng Ghi chú
max_mode boolean true / false Dùng thêm tính toán để tăng độ nhất quán cho toàn bài; yêu cầu này bị tính gấp 2 lần giá
variety integer 0-4 Mức biến đổi phong cách: 0=Tắt, 1=Bình thường, 2=Cao, 3=Rất cao, 4=Tối đa. Bỏ trống để dùng mức mặc định của mô hình (họ v6 mặc định là 1); không phụ phí

Hai tham số này được hỗ trợ bởi: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Các trường phản hồi bài hát thường gặp

Các endpoint tạo nhạc, cover, extend, tách stem và truy vấn thường trả về một mảng bài hát với những trường sau:

Trường Kiểu Ghi chú
song_id string ID bài hát hoặc tác vụ
song_title string Tiêu đề bài hát
status string Trạng thái như pending, completed, failed
audio_url string Địa chỉ âm thanh, trả về khi tạo xong
video_url string Địa chỉ video, có thể rỗng
cover_url string Địa chỉ ảnh bìa
lyrics string Nội dung lời bài hát
style_tags string Thẻ phong cách
duration number Thời lượng âm thanh tính bằng giây
created_at string Thời điểm tạo
model_version string Phiên bản mô hình
generation_type string Kiểu tạo nhạc
error_message string Lý do thất bại

Bốn bước tích hợp (ví dụ tối thiểu)

Làm đủ bốn bước này là bạn đã có bài hát đầu tiên; danh sách trường đầy đủ của từng bước nằm ở trang tương ứng trong danh sách endpoint khuyến nghị.

# 1) Gửi yêu cầu tạo nhạc: 0,6 ¥, trả về 2 bài hát
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Mandarin pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Gọi lại tác vụ đến khi status là completed (khoảng 3-5 giây mỗi lần là hợp lý)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id trả về ở bước 1"}'

# 3) Lấy địa chỉ media: các endpoint đọc đều miễn phí; có song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "cũng song_id đó", "kind": "song"}'

Khi có sự cố: 401 / 402 / 403 / 429 được trình bày trong tài liệu lỗi; timeout và tính phí trùng nằm ở mục "Thời gian chờ và thiết lập timeout" phía trên; chi tiết từng endpoint nằm ở danh sách endpoint khuyến nghị bên dưới.

Khuyến nghị

Về tài liệu này

Trang này được tổ chức lại theo đúng những khả năng mà Create UI thực sự hiển thị, và các tích hợp mới nên đọc trang này trước. Tài liệu API cũ vẫn còn trong mục "Tài liệu API cũ (tương thích)" dành cho những ai muốn tiếp tục dùng.

Tiếp theoAPI truy vấn số dư tài khoản

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