Zum Hauptinhalt springen
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"
    }
  ]
}
Schließt eine Inpaint-Aufgabe im MODAL-Status mit Maske + Prompt ab. Das System erkennt den Modus automatisch danach, ob mask_url vorhanden ist: mit mask_url → Inpaint (lokales Neuzeichnen); ohne → Outpaint (Erweiterung).
ElementWert
actionMODAL
Abrechnungmidjourney@modal[-speed]
Pflichttask_id
Optionalprompt, mask_url, speed, metadata

Parameter

FeldBeschreibung
task_idLokale Task-ID aus dem inpaint-Schritt (muss im MODAL-Status sein)
promptInpaint-Prompt; wenn leer, wird der Prompt der Parent-Aufgabe übernommen
mask_urlMasken-URL oder base64; erforderlich beim Inpaint (lokales Neuzeichnen). Weiß = neu zu zeichnender Bereich, transparent = Original behalten
speedrelax / fast / turbo
metadataOptionale Metadaten

Masken-Anforderungen

ElementEmpfehlung
FormatPNG mit transparentem Hintergrund (akzeptiert auch data:image/png;base64,...)
AuflösungMöglichst gleich wie das Parent-Bild (das System resized auch automatisch)
Weißer BereichDer neu zu zeichnende Bereich; transparente Bereiche behalten das Original
Größe≤ 12 MiB pro Bild
URLMuss öffentlich erreichbar sein (private Adressen werden per SSRF blockiert)

Request-Beispiel

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

Response

Die task_id bleibt gleich (dieselbe Aufgabe); ihr Status wechselt von MODALSUBMITTED. Pollen Sie GET /v1/tasks/{task_id}; bei SUCCESS enthält image_urls 4 Inpaint-Kandidaten. Die Abrechnung erfolgt bei SUCCESS dieses Endpunkts und wird nicht doppelt mit dem Inpaint-Schritt berechnet. Für speed-spezifische Preise konfigurieren Sie midjourney@modal-fast / midjourney@modal-turbo.