curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadCover \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": true,
"instrumental": true,
"tags": "piano, ambient",
"duration_s": 120,
"variety": "normal",
"audio_format": "m4a"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadCover",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": True,
"instrumental": True,
"tags": "piano, ambient",
"duration_s": 120,
"audio_format": "m4a",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadCover", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6",
audio_url: "https://example.com/reference.mp3",
custom: true,
instrumental: true,
tags: "piano, ambient",
duration_s: 120,
audio_format: "m4a"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
Suno
Unggah Audio dan Buat Cover
Unggah URL audio publik dan buat cover dengan Suno V6
POST
/
v1
/
music
/
generations
/
uploadCover
curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadCover \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": true,
"instrumental": true,
"tags": "piano, ambient",
"duration_s": 120,
"variety": "normal",
"audio_format": "m4a"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadCover",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": True,
"instrumental": True,
"tags": "piano, ambient",
"duration_s": 120,
"audio_format": "m4a",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadCover", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6",
audio_url: "https://example.com/reference.mp3",
custom: true,
instrumental: true,
tags: "piano, ambient",
duration_s: 120,
audio_format: "m4a"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
Endpoint ini membuat cover langsung dari URL audio publik; tidak perlu memanggil
uploadTask dahulu. Endpoint mengembalikan task_id; polling GET /v1/music/tasks/{task_id}.curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadCover \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": true,
"instrumental": true,
"tags": "piano, ambient",
"duration_s": 120,
"variety": "normal",
"audio_format": "m4a"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadCover",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6",
"audio_url": "https://example.com/reference.mp3",
"custom": True,
"instrumental": True,
"tags": "piano, ambient",
"duration_s": 120,
"audio_format": "m4a",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadCover", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6",
audio_url: "https://example.com/reference.mp3",
custom: true,
instrumental: true,
tags: "piano, ambient",
duration_s: 120,
audio_format: "m4a"
})
});
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 dan publik untuk audio. Sumber harus kurang dari 8 menit. Path lokal, URL
blob:, dan tautan yang meminta login tidak didukung.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.boolean
Kirim field ini secara eksplisit. Dengan
false, gunakan gpt_description; dengan true, gunakan field lirik dan gaya.boolean
default:"false"
Apakah membuat audio instrumental. Saat
custom=true dan field ini false, prompt wajib.string
Deskripsi inspirasi. Wajib saat
custom=false; maksimum 3.000 karakter.string
Lirik kustom, hingga 5.000 karakter.
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, 0–1.
boolean
Apakah lirik masukan ditulis ulang secara kreatif.
string
Gender vokal:
Male / Female.string
ID Persona, tidak dapat digunakan bersama
custom_model_id.integer
Durasi target, 10–360 detik. Hanya tersedia dalam mode kustom.
string
Variasi gaya:
off / normal / high / extra / max.boolean
default:"false"
Mengaktifkan mode Max. Memerlukan mode kustom 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"}
]
}