Langsung ke konten utama
POST
/
v1
/
music
/
generations
/
coverFlowMusic
curl --request POST \
  --url https://api.apimart.ai/v1/music/generations/coverFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Aransemen ulang lagu ini dengan gaya jazz",
    "strength": 0.5
  }'
import requests

url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic"

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Aransemen ulang lagu ini dengan gaya jazz",
    "strength": 0.5
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  instruction: "Aransemen ulang lagu ini dengan gaya jazz",
  strength: 0.5
};

const headers = {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload)
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KWXVD0E653EZ9FWD2SD9NNB6"
    }
  ]
}
{
  "error": {
    "message": "strength must be between 0 and 1",
    "type": "invalid_request",
    "param": "",
    "code": "invalid_request"
  }
}
{
  "error": {
    "message": "Saldo tidak mencukupi",
    "type": "invalid_request",
    "param": "",
    "code": "quota_not_enough"
  }
}
{
  "error": {
    "message": "Kapasitas grup saat ini penuh, silakan coba lagi nanti",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}
curl --request POST \
  --url https://api.apimart.ai/v1/music/generations/coverFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Aransemen ulang lagu ini dengan gaya jazz",
    "strength": 0.5
  }'
import requests

url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic"

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Aransemen ulang lagu ini dengan gaya jazz",
    "strength": 0.5
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  instruction: "Aransemen ulang lagu ini dengan gaya jazz",
  strength: 0.5
};

const headers = {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload)
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KWXVD0E653EZ9FWD2SD9NNB6"
    }
  ]
}
{
  "error": {
    "message": "strength must be between 0 and 1",
    "type": "invalid_request",
    "param": "",
    "code": "invalid_request"
  }
}
{
  "error": {
    "message": "Saldo tidak mencukupi",
    "type": "invalid_request",
    "param": "",
    "code": "quota_not_enough"
  }
}
{
  "error": {
    "message": "Kapasitas grup saat ini penuh, silakan coba lagi nanti",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}

Autentikasi

Authorization
string
wajib
Semua endpoint memerlukan autentikasi menggunakan Bearer TokenMendapatkan API Key:Kunjungi halaman pengelolaan API Key untuk mendapatkan API Key AndaTambahkan ke header permintaan saat digunakan:
Authorization: Bearer YOUR_API_KEY

Parameter Permintaan

model
string
wajib
Nama model, selalu isi "flowmusic" (tidak peka huruf besar/kecil)
clip_id
string
wajib
Pengidentifikasi unik musik sumber, berasal dari result.music[].clip_id tugas yang telah berhasil
instruction
string
wajib
Instruksi penyuntingan coverContoh: "Aransemen ulang lagu ini dengan gaya jazz"
strength
number
wajib
Intensitas penyuntinganRentang nilai: 0 ~ 1, semakin besar semakin banyak perubahan
title
string
Judul musik setelah cover
seed
string
Seed acak, digunakan untuk mereproduksi hasil

Respons

code
integer
Kode status respons, bernilai 200 jika berhasil
data
array
Array data yang dikembalikan

Skenario Penggunaan

Skenario 1: Mengubah seluruh lagu ke gaya jazz

{
  "model": "flowmusic",
  "clip_id": "abc123-def456",
  "instruction": "Aransemen ulang lagu ini dengan gaya jazz",
  "strength": 0.5
}

Skenario 2: Mengaransemen ulang audio eksternal setelah diimpor

Impor audio eksternal terlebih dahulu melalui Mengunggah Audio untuk mendapatkan clip_id, lalu lakukan cover:
{
  "model": "flowmusic",
  "clip_id": "1db3a20f-4ddc-44e8-8c9c-6c9093c16ffe",
  "instruction": "Ubah ke gaya jazz",
  "strength": 0.6
}
Memeriksa hasil tugasAransemen cover adalah tugas asinkron; setelah diajukan, task_id akan dikembalikan. Gunakan endpoint Mendapatkan Status Tugas untuk memeriksa progres dan hasil pembuatan. Hasil cover adalah clip_id yang baru; gunakan clip_id baru untuk operasi berikutnya.

Contoh Hasil Tugas Selesai

Contoh respons kueri (GET /v1/music/tasks/{task_id}):
{
  "code": 200,
  "data": {
    "id": "task_01KWXVD0E653EZ9FWD2SD9NNB6",
    "status": "completed",
    "progress": 100,
    "created": 1783413244,
    "completed": 1783413315,
    "actual_time": 71,
    "cost": 0.048,
    "credits_cost": 0.48,
    "result": {
      "music": [
        {
          "clip_id": "ef3d804e-fa97-402f-ba17-4ff08270159b",
          "title": "Untitled (Cover)",
          "duration_seconds": "178.03733333",
          "create_time": "2026-07-07T08:34:58.112190Z",
          "lyrics": "[Verse 1]\nWaking up to the morning light,\n...",
          "lyrics_id": "c302d603-81b6-552f-8122-e512928d6aa1",
          "lyrics_timing_markers": [[10, 12], [212, 36]],
          "audio_url": "https://cdn.apimart.ai/audio/flowmusic_ef3d804e.m4a",
          "wav_url": "https://cdn.apimart.ai/audio/flowmusic_ef3d804e.wav",
          "image_url": "https://cdn.apimart.ai/image/flowmusic_ef3d804e_cover.jpg"
        }
      ]
    }
  }
}