메인 콘텐츠로 건너뛰기
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"
    }
  ]
}
MODAL 상태의 인페인트 작업에 mask + prompt를 보충해 완료합니다. 시스템이 mask_url 유무로 모드를 자동 판단합니다: mask_url 있음 → 인페인트(국소 재작업), 없음 → 아웃페인트(확장).
항목내용
actionMODAL
과금midjourney@modal[-speed]
필수task_id
선택prompt, mask_url, speed, metadata

파라미터

필드설명
task_idinpaint 단계에서 반환된 로컬 작업 ID(MODAL 상태여야 함)
prompt인페인트 프롬프트. 비우면 부모 작업의 prompt를 상속
mask_url마스크 이미지 URL 또는 base64. 인페인트(국소 재작업)일 때 필수. 흰색=다시 그릴 영역, 투명=원본 유지
speedrelax / fast / turbo
metadata선택

mask 요구사항

항목권장
형식투명 배경 PNG(data:image/png;base64,...도 지원)
해상도부모 이미지와 동일 해상도 권장(시스템도 자동 resize)
흰색 영역다시 그릴 위치. 투명 영역은 원본 유지
크기장당 ≤ 12 MiB
URL공개 접근 가능해야 함(사설 주소는 SSRF로 차단)

요청 예시

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

응답

task_id는 그대로입니다(같은 작업). status가 MODALSUBMITTED로 바뀝니다. GET /v1/tasks/{task_id}를 폴링하면 SUCCESS 시 image_urls에 4개의 인페인트 후보가 들어 있습니다. 과금은 이 엔드포인트의 SUCCESS 시 정산되며 inpaint 단계와 중복 청구되지 않습니다. 속도별 과금을 구분하려면 midjourney@modal-fast / midjourney@modal-turbo를 설정할 수 있습니다.