API cover dari clip sumber
Deskripsi endpoint
Cover dari clip sumber menggunakan kembali clip sumber yang sudah Anda unggah, atau yang sudah ada, lalu membuat versi cover baru berdasarkan clip tersebut.
Endpoint: POST /api/music/generate-from-source
Biaya: Berbayar, saat ini default 0,6 ¥ per panggilan. Mengunggah audio sumber itu sendiri gratis; biaya muncul saat Anda membuat cover dari clip sumber. Jumlah yang benar-benar ditagih mengikuti konfigurasi harga di back-office saat ini.
Max Mode / Variety: endpoint ini mendukung parameter opsional max_mode dan variety (0-4). Dengan
max_mode aktif, panggilan ini ditagih 2× harga (0,6 → 1,2 ¥ per panggilan); variety tidak menambah
biaya. Arti dan cara mengirimnya ada di bagian "Parameter lanjutan" pada
Ringkasan API baru.
Waktu tunggu dan timeout (penting): ini endpoint sinkron — pesanan baru diterima dan diteruskan ke pembuatan saat respons tiba. Dari pengukuran, sebagian besar permintaan merespons dalam 1-3 detik, sekitar 10% melewati 30 detik, dan terlama sekitar 230 detik. Setel timeout klien 300 detik atau lebih; tidak ada respons bukan berarti tidak ada yang dibuat, dan jangan mencoba ulang langsung setelah timeout (itu menduplikasi pesanan dan menagih dua kali). Jika koneksi terputus, periksa lagi nanti dengan
GET /api/music/songs. Lihat "Waktu tunggu dan pengaturan timeout" di Ringkasan API baru.
Penggunaan yang disarankan: ini langkah 2 dari «cover dua langkah». Di langkah 1, unggah dengan API unggah audio sumber (gratis) dan simpan
clip_id; di langkah 2, panggil endpoint ini untuk memulai cover. Dengan begitu audio hanya muncul di langkah gratis: kalau unggahan gagal, cukup ulangi dan tidak ada biaya, sedangkan body permintaan pada langkah berbayar hanya beberapa ratus byte, jadi hampir tidak mungkin gagal karena transfer terputus. API unggah lalu cover sekali jalan menaruh seluruh audio ke body permintaan, sehingga begitu audio melewati sekitar 8 MB ia mudah terpotong di perjalanan dan mengembalikanunexpected end of JSON input(lihat "Berkas besar dan permintaan yang terpotong" di halaman itu).Selain itu,
clip_idyang sama bisa dipakai ulang untuk Extend, Replace Section, pemisahan stem, dan tindakan lanjutan lain, jadi audio tidak perlu diunggah lagi.
Parameter permintaan
Headers
| Parameter | Tipe | Wajib | Catatan |
|---|---|---|---|
| Authorization | string | ya | Bearer YOUR_API_KEY |
| Content-Type | string | ya | application/json |
Parameter body
| Parameter | Tipe | Wajib | Default | Catatan |
|---|---|---|---|---|
| model | string | tidak | suno-v6 | Nama model untuk pelanggan: suno-v6, suno-v6-wild atau suno-v6-mini |
| sourceClipId | string | ya | - | ID clip sumber; Anda bisa memakai clip_id yang dikembalikan unggah audio sumber, song_id asli lagu yang sudah Anda miliki, atau song_id asli yang dikembalikan setelah unggahan yang diperkuat selesai |
| sourceAudioUrl | string | tidak | - | URL audio sumber |
| sourceTitle | string | tidak | - | Judul audio sumber |
| prompt | string | tidak | - | Lirik baru atau arah kreatif |
| customMode | boolean | tidak | true | Apakah memakai mode kustom |
| style | string | tidak | - | Tag gaya |
| title | string | tidak | - | Judul |
| negativeTags | string | tidak | - | Gaya negatif |
| instrumental | boolean | tidak | false | Apakah lagu instrumental |
| waitAudio | boolean | tidak | false | Apakah menunggu audio selesai |
| vocalGender | string | tidak | - | Gender vokal |
| lyricsMode | string | tidak | - | Mode lirik |
| weirdnessConstraint | number | tidak | - | Keacakan |
| styleWeight | number | tidak | - | Bobot pengaruh gaya |
| audio_weight | number | tidak | - | Tingkat ketergantungan pada audio referensi, rentang 0.0-1.0; hanya bisa dikirim bila ada clip sumber atau audio referensi |
weirdnessConstraint, styleWeight, dan audio_weight semuanya menerima desimal rasio dari 0.0 sampai 1.0, bukan bilangan bulat persen; misalnya 50% ditulis 0.5. 0 adalah nilai yang sah; hanya menghilangkan kolom yang berarti "tidak ditentukan". audio_weight dipetakan ke metadata.control_sliders.audio_weight milik Suno dan mengatur seberapa besar hasil bersandar pada audio referensi; hanya boleh disertakan bila permintaan memuat sourceClipId yang sah atau audio referensi, jadi jangan mengirimnya pada pembuatan biasa yang hanya berbasis teks. Saat customMode=true, tulis lirik baru di prompt dan sertakan style serta title sekaligus; saat customMode=false, tulis deskripsi kreatif di prompt. instrumental dan waitAudio harus memakai boolean JSON true/false.
Endpoint ini mengembalikan secara asinkron secara default. Selama status yang dikembalikan masih pending, audio_url yang kosong adalah hal normal; tunggu sampai selesai sebelum memakai alamat audio. sourceClipId harus berupa ID lagu/clip sumber yang asli — jangan memakai task_id, client_request_id, atau ID sementara pending:.
sourceClipId itu ID apa
sourceClipId adalah pengenal clip Suno asli yang dipakai sebagai sumber cover ini. Objek lagu untuk pelanggan di platform biasanya menyebut pengenal ini song_id, sedangkan parameter permintaan cover tetap memakai nama sourceClipId; di sini keduanya berarti ID lagu asli yang sama.
Jika sumbernya unggahan yang diperkuat, kueri dulu tugas unggahan yang diperkuat dan tunggu sampai status menjadi completed, lalu masukkan song_id asli yang dikembalikan ke sourceClipId. Disarankan juga memasukkan audio_url dan title dari hasil itu ke sourceAudioUrl dan sourceTitle.
Jangan memasukkan task_id, client_request_id, atau ID sementara pending:enhanced-upload:* dari unggahan yang diperkuat ke sourceClipId.
Contoh permintaan
curl -X POST https://www.suno-api.io/api/music/generate-from-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"sourceClipId": "uploaded_or_existing_clip_id",
"sourceAudioUrl": "https://example.com/source.mp3",
"sourceTitle": "Judul audio asli",
"prompt": "Lirik baru atau arah kreatif",
"customMode": true,
"style": "Mandopop, warm vocal",
"title": "Judul cover",
"negativeTags": "noise",
"audio_weight": 0.5,
"instrumental": false,
"waitAudio": false
}'
Respons
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "new_clip_id",
"song_title": "Judul cover",
"status": "pending"
}
],
"source_update": {}
}
}
Catatan
Endpoint ini berusaha menangani masalah akun pemilik clip sumber. Jika clip sumber tidak bisa dipakai langsung, server dapat mengunggahnya ulang berdasarkan informasi audio sumber lalu baru membuat.
Dapatkan kunci API
Buat kunci API di konsol setelah mendaftar. Setiap pembuatan berbiaya 0,6 ¥ dan menghasilkan 2 lagu, unduhan tidak terbatas, dan nomor telepon tidak diperlukan.
Ambil kunci API Kembali ke ringkasan