inpaint-flow

세부 정보

파일 다운로드

모델 설명

【SDXL 인페인트 워크플로우】

※이미지는 YNS-Real로 생성한 후부 씨를 Nanobanana Pro로 편집한 뒤, 본 워크플로우를 적용했습니다.

이미지는 YNS-Real로 생성하고, Nanobanana Pro로 편집한 후 이 워크플로우를 통해 처리되었습니다.


1. 개요

이 워크플로우는 Nanobanana Pro로 생성된 4K 해상도 이미지를 SDXL 기반 모델로 4K 해상도 그대로 인페인트하기 위해 제작되었습니다.

일반적으로 고해상도 인페인트를 수행하면 이중 이미지(고스트) 현상이 자주 발생하지만, 커스텀 노드를 병용함으로써 이 문제를 효과적으로 방지할 수 있습니다.

이 워크플로우는 Nanobanana Pro로 생성된 4K 품질 이미지를 사용하여 SDXL 기반 모델로 4K 해상도 인페인트를 수행하기 위해 제작되었습니다.

고해상도에서 일반 인페인트를 수행할 경우 이중 이미지(고스트) 현상이 자주 발생합니다.
커스텀 노드를 활용하면 이 문제를 효과적으로 방지할 수 있습니다.


2. 버전 차이점

v1.0:

  • 수동으로 마스크를 생성해야 합니다.

  • 수동으로 조정 가능하므로 세밀한 영역 지정이 가능합니다.

v1.1:

  • 텍스트로 마스크 영역을 지정할 수 있습니다.

  • 사용이 간편하지만, 마스크가 누락되는 경우가 있으므로 mask_expand_pixels 값을 크게 설정해야 합니다.

  • 마스크 영역을 지정할 때는 단순히 “a bikini”라고 입력하는 것보다, “a blue bikini”처럼 색상을 명시하거나, “a blue bikini top and bottom”, “a blue bikini set”처럼 더 구체적으로 지정하는 것이 더 나은 결과를 얻기 쉽습니다.

※노드 이름 일부에 오타가 있지만, 그대로 사용해도 문제 없습니다.

v1.0:

  • 수동 마스크 생성이 필요합니다.

  • 수동 조정으로 미세한 영역 지정이 가능합니다.

v1.1:

  • 텍스트 입력을 통해 마스크 영역을 지정할 수 있습니다.

  • 사용이 간편하지만, 마스크 누락이 발생할 수 있으므로 mask_expand_pixels 값을 크게 설정하는 것이 권장됩니다.

  • 마스크 영역을 지정할 때 “a bikini”처럼 단순히 입력하는 것보다, “a blue bikini”, “a blue bikini top and bottom”, “a blue bikini set”처럼 색상이나 특정 의상 부위를 구체적으로 명시하는 것이 더 나은 결과를 얻기 쉽습니다.

Note: 일부 노드 이름이 잘못 표기되어 있지만, 기능에는 영향이 없습니다.


3. 특징

이 워크플로우의 가장 큰 특징은
“일반적인 SDXL 모델을 인페인트 전용 모델처럼 사용할 수 있다”는 점입니다.

이를 통해 선호하는 모델로 고해상도 인페인트를 안정적으로 수행할 수 있습니다.

내부적으로는 마스크 영역을 잘라내기 → 잘라낸 부분만 인페인트 → 원본 이미지에 다시 붙여넣는 과정이 수행됩니다.

이 워크플로우의 핵심 기능은
“일반적인 SDXL 모델을 인페인트 전용 모델처럼 활용할 수 있다”는 점입니다.

이를 통해 원하는 모델로 고해상도 인페인트를 안정적으로 수행할 수 있습니다.

내부적으로는 마스크 영역을 잘라내기 → 잘라낸 부분만 인페인트 → 원본 이미지에 다시 붙여넣는 과정이 수행됩니다.


4. 핵심 노드 ‘Inpaint Crop’ 설명 (번역 포함)

영어를 읽을 수 있는 분들은 ComfyUI-Inpaint-CropAndStitch GitHub 페이지에서 매개변수에 대한 상세 설명을 확인할 수 있습니다.
아래는 참고를 위한 간단한 일본어 요약입니다.

마지막에는 참조 이미지와 각 커스텀 노드의 URL을 제공합니다.

아래는 GitHub에 기재된 매개변수의 한국어 번역입니다.

■ downscale_algorithm / upscale_algorithm

이미지를 축소 또는 확대할 때 사용할 리사이즈(보간) 알고리즘을 지정합니다.


■ preresize

크롭 전 입력 이미지를 리사이즈합니다.

  • 최소 해상도를 충족하기 위한 확대

  • 최대 해상도를 초과하지 않도록 하는 축소

  • 두 가지를 조합한 리사이징

입력 이미지의 해상도를 일정 범위로 통일할 때 유용합니다.


■ mask_fill_holes

마스크 내부의 구멍(닫힌 영역)을 완전히 메울지 여부를 지정합니다.
이 경우 둘러싸인 영역도 마스크로 처리됩니다.


■ mask_expand_pixels

지정된 픽셀 수만큼 마스크를 외부로 확장합니다.


■ mask_invert

마스크를 반전시켜, 일반적인 방식과 반대로 “마스크된 영역을 처리 대상”으로 지정합니다.


■ mask_blend_pixels

스티칭용 마스크를 지정된 픽셀 수만큼 확장하고 블러 처리합니다.
경계가 자연스럽게 융합됩니다.


■ mask_hipass_filter

지정된 값보다 낮은 마스크 값을 무시합니다.
“거의 검정” 영역이 실수로 마스크로 처리되는 것을 방지합니다.


■ extend_for_outpainting

마스크를 상하좌우로 임의의 배율로 확장합니다.

  • 1보다 큰 값: 아웃페인팅(확장)

    • 예: 2 → 이미지 크기와 동일한 폭으로 확장
  • 1보다 작은 값: 크롭(축소)

    • 예: 0.75 → 25%만큼 제거

■ context_from_mask_extend_factor

마스크 크기에 비해 주변 컨텍스트(참조 영역)를 얼마나 확장할지 지정합니다.

  • 1: 확장하지 않음

  • 2: 마스크 크기와 동일한 만큼 모든 방향으로 확장


■ output_resize_to_target_size

크롭 후 이미지를 지정된 해상도로 강제 리사이즈합니다.
최종적으로 스티칭 노드에서 자연스럽게 통합됩니다.


■ output_padding

출력 이미지의 너비와 높이를 지정된 값의 배수로 정렬합니다.
많은 모델은 8/16/32의 배수를 요구합니다.


5. 권장 설정

인페인트 영역 및 입력 이미지 해상도에 따라 위 매개변수의 최적값은 달라집니다.
또한 KSampler 설정도 사용하는 모델에 따라 조정해야 합니다.

위 매개변수의 최적값은 인페인트 영역 및 입력 이미지 해상도에 따라 달라질 수 있습니다.
KSampler 설정도 사용하는 모델에 따라 조정해 주세요.

아래는 v1.1 버전 기준입니다

mask_expand_pixels: 64 (16~64?)

mask_blend_pixels: 32

896×1200

mask_expand_pixels: 512 (128~512?)

mask_blend_pixels: 128

3584×4800


6. 사용 노드 목록

공통 (v1.0 / v1.1 모두 공통)

v1.1 전용 추가

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.