curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
Suno
Unggah dan Perpanjang Audio
Unggah URL audio publik dan perpanjang lagu dari titik tertentu dengan Suno V6
POST
/
v1
/
music
/
generations
/
uploadExtend
curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
Endpoint ini memperpanjang URL audio publik secara langsung; tidak perlu memanggil
uploadTask dahulu. Selalu memakai mode kustom; jangan kirim custom, instrumental, atau gpt_description.curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
Authorizations
string
wajib
Bearer Token. Dapatkan API Key di halaman pengelolaan API Key.
Body
string
default:"suno"
Selalu gunakan
suno.string
wajib
URL HTTP(S) langsung yang dapat diakses publik untuk audio. Audio sumber harus kurang dari 8 menit. Path lokal dan URL
blob: tidak didukung.number
wajib
Waktu mulai perpanjangan. Minimal 1 detik dan lebih kecil dari durasi aktual audio sumber.
string
default:"v6"
Versi publik:
v6 / v6-wild / v6-mini. Default v6; hilangkan saat memakai custom_model_id.string
UUID lengkap yang dikembalikan tugas pembuatan model. Tidak dapat digunakan bersama
version dan persona_id.string
Lirik lanjutan, hingga 5.000 karakter. Jika dihilangkan, lanjutan dianggap instrumental.
string
Deskripsi gaya, hingga 1.000 karakter.
string
Judul, hingga 80 karakter.
string
Gaya yang dikecualikan.
number
Bobot gaya, 0–1.
number
Bobot kreativitas, 0–1.
number
Bobot audio, rentang 0–1.
boolean
Apakah membuat versi kedua dari lirik masukan.
string
Gender vokal:
Male atau Female.string
ID Persona, tidak dapat digunakan bersama
custom_model_id.integer
Durasi target, 10–360 detik. Durasi aktual ditentukan oleh hasil tugas.
string
Variasi gaya:
off / normal / high / extra / max.boolean
default:"false"
Mengaktifkan mode Max dan dikenai biaya dua kali harga standar.
string
Format keluaran:
mp3 / m4a / wav.Response
integer
Kode status respons.
array
Hasil pengiriman. Baca
data[0].task_id lalu polling API tugas.{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}