API tải lên âm thanh nguồn

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

Mô tả endpoint

Tải lên âm thanh nguồn biến tệp âm thanh cục bộ hoặc từ xa thành clip nguồn mà các khả năng sau có thể dùng: cover, kéo dài, thay đoạn, tách track và những tính năng khác.

Endpoint: POST /api/music/upload-source

Tính phí: Miễn phí. Endpoint này chỉ tải lên âm thanh nguồn; không bắt đầu tác vụ tạo nhạc.

Cách dùng được khuyến nghị: đây là bước 1 của «cover hai bước». Trước tiên hãy tải âm thanh lên bằng endpoint này (miễn phí, thất bại có thể thử lại bất cứ lúc nào) và lưu clip_id trả về; sau khi xác nhận tải lên thành công (status ở trạng thái hoàn tất), hãy gọi API cover từ clip nguồn để bắt đầu cover — phần thân của yêu cầu đó chỉ vài trăm byte, nên không thể bị cắt khi truyền vì âm thanh quá lớn. So với API làm một lần tải lên rồi cover, cách tách này ổn định hơn khi âm thanh lớn, mạng không ổn định, hoặc cùng một tư liệu phải dùng lại nhiều lần (kéo dài / thay đoạn / tách track).

Gợi ý khi tải tệp lớn

Tình huống Cách làm được khuyến nghị
Âm thanh đã công khai (có link trực tiếp https) Dùng file_url: thân yêu cầu chỉ vài trăm byte, ổn định nhất
Tệp cục bộ (Node / Python / desktop) Dùng tải lên multipart (-F "file=@source.mp3") và không đặt Content-Type thủ công
Chỉ có thể dùng JSON + base64 Lưu ý Content-Length phải là số byte (Buffer.byteLength), nếu không thân yêu cầu có thể bị cắt

Sau khi tải lên xong, luôn xác nhận status trong phản hồi đã ở trạng thái hoàn tất và lưu clip_id trước khi sang bước 2; tải lên thất bại không bị tính phí và không tạo tác vụ tạo nhạc, chỉ cần thử lại.

Tham số yêu cầu

Headers

Đối với yêu cầu JSON:

Tham số Kiểu Bắt buộc Ghi chú
Authorization string có Bearer YOUR_API_KEY
Content-Type string có application/json

Không đặt Content-Type thủ công trong yêu cầu multipart; client tự tạo.

Tham số body

Tham số Kiểu Bắt buộc Mặc định Ghi chú
model string không suno-v6 Tên mô hình cho khách hàng: suno-v6, suno-v6-wild hoặc suno-v6-mini
file_url string không - URL âm thanh từ xa
file_base64 string không - Âm thanh dạng Base64
file_name string không - Tên tệp
upload_type string không file_upload Loại tải lên

Ví dụ yêu cầu JSON

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

Ví dụ yêu cầu multipart

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Phản hồi

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
Tiếp theoAPI tải lên nâng cao

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