Skip to main content
GET
/
mj
/
task
/
{id}
/
fetch
Fetch a Midjourney task
curl --request GET \
  --url https://api.cometapi.com/mj/task/{id}/fetch \
  --header 'Authorization: Bearer <token>'
{
  "id": "1773314942177684",
  "status": "SUCCESS",
  "progress": "100%",
  "imageUrl": "https://api.cometapi.com/mj/image/1773314942177684",
  "videoUrl": "",
  "buttons": [
    {
      "customId": "MJ::JOB::upsample::1::example",
      "emoji": "",
      "label": "U1",
      "type": 2,
      "style": 1
    }
  ]
}
Use this endpoint after every Midjourney submit call. It is the main polling endpoint for imagine, action, modal, blend, and editor workflows.

Check these fields first

  • status for the overall task state
  • progress for the current completion signal
  • imageUrl or videoUrl when the asset is ready
  • buttons for the next available customId values

Polling rules

  • Keep polling until the task reaches SUCCESS, MODAL, or FAILURE
  • Treat the buttons array as the source of truth for follow-up actions
  • Use imageUrl when you need the finished grid or upscale result
Live validation on 2026-03-12 returned SUCCESS, progress: 100%, an imageUrl, and 9 action buttons for a FAST imagine task.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Path Parameters

id
string
required

Midjourney task id.

Response

200 - application/json

Current task state.

id
string
required
imageUrl
string
required
status
string
required
progress
string
required
buttons
object[]
required
action
string
customId
string
botType
string
prompt
string
promptEn
string
description
string
state
string
submitTime
integer
startTime
integer
finishTime
integer
videoUrl
string
failReason
string
maskBase64
string
properties
object