Passer au contenu principal
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 de polling recommandé côté métier :
GET /v1/tasks/{task_id}
Les statuts unifiés sont pending / processing / completed / failed ; les résultats apparaissent dans result.images[].url. Utilisez l’endpoint style MJ lorsque vous avez besoin de buttons[].customId pour les actions de suivi :
GET /v1/midjourney/{task_id}

Flux d’états

SUBMITTED → IN_PROGRESS → SUCCESS
                        → FAILURE
                        → MODAL (voir Inpaint)

Exemple de réponse

{
  "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 est l’image grille 2x2 ; image_urls sont les quatre URLs d’images individuelles découpées.
Différences de champs
  • /v1/tasks/{task_id} renvoie les statuts unifiés pending / processing / completed / failed.
  • /v1/midjourney/{task_id} renvoie les champs style MJ comme grid_image_url, image_urls, buttons.
À propos de buttons : Pour la plupart des actions de suivi, passez index, direction ou zoom_ratio et le service trouve le customId correspondant. Si l’auto-matching échoue, passez custom_id directement.

Aperçu des statuts

statusSignificationTerminal
NOT_STARTLigne créée, pas encore confirmée par le système (transitoire)Non
SUBMITTEDAcceptée par le système, en fileNon
IN_PROGRESSEn traitement par le systèmeNon
MODALEn attente des paramètres /modal (voir Inpaint)Non
SUCCESSTerminé
FAILUREÉchec → remboursement auto (quota → 0, fail_reason contient la cause)

Notes sur la requête

  • L’endpoint de requête n’est pas facturé séparément, mais gardez une fréquence raisonnable (polling de 3–5s recommandé).
  • Un utilisateur normal ne peut interroger que ses propres tâches ; celles des autres renvoient 403.
  • Les tâches sont conservées 3 jours par défaut ; ensuite, les requêtes renvoient 404, mais les URLs d’image / vidéo générées restent accessibles.

Avancé : utiliser custom_id directement

Après avoir lu buttons[].customId, vous pouvez le passer directement au champ custom_id des endpoints d’actions de suivi pour contourner l’auto-matching :
{
  "task_id": "task_01JWXXXX",
  "custom_id": "MJ::JOB::upsample::1::abc123def456"
}