Saltar para o conteúdo 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"
    }
  ]
}
Conclui uma tarefa de inpaint em estado MODAL fornecendo uma máscara + prompt. O sistema detecta o modo automaticamente conforme mask_url está presente: com mask_url → inpaint (repintura local); sem → outpaint (expansão).
ItemValor
actionMODAL
Cobrançamidjourney@modal[-speed]
Obrigatóriotask_id
Opcionalprompt, mask_url, speed, metadata

Parâmetros

CampoDescrição
task_idID da tarefa local retornado pelo passo inpaint (deve estar em estado MODAL)
promptPrompt de inpaint; se vazio, herda o prompt da tarefa pai
mask_urlURL da máscara ou base64; obrigatório para inpaint (repintura local). Branco = área a repintar, transparente = manter o original
speedrelax / fast / turbo
metadataMetadados opcionais

Requisitos da máscara

ItemRecomendação
FormatoPNG com fundo transparente (também aceita data:image/png;base64,...)
ResoluçãoPreferencialmente igual à imagem pai (o sistema também redimensiona automaticamente)
Área brancaA área a repintar; áreas transparentes mantêm o original
Tamanho≤ 12 MiB por imagem
URLDeve ser publicamente acessível (endereços privados são bloqueados por SSRF)

Exemplo de requisição

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

Response

O task_id permanece o mesmo (a mesma tarefa); seu status passa de MODALSUBMITTED. Pollar GET /v1/tasks/{task_id}; em SUCCESS image_urls contém 4 candidatos de inpaint. A cobrança é liquidada no SUCCESS deste endpoint e não é cobrada em dobro com o passo inpaint. Para precificar por speed, configure midjourney@modal-fast / midjourney@modal-turbo.