Langsung ke konten utama
GET
/
v1
/
midjourney
/
{task_id}
curl --request GET \
  --url https://api.apimart.ai/v1/midjourney/task_01KV52C0TEJSYZMCG0NCS4YWKK \
  --header 'Authorization: Bearer <token>'
{
  "id": "task_01KV52C0TEJSYZMCG0NCS4YWKK",
  "status": "SUCCESS",
  "action": "IMAGINE",
  "progress": "100%",
  "grid_image_url": "https://cdn.apimart.ai/mj_xxxx.png",
  "image_urls": [
    "https://cdn.apimart.ai/mj_xxxx_0.png",
    "https://cdn.apimart.ai/mj_xxxx_1.png",
    "https://cdn.apimart.ai/mj_xxxx_2.png",
    "https://cdn.apimart.ai/mj_xxxx_3.png"
  ],
  "buttons": [
    {"customId": "MJ::JOB::upsample::1::abc123def456", "label": "U1"},
    {"customId": "MJ::JOB::variation::1::abc123def456", "label": "V1"}
  ],
  "prompt": "a beautiful sunset over mountains"
}
curl --request GET \
  --url https://api.apimart.ai/v1/midjourney/task_01KV52C0TEJSYZMCG0NCS4YWKK \
  --header 'Authorization: Bearer <token>'
{
  "id": "task_01KV52C0TEJSYZMCG0NCS4YWKK",
  "status": "SUCCESS",
  "action": "IMAGINE",
  "progress": "100%",
  "grid_image_url": "https://cdn.apimart.ai/mj_xxxx.png",
  "image_urls": [
    "https://cdn.apimart.ai/mj_xxxx_0.png",
    "https://cdn.apimart.ai/mj_xxxx_1.png",
    "https://cdn.apimart.ai/mj_xxxx_2.png",
    "https://cdn.apimart.ai/mj_xxxx_3.png"
  ],
  "buttons": [
    {"customId": "MJ::JOB::upsample::1::abc123def456", "label": "U1"},
    {"customId": "MJ::JOB::variation::1::abc123def456", "label": "V1"}
  ],
  "prompt": "a beautiful sunset over mountains"
}
Endpoint polling yang direkomendasikan untuk sisi bisnis:
GET /v1/tasks/{task_id}
Status tugas terpadu adalah pending / processing / completed / failed; hasil sukses ada di result.images[].url. Gunakan endpoint gaya MJ ketika Anda butuh buttons[].customId untuk aksi lanjutan:
GET /v1/midjourney/{task_id}

Alur status

SUBMITTED → IN_PROGRESS → SUCCESS
                        → FAILURE
                        → MODAL (butuh parameter tambahan, lihat Inpaint)

Contoh response

{
  "id": "task_01JWXXXX",
  "status": "SUCCESS",
  "action": "IMAGINE",
  "progress": "100%",
  "grid_image_url": "https://cdn.apimart.ai/mj_xxxx.png",
  "image_urls": [
    "https://cdn.apimart.ai/mj_xxxx_0.png",
    "https://cdn.apimart.ai/mj_xxxx_1.png",
    "https://cdn.apimart.ai/mj_xxxx_2.png",
    "https://cdn.apimart.ai/mj_xxxx_3.png"
  ],
  "buttons": [
    {"customId": "MJ::JOB::upsample::1::abc123def456", "label": "U1"},
    {"customId": "MJ::JOB::variation::1::abc123def456", "label": "V1"}
  ],
  "prompt": "a beautiful sunset over mountains"
}
grid_image_url adalah gambar grid 2x2; image_urls adalah empat URL gambar tunggal yang dipotong.
Perbedaan field
  • /v1/tasks/{task_id} mengembalikan status terpadu pending / processing / completed / failed.
  • /v1/midjourney/{task_id} mengembalikan field gaya MJ seperti grid_image_url, image_urls, buttons.
Tentang buttons: Untuk sebagian besar aksi lanjutan, kirim index, direction, atau zoom_ratio dan layanan mencocokkan customId yang sesuai. Jika auto-matching gagal, kirim custom_id langsung.

Ringkasan status

statusArtiTerminal
NOT_STARTBaris dibuat, belum dikonfirmasi sistem (sementara)Tidak
SUBMITTEDDiterima sistem, antreTidak
IN_PROGRESSDiproses sistemTidak
MODALMenunggu parameter /modal (lihat Inpaint)Tidak
SUCCESSSelesai
FAILUREGagal → refund otomatis (quota → 0, fail_reason berisi penyebab)

Catatan query

  • Endpoint query tidak ditagih terpisah, tetapi jaga frekuensi tetap wajar (polling 3–5s disarankan).
  • Pengguna biasa hanya bisa query tugasnya sendiri; query milik orang lain mengembalikan 403.
  • Tugas disimpan 3 hari secara default; setelahnya query mengembalikan 404, tetapi URL gambar / video yang dihasilkan tetap dapat diakses.

Lanjutan: aksi langsung dengan custom_id

Setelah membaca buttons[].customId, Anda bisa mengirimkannya langsung ke field custom_id pada endpoint aksi lanjutan, melewati auto-matching:
{
  "task_id": "task_01JWXXXX",
  "custom_id": "MJ::JOB::upsample::1::abc123def456"
}