This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

AI Canvas Expand

AI 기반 채우기(아웃페인팅)로 이미지 캔버스를 확장합니다. 이미지를 어느 방향으로든 늘리고 기존 이미지와 어울리는 AI 생성 콘텐츠로 새 영역을 채웁니다.

API 엔드포인트

POST /api/v1/tools/image/ai-canvas-expand

처리: 비동기 (202를 반환하며, SSE를 통해 상태를 위해 /api/v1/jobs/{jobId}/progress을(를) 폴링)

모델 번들: object-eraser-colorize (1-2 GB)

매개변수

매개변수유형필수기본값설명
filefile-이미지 파일 (multipart)
extendTopinteger아니요0위쪽으로 확장할 픽셀 수
extendRightinteger아니요0오른쪽으로 확장할 픽셀 수
extendBottominteger아니요0아래쪽으로 확장할 픽셀 수
extendLeftinteger아니요0왼쪽으로 확장할 픽셀 수
tierstring아니요"balanced"품질 등급: fast, balanced, high
formatstring아니요"auto"출력 형식: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger아니요95출력 품질 (1-100)

확장 방향 중 하나 이상이 0보다 커야 합니다.

요청 예시

bash
curl -X POST http://localhost:1349/api/v1/tools/image/ai-canvas-expand \
  -F "[email protected]" \
  -F 'settings={"extendTop":200,"extendBottom":200,"extendLeft":100,"extendRight":100,"tier":"balanced"}'

응답

초기 응답 (202 Accepted)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

진행 상황 (/api/v1/jobs/{jobId}/progress의 SSE)

event: progress
data: {"phase":"processing","stage":"Expanding canvas...","percent":50}

최종 결과 (SSE를 통해)

json
{
  "phase": "complete",
  "percent": 100,
  "result": {
    "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "downloadUrl": "/api/v1/download/{jobId}/photo_extended.png",
    "previewUrl": "/api/v1/download/{jobId}/preview.webp",
    "originalSize": 300000,
    "processedSize": 520000
  }
}

참고 사항

  • object-eraser-colorize 모델 번들이 설치되어 있어야 합니다 (1-2 GB).
  • LaMa 기반 아웃페인팅을 사용하여 확장된 영역의 콘텐츠를 생성합니다.
  • tier 매개변수는 속도와 품질을 절충합니다. fast은(는) 잠재적 아티팩트와 함께 빠르게 결과를 생성하고, high은(는) 더 오래 걸리지만 더 매끄럽고 일관된 채우기를 생성합니다.
  • 확장 값은 픽셀 단위입니다. 최종 이미지 크기는 다음과 같습니다: 원본 너비 + extendLeft + extendRight, 원본 높이 + extendTop + extendBottom.
  • 브라우저에서 미리 볼 수 없는 출력 형식(HEIC, JXL, TIFF)의 경우, 메인 출력과 함께 WebP 미리보기가 생성됩니다.
  • 자동 디코딩을 통해 HEIC/HEIF, RAW, TGA, PSD, EXR, HDR 입력 형식을 지원합니다.