Langsung ke konten utama
POST
/
v1
/
music
/
generations
/
extendFlowMusic
curl --request POST \
  --url https://api.apimart.ai/v1/music/generations/extendFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "extend_from_s": 30,
    "extend_s": 60,
    "instruction": "Lanjutkan melodi utama, tambahkan string"
  }'
import requests

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

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "extend_from_s": 30,
    "extend_s": 60,
    "instruction": "Lanjutkan melodi utama, tambahkan string"
}

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/extendFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  extend_from_s: 30,
  extend_s: 60,
  instruction: "Lanjutkan melodi utama, tambahkan string"
};

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_01KWXVCYB70YJ1WY9X22RVYRNP"
    }
  ]
}
{
  "error": {
    "message": "clip_id is required",
    "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/extendFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "extend_from_s": 30,
    "extend_s": 60,
    "instruction": "Lanjutkan melodi utama, tambahkan string"
  }'
import requests

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

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "extend_from_s": 30,
    "extend_s": 60,
    "instruction": "Lanjutkan melodi utama, tambahkan string"
}

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/extendFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  extend_from_s: 30,
  extend_s: 60,
  instruction: "Lanjutkan melodi utama, tambahkan string"
};

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_01KWXVCYB70YJ1WY9X22RVYRNP"
    }
  ]
}
{
  "error": {
    "message": "clip_id is required",
    "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
clip_id musik sumber, berasal dari result.music[].clip_id tugas yang telah berhasil
Tugas sumber harus sudah berhasil. Audio eksternal dapat diimpor terlebih dahulu melalui Mengunggah Audio untuk mendapatkan clip_id.
extend_from_s
number
wajib
Titik waktu mulai perpanjangan (detik)Tidak boleh melebihi durasi clip sumber
extend_s
number
wajib
Durasi perpanjangan (detik)Nilai maksimum: 164 detik
instruction
string
wajib
Instruksi penyuntingan untuk perpanjangan musikContoh: "Lanjutkan melodi utama, tambahkan string"
title
string
Judul musik setelah diperpanjang
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: Memperpanjang 60 detik dari bagian refrain

{
  "model": "flowmusic",
  "clip_id": "abc123-def456",
  "extend_from_s": 30,
  "extend_s": 60,
  "instruction": "Lanjutkan melodi utama, tambahkan string"
}
Memeriksa hasil tugasPerpanjangan musik adalah tugas asinkron; setelah diajukan, task_id akan dikembalikan. Gunakan endpoint Mendapatkan Status Tugas untuk memeriksa progres dan hasil pembuatan. Hasil perpanjangan 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_01KWXVCYB70YJ1WY9X22RVYRNP",
    "status": "completed",
    "progress": 100,
    "created": 1783413242,
    "completed": 1783413292,
    "actual_time": 50,
    "cost": 0.048,
    "credits_cost": 0.48,
    "result": {
      "music": [
        {
          "clip_id": "d2f589ea-5390-4e83-8e2f-4517420408fa",
          "title": "Untitled (Extended)",
          "duration_seconds": "39.95733333",
          "create_time": "2026-07-07T08:34:33.240020Z",
          "lyrics": "waking up to the morning light,\n...",
          "lyrics_id": "0452451b-9e54-5d9f-8437-8bff97c7bbc8",
          "lyrics_timing_markers": [[0, 12], [129, 20]],
          "audio_url": "https://cdn.apimart.ai/audio/flowmusic_d2f589ea.m4a",
          "wav_url": "https://cdn.apimart.ai/audio/flowmusic_d2f589ea.wav",
          "image_url": "https://cdn.apimart.ai/image/flowmusic_d2f589ea_cover.jpg"
        }
      ]
    }
  }
}