跳转到主要内容
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"
}
推荐业务侧轮询统一任务接口:
GET /v1/tasks/{task_id}
统一任务状态为 pending / processing / completed / failed,成功结果位于 result.images[].url 需要读取 buttons[].customId 做二次操作时,使用 MJ 风格查询:
GET /v1/midjourney/{task_id}

任务状态流转

SUBMITTED → IN_PROGRESS → SUCCESS
                        → FAILURE
                        → MODAL(需补充参数,见局部重绘)

响应示例

{
  "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 是四宫格合成大图,image_urls 是裁剪后的 4 张单图 URL 数组。
字段差异提醒
  • /v1/tasks/{task_id} 返回统一 pending / processing / completed / failed 状态。
  • /v1/midjourney/{task_id} 返回 MJ 风格字段,如 grid_image_urlimage_urlsbuttons
关于 buttons 大部分二次操作可传 indexdirectionzoom_ratio,系统会自动匹配对应 customId;如自动匹配失败,可直接传 custom_id

状态字段总览

status含义终态
NOT_START已建行,系统未确认(瞬时态)
SUBMITTED系统接受,排队中
IN_PROGRESS系统处理中
MODAL等待调 /modal 补参(见局部重绘)
SUCCESS完成
FAILURE失败 → 自动退款(quota 归 0,fail_reason 含原因)

查询说明

  • 查询接口不单独计费,但建议合理控制频率(推荐 3–5s 轮询一次)。
  • 普通用户只能查自己的任务;查他人任务返回 403
  • 任务默认保留 3 天,过后查询返回 404,但生成的图片 / 视频 URL 仍可访问

高级:使用 custom_id 直接操作

读取 buttons[].customId 后,可直接传给二次操作接口的 custom_id 字段,绕过自动匹配:
{
  "task_id": "task_01JWXXXX",
  "custom_id": "MJ::JOB::upsample::1::abc123def456"
}