API lagu penuh (Get Full Song)
Penerangan endpoint
Gabungan lagu penuh menyatukan "lagu asal + serpihan yang baru dijana" menjadi satu lagu lengkap: selepas Extend ia menyambung bahagian seterusnya, selepas Replace Section ia menjahit serpihan baharu kembali ke dalam lagu asal. Antara muka web rasmi memanggil keupayaan ini Get Full Song.
Endpoint: POST /api/music/concat
Pengebilan: Berbayar, kadar tetap 0.05 CNY setiap panggilan. Gabungan dipisahkan daripada harga penjanaan dan tidak menyertai Max Mode atau pendarab profil suara; jumlah yang benar-benar dicaj mengikut tetapan harga dalam back-office.
Masa menunggu dan timeout (penting): ini endpoint segerak — pesanan hanya diterima dan dihantar ke gabungan apabila respons tiba. Tetapkan timeout klien kepada 300 saat atau lebih; tiada respons tidak bermakna tiada apa-apa digabungkan, dan jangan cuba semula sejurus selepas timeout (ia menggandakan pesanan dan mencaj dua kali). Jika sambungan terputus, periksa kemudian dengan
GET /api/music/songs.
Pengesahan
| Parameter | Jenis | Wajib | Nota |
|---|---|---|---|
| Authorization | string | ya | Bearer YOUR_API_KEY |
| Content-Type | string | ya | application/json |
Parameter permintaan
| Parameter | Jenis | Wajib | Lalai | Nota |
|---|---|---|---|---|
| song_id | string | ya | - | song_id serpihan yang akan digabungkan (hasil Extend atau Replace Section); mesti sudah selesai |
| is_infill | boolean | tidak | false | false = gabungan pemanjangan; true = gabungan penggantian (infill) |
| source_audio_url | string | tidak | - | Alamat audio sumber, apabila serpihan berasal dari akaun luaran |
| source_file_name | string | tidak | - | Nama fail sumber, apabila serpihan berasal dari akaun luaran |
| source_title | string | tidak | - | Tajuk sumber, apabila serpihan berasal dari akaun luaran |
audio_id, source_clip_id dan sourceClipId ialah ejaan setara bagi song_id; gunakan salah satu.
Contoh permintaan
curl -X POST https://www.suno-api.io/api/music/concat \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "extended_or_replaced_clip_id",
"is_infill": false
}'
Untuk menggabung selepas menggantikan bahagian, tetapkan is_infill kepada true:
{ "song_id": "infilled_clip_id", "is_infill": true }
Respons
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "concat_clip_id",
"song_title": "Tajuk lagu sumber",
"status": "queued"
}
]
}
}
Gabungan hanya memulangkan 1 hasil (ia tidak menghasilkan 2 lagu sekali gus). Simpan clips[].song_id kemudian tinjau API pertanyaan lagu dan sejarah sehingga complete sebelum mengambil audio.
Dari mana tempoh hasil datang
Gabungan tidak hanya menempel dua fail berturut-turut; ia memangkas lagu sumber mengikut titik masa yang direkod dalam sejarah serpihan:
| Mod | Susunan hasil |
|---|---|
is_infill: false |
lagu sumber [0 .. continue_at] + panjang penuh serpihan pemanjangan |
is_infill: true |
lagu sumber [0 .. titik mula] + serpihan baharu yang menggantikan + lagu sumber [titik akhir .. hujung lagu] |
Dengan itu audio asal selepas titik sambungan dibuang, jadi tiada bahagian yang berganda sepenuhnya.
Nota
- Hanya serpihan yang sudah selesai boleh digabungkan; jika serpihan masih dijana, tunggu sehingga selesai.
- Hasilnya ialah rekod baharu; serpihan asal kekal dan masih boleh digunakan.
- Untuk menggabungkan dua lagu berbeza menjadi satu, gunakan API mashup; untuk menyimpan hanya satu bahagian, gunakan API pemangkasan.
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