メインコンテンツへスキップ
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"
}
通常のポーリングには統一タスク API を推奨します。
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 は 2x2 のグリッド画像、image_urls は切り出された 4 枚の単画像 URL です。
フィールド差異の注意
  • /v1/tasks/{task_id} は統一された pending / processing / completed / failed 状態を返します。
  • /v1/midjourney/{task_id}grid_image_urlimage_urlsbuttons などの MJ 形式フィールドを返します。
buttons について: 多くの二次操作は indexdirectionzoom_ratio から該当する customId を自動解決します。自動マッチングに失敗する場合は custom_id を直接渡してください。

ステータス一覧

status意味終端
NOT_START行作成済み、システム未確認(一時的)いいえ
SUBMITTEDシステムが受理、キュー待ちいいえ
IN_PROGRESSシステムが処理中いいえ
MODAL/modal のパラメータ待ち(Inpaint 参照)いいえ
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"
}