Passer au contenu principal
POST
/
v1
/
midjourney
/
generations
/
modal
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/modal \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "task_id": "task_01KQW1N9T6E3AHW6QZFDEK8M5C",
    "prompt": "replace the selected area with a red leather sofa",
    "mask_url": "https://example.com/mask.png",
    "speed": "fast"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/modal \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "task_id": "task_01KQW1N9T6E3AHW6QZFDEK8M5C",
    "prompt": "replace the selected area with a red leather sofa",
    "mask_url": "https://example.com/mask.png",
    "speed": "fast"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
Termine une tâche d’inpaint en état MODAL en fournissant un masque + prompt. Le système détecte le mode automatiquement selon la présence de mask_url : avec mask_url → inpaint (retouche locale) ; sans → outpaint (extension).
ItemValeur
actionMODAL
Facturationmidjourney@modal[-speed]
Requistask_id
Optionnelprompt, mask_url, speed, metadata

Paramètres

ChampDescription
task_idID de tâche local retourné par l’étape inpaint (doit être en état MODAL)
promptPrompt d’inpaint ; si vide, hérite du prompt de la tâche parente
mask_urlURL du masque ou base64 ; requis pour l’inpaint (retouche locale). Blanc = zone à repeindre, transparent = conserver l’original
speedrelax / fast / turbo
metadataMétadonnées optionnelles

Exigences du masque

ItemRecommandation
FormatPNG à fond transparent (accepte aussi data:image/png;base64,...)
RésolutionDe préférence identique à l’image parente (le système redimensionne aussi automatiquement)
Zone blancheLa zone à repeindre ; les zones transparentes conservent l’original
Taille≤ 12 MiB par image
URLDoit être accessible publiquement (les adresses privées sont bloquées par SSRF)

Exemple de requête

{
  "task_id": "task_01KQW1N9T6E3AHW6QZFDEK8M5C",
  "prompt": "replace the selected area with a red leather sofa",
  "mask_url": "https://example.com/mask.png",
  "speed": "fast"
}

Réponse

Le task_id ne change pas (même tâche) ; son état passe de MODALSUBMITTED. Sondez GET /v1/tasks/{task_id} ; en cas de SUCCESS, image_urls contient 4 candidats d’inpaint. La facturation est réglée au SUCCESS de cet endpoint et n’est pas facturée deux fois avec l’étape inpaint. Pour tarifer par speed, configurez midjourney@modal-fast / midjourney@modal-turbo.