Skip to main content
GET
Recommended polling endpoint for the business side:
Unified task statuses are pending / processing / completed / failed; successful results are returned in result.images[].url. Use the MJ-style endpoint when you need buttons[].customId for follow-up actions:

Status flow

Response example

grid_image_url is the 2x2 grid image; image_urls are the four cropped single-image URLs.
Field naming gotchas
  • /v1/tasks/{task_id} returns unified pending / processing / completed / failed statuses.
  • /v1/midjourney/{task_id} returns MJ-style fields such as grid_image_url, image_urls, and buttons.
About buttons: For most follow-up actions, pass index, direction, or zoom_ratio and the service maps the matching customId. If auto matching fails, pass custom_id directly.

Status overview

Query notes

  • The query endpoint is not billed separately, but keep the rate reasonable (3–5s polling recommended).
  • A regular user can only query their own tasks; querying others’ returns 403.
  • Tasks are retained for 3 days by default; after that, queries return 404, but the generated image / video URLs remain accessible.

Advanced: act directly with custom_id

After reading buttons[].customId, you can pass it directly to the custom_id field of a follow-up action endpoint to bypass auto matching: