API cover daripada klip sumber
Penerangan endpoint
Cover daripada klip sumber menggunakan semula klip sumber yang sudah anda muat naik, atau yang sudah wujud, dan menjana versi cover baharu daripadanya.
Endpoint: POST /api/music/generate-from-source
Pengebilan: Berbayar, kini lalai 0.6 ¥ setiap panggilan. Memuat naik audio sumber itu sendiri adalah percuma; caj dikenakan apabila anda menjana cover daripada klip sumber. Jumlah yang benar-benar dicaj mengikut tetapan harga semasa dalam back-office.
Max Mode / Variety: endpoint ini menyokong parameter pilihan max_mode dan variety (0-4). Dengan
max_mode dihidupkan, panggilan ini dibilkan pada 2× harga (0.6 → 1.2 ¥ setiap panggilan); variety tidak
menambah kos. Maksud dan cara menghantarnya ada dalam bahagian "Parameter lanjutan" pada
Gambaran keseluruhan API baharu.
Masa menunggu dan timeout (penting): ini endpoint segerak — pesanan hanya diterima dan dihantar ke penjanaan apabila respons tiba. Berdasarkan ukuran, kebanyakan permintaan membalas dalam 1-3 saat, kira-kira 10% melebihi 30 saat dan paling lama sekitar 230 saat. Tetapkan timeout klien kepada 300 saat atau lebih; tiada respons tidak bermakna tiada apa-apa dijana, dan jangan cuba semula sejurus selepas timeout (ia menggandakan pesanan dan mencaj dua kali). Jika sambungan terputus, periksa kemudian dengan
GET /api/music/songs. Lihat "Masa menunggu dan tetapan timeout" dalam Gambaran keseluruhan API baharu.
Penggunaan yang disyorkan: ini langkah 2 bagi «cover dua langkah». Pada langkah 1, muat naik dengan API muat naik audio sumber (percuma) dan simpan
clip_id; pada langkah 2, panggil endpoint ini untuk memulakan cover. Dengan cara ini audio hanya muncul pada langkah percuma: jika muat naik gagal, cuba semula sahaja dan tiada caj dikenakan, manakala badan permintaan pada langkah bercaj hanya beberapa ratus bait, jadi ia hampir tidak mungkin gagal kerana pemindahan terputus. API muat naik lalu cover sekali gus meletakkan keseluruhan audio dalam badan permintaan, jadi apabila audio melebihi kira-kira 8 MB ia mudah terpotong dalam perjalanan dan memulangkanunexpected end of JSON input(lihat "Fail besar dan permintaan terpotong" pada halaman itu).Selain itu,
clip_idyang sama boleh diguna semula untuk Extend, Replace Section, pemisahan stem dan tindakan susulan lain, jadi audio tidak perlu dimuat naik lagi.
Parameter permintaan
Headers
| Parameter | Jenis | Wajib | Nota |
|---|---|---|---|
| Authorization | string | ya | Bearer YOUR_API_KEY |
| Content-Type | string | ya | application/json |
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 |
| sourceClipId | string | ya | - | ID klip sumber; anda boleh guna clip_id yang dipulangkan oleh muat naik audio sumber, song_id sebenar lagu yang anda sudah miliki, atau song_id sebenar yang dipulangkan selepas muat naik diperkukuh selesai |
| sourceAudioUrl | string | tidak | - | URL audio sumber |
| sourceTitle | string | tidak | - | Tajuk audio sumber |
| prompt | string | tidak | - | Lirik baharu atau arah kreatif |
| customMode | boolean | tidak | true | Sama ada menggunakan mod tersuai |
| style | string | tidak | - | Tag gaya |
| title | string | tidak | - | Tajuk |
| negativeTags | string | tidak | - | Gaya negatif |
| instrumental | boolean | tidak | false | Sama ada lagu instrumental |
| waitAudio | boolean | tidak | false | Sama ada menunggu audio selesai |
| vocalGender | string | tidak | - | Jantina suara |
| lyricsMode | string | tidak | - | Mod lirik |
| weirdnessConstraint | number | tidak | - | Kerawakan |
| styleWeight | number | tidak | - | Berat pengaruh gaya |
| audio_weight | number | tidak | - | Tahap pergantungan pada audio rujukan, julat 0.0-1.0; hanya boleh dihantar apabila klip sumber atau audio rujukan diberikan |
weirdnessConstraint, styleWeight dan audio_weight semuanya menerima perpuluhan nisbah dari 0.0 hingga 1.0, bukan integer peratus; contohnya 50% ditulis 0.5. 0 ialah nilai yang sah; hanya meninggalkan medan bermaksud "tidak dinyatakan". audio_weight dipetakan kepada metadata.control_sliders.audio_weight Suno dan mengawal sejauh mana hasil bersandar pada audio rujukan; ia hanya boleh disertakan apabila permintaan mengandungi sourceClipId yang sah atau audio rujukan, jadi jangan hantarnya dalam penjanaan biasa yang hanya berasaskan teks. Apabila customMode=true, tulis lirik baharu dalam prompt dan berikan style serta title serentak; apabila customMode=false, tulis penerangan kreatif dalam prompt. instrumental dan waitAudio mesti menggunakan boolean JSON true/false.
Endpoint ini membalas secara tak segerak secara lalai. Selagi status yang dipulangkan ialah pending, audio_url yang kosong adalah normal; tunggu sehingga selesai sebelum menggunakan alamat audio. sourceClipId mesti ID lagu/klip sumber yang sebenar — jangan guna task_id, client_request_id atau ID pemegang tempat pending:.
sourceClipId ialah ID apa
sourceClipId ialah pengenal klip Suno sebenar yang digunakan sebagai sumber cover ini. Objek lagu untuk pelanggan pada platform biasanya menamakan pengenal ini song_id, manakala parameter permintaan cover kekal menggunakan nama sourceClipId; di sini kedua-duanya bermaksud ID lagu sebenar yang sama.
Jika sumbernya muat naik diperkukuh, tanya tugasan muat naik diperkukuh dahulu dan tunggu sehingga status menjadi completed, kemudian masukkan song_id sebenar yang dipulangkan ke dalam sourceClipId. Adalah disyorkan untuk turut memasukkan audio_url dan title hasil itu ke dalam sourceAudioUrl dan sourceTitle.
Jangan masukkan task_id, client_request_id atau ID pemegang tempat pending:enhanced-upload:* bagi muat naik diperkukuh ke dalam 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": "Tajuk audio asal",
"prompt": "Lirik baharu atau arah kreatif",
"customMode": true,
"style": "Mandopop, warm vocal",
"title": "Tajuk 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": "Tajuk cover",
"status": "pending"
}
],
"source_update": {}
}
}
Nota
Endpoint ini berusaha menangani isu akaun pemilik klip sumber. Jika klip sumber tidak boleh digunakan secara terus, pelayan mungkin memuat naiknya semula berdasarkan maklumat audio sumber dan barulah menjana.
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