API muat naik audio sumber

Dikemas kini 2026-09-18 · pasukan Suno-API

Penerangan endpoint

Muat naik audio sumber menukar fail audio setempat atau jauh menjadi klip sumber yang boleh digunakan oleh keupayaan seterusnya: cover, pemanjangan, penggantian bahagian, pemisahan dan lain-lain.

Endpoint: POST /api/music/upload-source

Pengebilan: Percuma. Endpoint ini hanya memuat naik audio sumber; ia tidak memulakan tugasan penjanaan.

Penggunaan yang disyorkan: ini langkah 1 bagi «cover dua langkah». Muat naik audio dahulu dengan endpoint ini (percuma, dan boleh cuba semula bila-bila gagal) dan simpan clip_id yang dipulangkan; selepas mengesahkan muat naik berjaya (status dalam keadaan selesai), panggil API cover daripada klip sumber untuk memulakan cover — badan permintaan itu hanya beberapa ratus bait, jadi ia tidak boleh terpotong semasa penghantaran kerana audio terlalu besar. Berbanding API sekali gus muat naik lalu cover, pemisahan ini lebih kukuh apabila audio besar, rangkaian tidak stabil, atau bahan yang sama akan digunakan semula beberapa kali (pemanjangan / penggantian / pemisahan).

Petua untuk muat naik fail besar

Keadaan Pendekatan yang disyorkan
Audio sudah awam (ada pautan terus https) Guna file_url: badan permintaan hanya beberapa ratus bait, paling kukuh
URL bertandatangan sementara (ByteDance dan lain-lain) Gunakan file_url hanya jika URL awam dan masih sah; jika tidak, gunakan multipart atau muat naik segera
Fail setempat (Node / Python / desktop) Guna muat naik multipart (-F "file=@source.mp3") dan jangan tetapkan Content-Type secara manual
Hanya boleh JSON + base64 Perhatikan Content-Length mesti bilangan bait (Buffer.byteLength), jika tidak badan boleh terpotong

Selepas muat naik selesai, sentiasa pastikan status dalam respons sudah berkeadaan selesai dan simpan clip_id sebelum ke langkah 2; muat naik yang gagal tidak dicaj dan tidak mencipta tugasan penjanaan — cuba semula sahaja.

Semak file_url sebelum memuat naik

Pelayan platform memuat turun file_url sendiri, bukan pelayar anda. URL yang boleh dibuka dalam pelayar belum tentu boleh diakses oleh pelayan produksi.

Untuk fail tempatan, gunakan muat naik multipart dengan medan file. Jangan gunakan file_url untuk pautan ByteDance atau URL bertandatangan sementara kecuali URL itu awam dan masih sah semasa permintaan dihantar.

Jalankan ini dari pelayan awam sebelum menghantar permintaan muat naik:

curl -L --max-time 30 -D - -o /dev/null "https://example.com/source.mp3"

Permintaan GET mesti berakhir dengan HTTP 200, mengembalikan MIME audio dan mempunyai data. Halaman log masuk, respons HTML serta 401, 403, 404 atau 410 tidak boleh digunakan oleh pelayan.

file_url download failed: HTTP 404 biasanya bermaksud tandatangan telah tamat, fail dipadam atau parameter URL tidak lengkap.

Muat naik ini percuma. Jika muat turun file_url gagal, tiada clip_id, tugasan lagu atau panggilan penjanaan dibuat dan tiada caj dikenakan; bayaran balik tidak diperlukan.

Parameter permintaan

Headers

Untuk permintaan JSON:

Parameter Jenis Wajib Nota
Authorization string ya Bearer YOUR_API_KEY
Content-Type string ya application/json

Jangan tetapkan Content-Type secara manual untuk permintaan multipart; klien menjananya secara automatik.

Parameter body

Parameter Jenis Wajib Lalai Nota
model string tidak suno-v6 Nama model untuk pelanggan: suno-v6, suno-v6-wild atau suno-v6-mini
file_url string tidak - URL audio jauh
file_base64 string tidak - Audio dalam Base64
file fail (multipart) tidak - Fail audio untuk dimuat naik; nama medan mesti file
file_name string tidak - Nama fail
upload_type string tidak file_upload Jenis muat naik

Contoh permintaan 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"
  }'

Contoh permintaan 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"
import requests

with open("source.mp3", "rb") as audio:
    response = requests.post(
        "https://www.suno-api.io/api/music/upload-source",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        data={
            "file_name": "source.mp3",
            "upload_type": "file_upload",
            "model": "suno-v6",
        },
        files={"file": ("source.mp3", audio, "audio/mpeg")},
        timeout=300,
    )

response.raise_for_status()
print(response.json())

Respons

{
  "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": {}
}
SeterusnyaAPI muat naik diperkukuh

Dapatkan kunci API

Cipta kunci API dalam konsol selepas mendaftar. Setiap penjanaan berharga 0.6 ¥ dan mengembalikan 2 lagu, muat turun tanpa had dan nombor telefon tidak diperlukan.

Dapatkan kunci API Kembali ke gambaran