ComfyUI에서 마스크 기반 Regional Prompting: 완전한 정밀 제어 가이드 2025
픽셀 완벽한 다중 영역 제어를 위한 ComfyUI 마스크 기반 regional prompting을 마스터하세요. 완전한 워크플로우, 마스크 생성 기술, Flux 호환성 및 고급 합성.

그리드 기반 Regional Prompter에서 마스크 기반 regional prompting으로 전환한 계기는 5개의 불규칙한 모양의 영역이 필요한 클라이언트 프로젝트에서 한계에 부딪혔기 때문입니다. 그리드 기반 접근 방식은 직사각형 분할만 가능하지만, 마스크 기반 기술은 픽셀 수준의 정밀도로 어떤 영역 모양이든 정의할 수 있습니다. 더 좋은 점은, 마스크 기반 접근 방식은 기존 Regional Prompter 확장을 지원하지 않는 Flux 및 기타 모델과도 작동한다는 것입니다.
이 가이드에서는 마스크 생성 및 준비 기술, 복잡한 장면을 위한 멀티 마스크 합성, Flux 전용 구현, Segment Anything을 사용한 자동 마스크 생성, 그리고 regional control에서 외과적 정밀도가 필요한 프로젝트를 위한 프로덕션 워크플로우를 포함한 ComfyUI를 위한 완전한 마스크 기반 regional prompting 워크플로우를 제공합니다.
마스크 기반 Regional Prompting이 그리드 방식을 능가하는 이유
그리드 기반 Regional Prompter(Regional Prompter 가이드에서 다룬)는 이미지를 직사각형 영역으로 나눕니다. 이는 간단한 구성에는 잘 작동하지만, 구성 요소가 직사각형 그리드에 맞지 않을 때는 문제가 생깁니다.
마스크 기반 regional prompting은 그레이스케일 또는 바이너리 마스크를 사용하여 모든 모양의 영역을 정의합니다. 검은색 영역(0)은 하나의 프롬프트를 받고, 흰색 영역(255)은 다른 프롬프트를 받으며, 회색 영역은 비례적으로 프롬프트를 혼합합니다. 이는 프롬프트 적용에 대한 픽셀 수준의 제어를 제공합니다.
무료 ComfyUI 워크플로우
이 글의 기술에 대한 무료 오픈소스 ComfyUI 워크플로우를 찾아보세요. 오픈소스는 강력합니다.
Grid vs Mask-Based Regional Prompting 비교:
- 형태 유연성: Grid (직사각형만), Mask (모든 형태)
- 정밀도: Grid (영역 수준), Mask (픽셀 수준)
- 설정 복잡성: Grid (간단), Mask (중간에서 복잡)
- 모델 호환성: Grid (SD1.5, SDXL만), Mask (Flux를 포함한 모든 모델)
- 처리 오버헤드: Grid (+15-20%), Mask (+10-15%)
마스크 기반 접근 방식이 필수적인 중요한 시나리오:
비직사각형 피사체: 흐르는 머리카락이나 복잡한 실루엣을 가진 캐릭터. 그리드 기반 영역은 캐릭터를 부자연스럽게 자르는 직사각형 경계를 만듭니다. 마스크 기반 영역은 캐릭터의 실제 윤곽을 따릅니다.
정밀한 객체 배치: 특정 위치와 각도에 여러 제품이 있는 제품 사진. 마스크는 형태나 방향에 관계없이 정확한 제품 경계를 정의할 수 있습니다.
Flux 모델 사용: Flux는 전통적인 Regional Prompter 확장을 지원하지 않습니다. 마스크 기반 기술은 Flux로 regional prompting을 수행하는 유일한 방법입니다.
유기적 구성: 불규칙한 지평선이 있는 풍경, 복잡한 형태의 건축물, 직사각형 그리드가 콘텐츠 경계와 맞지 않는 모든 구성.
다층 합성: 겹치는 우선순위를 가진 5개 이상의 영역이 필요한 복잡한 장면. 마스크 기반 접근 방식은 이를 그리드 분할로 강제하는 것보다 더 우아하게 처리합니다.
복잡한 캐릭터 구성으로 이를 테스트했습니다: 건축 배경 앞에 흐르는 망토를 입고 서 있는 사람. 그리드 기반 접근 방식은 인위적으로 보이는 직사각형 망토 경계를 생성했습니다. 손으로 그린 망토 마스크를 사용한 마스크 기반 접근 방식은 캐릭터 및 배경과 완벽하게 통합된 자연스러운 망토 흐름을 생성했습니다.
트레이드오프는 설정 시간입니다. 그리드 기반 regional prompting은 구성하는 데 30초가 걸립니다(그리드 치수와 프롬프트만 지정). 마스크 기반 접근 방식은 고품질 마스크를 만드는 데 5-15분이 필요하지만, 그 투자는 구성 정밀도로 보상받습니다.
ComfyUI에서 마스크 기반 Conditioning 이해하기
워크플로우에 들어가기 전에, ComfyUI가 conditioning을 위해 마스크를 처리하는 방법을 이해하는 것이 필수적입니다.
마스크 값 및 프롬프트 블렌딩:
마스크는 픽셀 값(0-255 또는 정규화된 0.0-1.0)이 프롬프트 영향력을 결정하는 그레이스케일 이미지입니다:
- 값 0 (검은색): 0% 프롬프트 영향력 (대체 프롬프트 또는 기본 conditioning 완전 사용)
- 값 128 (50% 회색): 50% 프롬프트 블렌드 (기본 및 대체 프롬프트를 동등하게 혼합)
- 값 255 (흰색): 100% 프롬프트 영향력 (기본 프롬프트 완전 사용)
이러한 점진적 블렌딩은 하드 엣지가 아닌 영역 간의 부드러운 전환을 만들 수 있게 합니다. 페더링된 엣지(검은색 → 회색 그라데이션 → 흰색)가 있는 마스크는 눈에 보이는 이음새 없이 부드러운 프롬프트 전환을 생성합니다.
Conditioning 적용:
ComfyUI의 conditioning 시스템은 다음 노드를 사용하여 프롬프트에 마스크를 적용합니다:
ConditioningSetMask: 기존 conditioning에 마스크 적용
- conditioning: 마스크를 적용할 프롬프트 conditioning
- mask: 이 conditioning이 적용되는 위치를 정의하는 마스크
- strength: 전체 강도 승수 (0.0-2.0, 기본값 1.0)
- set_cond_area: 마스크된 영역으로만 생성을 제한할지 여부
ConditioningCombine: 여러 마스크된 conditioning 병합
- conditioning_1: 첫 번째 마스크된 conditioning
- conditioning_2: 두 번째 마스크된 conditioning
- method: 결합 방법 (add, average, 또는 multiply)
워크플로우 패턴은 다음과 같습니다:
- 프롬프트 conditioning 생성 (CLIP Text Encode)
- conditioning에 마스크 적용 (ConditioningSetMask)
- 각 영역/프롬프트 쌍에 대해 반복
- 모든 마스크된 conditioning 결합 (ConditioningCombine)
- KSampler에서 결합된 conditioning 사용
마스크 해상도 고려사항:
최적의 결과를 위해 마스크는 생성 해상도와 일치해야 합니다:
생성 해상도 | 마스크 해상도 | 참고 |
---|---|---|
512x512 | 512x512 | 완벽한 일치 |
1024x1024 | 1024x1024 | 완벽한 일치 |
1024x1024 | 512x512 | 작동하지만 덜 정밀함 |
512x512 | 1024x1024 | 불필요, 다운스케일됨 |
생성 해상도보다 낮은 해상도의 마스크는 작동하지만 정밀도가 감소합니다. 생성 해상도보다 높은 해상도의 마스크는 이점이 없고 처리 시간만 낭비합니다.
Latent Space 마스킹:
ComfyUI는 latent space(픽셀 공간에서 8배 다운샘플링)에서 생성을 처리합니다. 512x512 이미지는 latent space에서 64x64입니다. 마스크는 생성 중에 latent 해상도와 일치하도록 자동으로 다운샘플링됩니다.
이는 마스크의 세밀한 디테일(1-2 픽셀 특징)이 latent 다운샘플링 후 정밀하게 보존되지 않을 수 있음을 의미합니다. latent 처리를 통해 신뢰할 수 있게 보존되려면 최소 8-16 픽셀 너비의 특징으로 마스크를 디자인하세요.
마스크 다운샘플링 효과:
얇은 선이나 작은 디테일이 있는 복잡한 마스크는 latent 다운샘플링 중에 정밀도를 잃을 수 있습니다. 대상 해상도에서 마스크를 테스트하여 디테일이 생성 프로세스에서 살아남는지 확인하세요. 디테일이 사라지면 마스크를 단순화하세요.
부드러운 전환을 위한 마스크 페더링:
하드 엣지 마스크(순수한 검은색에서 순수한 흰색, 회색 전환 없음)는 영역이 만나는 곳에 눈에 보이는 이음새를 만듭니다. 엣지에 10-30 픽셀 회색 그라데이션이 있는 페더링된 마스크는 영역을 부드럽게 혼합합니다.
이미지 편집 소프트웨어에서:
- 먼저 하드 엣지 마스크 생성 (검은색과 흰색만)
- 엣지에 반경 10-30 픽셀의 Gaussian Blur 적용
- 결과: 영역 간 부드러운 전환 영역
또는 ComfyUI의 Mask Blur 노드를 사용하여 마스크를 절차적으로 페더링할 수 있습니다:
- mask: 입력 마스크
- blur_radius: 페더 너비(픽셀 단위) (일반적으로 10-30)
기본 마스크 기반 Regional Prompting 워크플로우
기본 마스크 기반 워크플로우는 각 영역에 대해 별도의 마스크를 사용하여 마스크된 conditioning을 통해 다른 프롬프트를 적용합니다. 다음은 2개 영역 구성을 위한 완전한 설정입니다.
필요한 노드:
- Load Checkpoint - 기본 모델
- Load Image - 마스크 이미지 로드
- CLIP Text Encode - 각 영역에 대한 프롬프트
- ConditioningSetMask - conditioning에 마스크 적용
- ConditioningCombine - 마스크된 conditioning 병합
- KSampler - 생성
- VAE Decode 및 Save Image - 출력
두 영역(좌/우 분할)을 위한 워크플로우 구조:
- Load Checkpoint를 사용하여 model, clip, vae를 로드합니다
- Load Image를 사용하여 left_mask.png를 left_mask로 로드합니다
- Load Image를 사용하여 right_mask.png를 right_mask로 로드합니다
- CLIP Text Encode를 사용하여 왼쪽 프롬프트에서 left_conditioning을 생성합니다
- ConditioningSetMask를 사용하여 left_conditioning과 left_mask를 masked_left_conditioning으로 결합합니다
- CLIP Text Encode를 사용하여 오른쪽 프롬프트에서 right_conditioning을 생성합니다
- ConditioningSetMask를 사용하여 right_conditioning과 right_mask를 masked_right_conditioning으로 결합합니다
- ConditioningCombine을 사용하여 masked_left와 masked_right를 combined_conditioning으로 병합합니다
- KSampler를 사용하여 model과 combined_conditioning을 latent로 처리합니다
- VAE Decode로 디코딩하고 Save Image로 저장합니다
마스크 생성:
1024x1024에서 간단한 좌/우 구성의 경우:
왼쪽 마스크 (left_mask.png):
- 왼쪽 절반: 흰색 (255)
- 오른쪽 절반: 검은색 (0)
- 중앙 전환: 부드러운 블렌딩을 위한 20픽셀 회색 그라데이션
오른쪽 마스크 (right_mask.png):
- 왼쪽 절반: 검은색 (0)
- 오른쪽 절반: 흰색 (255)
- 중앙 전환: 20픽셀 회색 그라데이션
모든 이미지 편집 소프트웨어(Photoshop, GIMP, Krita, Procreate)에서 이를 생성할 수 있습니다. PNG 또는 JPG로 저장하세요. 마스크는 순수한 그레이스케일이어야 합니다(색상 없음).
ConditioningSetMask 노드 구성:
왼쪽 영역의 경우:
- conditioning: CLIP Text Encode (왼쪽 프롬프트)에서 연결
- mask: Load Image (left_mask.png)에서 연결
- strength: 1.0 (전체 프롬프트 강도)
- set_cond_area: "default" (전체 생성 영역에 적용)
오른쪽 영역의 경우:
- conditioning: CLIP Text Encode (오른쪽 프롬프트)에서 연결
- mask: Load Image (right_mask.png)에서 연결
- strength: 1.0
- set_cond_area: "default"
Conditioning 결합:
ConditioningCombine 노드:
- conditioning_1: masked_left_conditioning
- conditioning_2: masked_right_conditioning
- method: "concat" 또는 "add" (둘 다 작동, "concat"이 표준)
좌/우 캐릭터 구성을 위한 예시 프롬프트:
왼쪽 프롬프트: "Professional woman with brown hair in red business dress, confident expression, standing pose, natural lighting"
오른쪽 프롬프트: "Professional man with short dark hair in blue business suit, neutral expression, standing pose, natural lighting"
네거티브 프롬프트 (전역 적용, 마스크되지 않음): "blurry, distorted, low quality, bad anatomy, deformed"
생성하고 결과를 확인하세요. 왼쪽은 빨간 드레스의 여성을, 오른쪽은 파란 정장의 남성을 보여주며, 마스크가 함께 페더링되는 중앙에서 부드러운 전환이 있어야 합니다.
기본 워크플로우 문제 해결:
영역에 예상 콘텐츠가 표시되지 않는 경우:
- 마스크가 올바른지 확인 (왼쪽 마스크는 왼쪽이 흰색, 오른쪽 마스크는 오른쪽이 흰색)
- 올바른 ConditioningSetMask 노드에 대한 마스크 연결 확인
- 더 명확한 영역 정의를 위해 KSampler 단계를 25-30으로 증가
- ConditioningCombine이 "concat" 또는 "add"로 설정되었는지 확인
눈에 보이는 이음새가 보이는 경우:
- 마스크 페더링 증가 (마스크를 더 흐리게)
- 마스크 페더 영역이 중간에 겹치는지 확인
- 겹치는 영역에서 마스크 값이 약 1.0으로 합산되는지 확인
수동으로 마스크를 만들지 않고 빠른 마스크 기반 regional prompting을 위해, Apatero.com은 인터페이스에서 직접 영역을 그리고 프롬프트를 할당할 수 있는 내장 마스크 페인팅 도구를 제공하여 외부 이미지 편집 소프트웨어 요구 사항을 제거합니다.
마스크 생성 기술 및 도구
고품질 마스크는 성공적인 마스크 기반 regional prompting의 기초입니다. 다음은 간단한 것부터 복잡한 것까지 체계적인 마스크 생성 접근 방식입니다.
기술 1: 간단한 기하학적 마스크 (5분)
기본 기하학적 영역(좌/우, 상/하, 사분면)의 경우, 모든 이미지 편집기에서 마스크를 빠르게 생성할 수 있습니다.
도구: GIMP, Photoshop, Krita, Procreate, Paint.NET도 가능
프로세스:
- 대상 해상도로 새 이미지 생성 (1024x1024)
- 기본 색상으로 채우기 (보통 배경 영역은 검은색)
- 선택 도구를 사용하여 영역 선택 (직사각형 선택, 타원 선택 등)
- 기본 프롬프트 영역은 흰색(255)으로 선택 영역 채우기
- 엣지를 부드럽게 하기 위해 Gaussian Blur (반경 15-25) 적용
- PNG로 저장
시간: 마스크당 3-5분
최적 용도: 기하학적 영역 분할이 있는 간단한 구성
기술 2: 손으로 그린 마스크 (10-20분)
유기적 형태(캐릭터, 흐르는 요소, 불규칙한 경계)의 경우, 정밀하게 손으로 마스크를 그립니다.
도구: Photoshop, Krita, Procreate (스타일러스 사용), GIMP
프로세스:
- 참조 이미지 또는 구성 스케치 로드
- 마스크용 새 레이어 생성
- 브러시 도구 사용 (초기 페인팅은 하드 엣지 브러시)
- 프롬프트가 적용되어야 하는 곳을 흰색(255)으로 페인팅
- 프롬프트가 적용되지 않아야 하는 곳은 검은색(0)으로 남김
- 페더링을 위해 엣지에 소프트 브러시 또는 블러 필터 사용
- 지우개 도구로 경계 조정
- 마스크 레이어를 그레이스케일 PNG로 저장
시간: 복잡한 마스크당 10-20분
최적 용도: 캐릭터 윤곽, 유기적 형태, 불규칙한 구성 요소
마스크 페인팅 워크플로우 세부 정보는 ComfyUI Mask Editor 가이드를 참조하세요. 이는 regional prompting 마스크 생성에 직접 적용되는 기술을 다룹니다.
기술 3: 선택 기반 마스크 (15-30분)
기존 이미지 콘텐츠를 기반으로 복잡한 영역을 정밀하게 정의하려면 선택 도구를 사용한 다음 마스크로 변환하세요.
도구: Photoshop (최고), GIMP (좋음), Krita
프로세스:
- 참조 이미지 또는 구성 스케치 로드
- 마법 지팡이, 올가미 또는 펜 도구를 사용하여 원하는 영역 선택
- 선택 엣지 정제 (Photoshop에서 Select > Modify > Feather)
- 새 레이어 생성 및 선택 영역을 흰색으로 채우기
- 선택 해제 및 마스크 품질 확인
- 더 부드러운 전환이 필요한 경우 추가 블러 적용
- 그레이스케일 PNG로 저장
시간: 선택 복잡성에 따라 15-30분
최적 용도: 기존 이미지 콘텐츠를 기반으로 영역 정의, 제품 사진, 캐릭터 컷아웃
복잡함을 건너뛰고 싶으신가요? Apatero 는 기술적 설정 없이 즉시 전문 AI 결과를 제공합니다.
기술 4: AI 지원 마스크 생성 (2-5분)
AI 세그멘테이션 도구를 사용하여 참조 이미지에서 마스크를 자동으로 생성합니다.
도구: Segment Anything Model (SAM), Clipdrop, Photoshop Generative Fill
ComfyUI에서 SAM을 사용한 프로세스:
- SAM 커스텀 노드 설치 (ComfyUI-Segment-Anything)
- 참조 이미지 로드
- SAM 노드를 사용하여 피사체 감지 및 세그먼트
- 세그먼트를 마스크로 변환
- 필요한 경우 수동 터치업으로 마스크 정제
- regional prompting에 마스크 사용
시간: 최소한의 수동 정제를 포함하여 2-5분
최적 용도: 빠른 마스크 생성, 수동 마스킹이 시간이 많이 걸리는 복잡한 피사체
기술 5: ComfyUI에서 절차적 마스크 생성
마스크 생성 노드를 사용하여 ComfyUI 내에서 프로그래밍 방식으로 마스크를 생성합니다.
사용 가능한 노드:
- Mask from Color Range: 이미지의 색상 범위에서 마스크 생성
- Depth to Mask: 깊이 맵을 마스크로 변환 (깊이 기반 영역 분할에 유용)
- Solid Color Mask: 단순한 단색 마스크 생성
- Gradient Mask: 부드러운 전환을 위한 그라데이션 마스크 생성
깊이 기반 마스크를 위한 예시 워크플로우:
- Load Reference Image로 참조 이미지를 로드합니다
- Depth Estimator (MiDaS 또는 Zoe)로 깊이 맵을 생성합니다
- Threshold Depth를 사용하여 전경 임계값을 설정합니다
- Mask Blur를 사용하여 엣지를 페더링합니다
- 생성된 마스크를 전경 프롬프트를 위한 영역 마스크로 사용합니다
이는 수동 페인팅 없이 깊이를 기반으로 전경/배경 마스크를 자동으로 생성합니다. 깊이 맵 생성 및 깊이 기반 구성 제어에 대한 자세한 내용은 Depth ControlNet 가이드를 참조하세요.
시간: 설정에 3-5분, 이후 이미지는 자동
최적 용도: 배치 처리, 여러 이미지에 걸친 일관된 마스크 생성, 깊이 기반 구성
마스크 품질 체크리스트:
regional prompting에 마스크를 사용하기 전에 확인:
- 올바른 해상도: 생성 해상도와 일치하거나 2배 (깔끔하게 다운샘플링됨)
- 순수한 그레이스케일: 색상 채널 없음, 휘도 값만
- 부드러운 그라데이션: 의도적인 하드 엣지가 필요하지 않은 한 가혹한 전환 없음
- 적절한 커버리지: 마스크가 의도한 영역을 완전히 커버, 틈이나 섬 없음
- 적절한 페더링: 부드러운 블렌딩을 위한 15-30 픽셀 페더 영역
- 뚜렷한 영역: 겹치는 마스크 균형 (겹치는 영역에서 약 1.0으로 합산)
저품질 마스크(하드 엣지, 틈, 잘못된 해상도, 색상 데이터)는 아티팩트, 눈에 보이는 이음새 또는 프롬프트에 올바르게 응답하지 않는 영역을 생성합니다.
고급 다중 영역 마스크 합성
간단한 2개 영역 워크플로우는 직관적이지만, 4-8개 영역이 있는 복잡한 구성에는 체계적인 마스크 관리 및 조건부 결합이 필요합니다.
4개 이상 영역을 위한 워크플로우 아키텍처:
여러 영역이 있는 구성의 경우, 워크플로우 패턴은 확장됩니다:
각 영역에 대한 단계:
- Load Checkpoint를 사용하여 model과 clip을 로드합니다
- 각 영역 N에 대해 Load Mask를 사용하여 region_N_mask.png를 mask_N으로 로드합니다
- 각 영역 N에 대해 CLIP Text Encode를 사용하여 region_N_prompt에서 conditioning_N을 생성합니다
- 각 영역 N에 대해 ConditioningSetMask를 사용하여 conditioning_N과 mask_N을 masked_cond_N으로 결합합니다
모든 영역 결합: 5. ConditioningCombine을 사용하여 masked_cond_1과 masked_cond_2를 partial_combined_1로 병합합니다 6. ConditioningCombine을 사용하여 partial_combined_1과 masked_cond_3을 partial_combined_2로 병합합니다 7. ConditioningCombine을 사용하여 partial_combined_2와 masked_cond_4를 final_combined로 병합합니다 8. KSampler를 사용하여 model과 final_combined를 Output으로 처리합니다
ConditioningCombine은 두 개의 입력만 허용하므로 N개 영역의 경우 N-1개의 결합 노드가 체인으로 연결되어야 합니다.
마스크 계층 및 우선순위:
마스크가 겹칠 때, 우선순위가 어떤 프롬프트가 지배하는지 결정합니다. 마스크 값을 통해 우선순위를 구현합니다:
높은 우선순위 영역 (피사체): 마스크 값 255 (순수한 흰색), 전체 프롬프트 강도 중간 우선순위 영역 (지원 요소): 마스크 값 180-200 (밝은 회색), 0.7-0.8 프롬프트 강도 낮은 우선순위 영역 (배경): 마스크 값 120-150 (중간 회색), 0.5-0.6 프롬프트 강도
겹치는 영역에서, 더 높은 마스크 값을 가진 높은 우선순위 영역이 지배합니다.
예시: 4명 캐릭터 그룹 장면
구성: 공유 배경이 있는 2×2 배열의 4명. 정밀한 캐릭터 얼굴 일관성 워크플로우는 마스크 기반 regional prompting을 보완하는 전문 얼굴 스왑 가이드를 참조하세요.
필요한 마스크:
- character_1_mask.png: 좌측 상단 캐릭터 윤곽 (흰색 캐릭터, 다른 곳은 검은색)
- character_2_mask.png: 우측 상단 캐릭터 윤곽 (흰색 캐릭터, 다른 곳은 검은색)
- character_3_mask.png: 좌측 하단 캐릭터 윤곽 (흰색 캐릭터, 다른 곳은 검은색)
- character_4_mask.png: 우측 하단 캐릭터 윤곽 (흰색 캐릭터, 다른 곳은 검은색)
- background_mask.png: 캐릭터 영역이 검은색인 전체 이미지 (결합된 캐릭터 마스크의 역)
프롬프트:
- Character 1: "Woman with blonde hair in red dress, smiling, professional portrait"
- Character 2: "Man with dark hair in blue suit, neutral expression, professional portrait"
- Character 3: "Young woman with curly hair in green top, friendly expression, casual portrait"
- Character 4: "Older man with gray hair in brown jacket, serious expression, distinguished portrait"
- Background: "Modern office interior, soft lighting, professional environment, blurred background"
워크플로우:
- 강도 0.7로 배경 마스크+프롬프트 적용 (낮은 우선순위)
- 강도 1.0으로 각 캐릭터 마스크+프롬프트 적용 (높은 우선순위)
- 5개의 모든 마스크된 conditioning 결합
- 생성
캐릭터는 뚜렷한 외관으로 나타나며, 배경은 캐릭터로 덮이지 않은 영역을 채우고 엣지에서 부드럽게 블렌딩됩니다.
마스크 겹침 관리:
마스크가 겹치면 모델은 프롬프트를 비례적으로 혼합합니다. character_1_mask와 character_2_mask가 엣지에서 겹치는 경우 (둘 다 겹치는 영역에서 값 200), 그 영역은 두 캐릭터 프롬프트의 50/50 혼합을 받습니다. 블렌드 영역을 제어하기 위해 페더링을 신중하게 사용하세요.
깊이를 위한 계층화된 마스크 전략:
뚜렷한 깊이 레이어(전경/중간/배경)가 있는 구성의 경우, 불투명도가 감소하는 계층화된 마스크를 생성합니다:
레이어 | 마스크 값 | 프롬프트 강도 | 목적 |
---|---|---|---|
전경 (가장 가까움) | 255 (흰색) | 1.2 | 최대 디테일 및 프롬프트 준수 |
중간 | 200 (밝은 회색) | 1.0 | 표준 디테일 수준 |
배경 (가장 먼) | 140 (중간 회색) | 0.7 | 대기, 덜 디테일 |
이러한 깊이 기반 프롬프팅은 전경이 선명하고 상세하며 배경이 더 부드러운 곳에서 깊이 지각을 자연스럽게 생성합니다.
완벽한 블렌딩 기술:
영역 간 눈에 보이는 이음새가 없는 전문적인 결과를 위해:
겹치는 페더 영역: 모든 마스크가 만나는 곳에 25-40 픽셀 페더 영역이 있는지 확인 균형 잡힌 마스크 합계: 겹치는 영역에서 마스크 값은 약 255로 합산되어야 함 (겹치는 곳에서 mask_A = 180이고 mask_B = 75이면 합계 = 255) 일관된 프롬프팅: 모든 regional 프롬프트에서 유사한 조명/스타일 설명자를 사용하여 영역이 스타일적으로 일치하도록 전역 기본 conditioning: 전체 장면 설명이 있는 약한 전역 conditioning (강도 0.3)을 기초로 추가
절차적 마스크 결합:
체계적인 다중 영역 작업의 경우, 적절한 커버리지를 보장하기 위해 절차적으로 마스크를 생성합니다:
- 1024x1024 크기의 검은색 캔버스를 생성합니다
- 각 영역의 좌표와 프롬프트를 정의합니다 (예: top_left: 0,0,512,512)
- 각 영역에 대해 흰색 영역을 생성합니다
- 각 마스크에 30픽셀 페더링을 적용합니다
- 각 마스크를 해당하는 프롬프트 이름으로 PNG 파일로 저장합니다
이는 마스크가 적절한 페더링으로 완벽하게 타일링되도록 보장하여 틈이나 과도한 겹침을 제거합니다.
Flux 모델을 위한 마스크 기반 Regional Prompting
Flux 모델은 전통적인 Regional Prompter 확장을 지원하지 않아, 마스크 기반 접근 방식이 Flux로 regional prompt 제어를 달성하는 유일한 방법입니다.
Flux 전용 구현:
Flux는 Stable Diffusion과 다른 conditioning 아키텍처를 사용하여 조정된 워크플로우가 필요합니다.
regional 마스크가 있는 Flux를 위한 워크플로우 구조:
- Load Flux Checkpoint를 사용하여 model을 로드합니다
- Load Flux CLIP (듀얼 텍스트 인코더)을 사용하여 clip을 로드합니다
- Load Mask를 사용하여 region_1을 mask_1로 로드합니다
- Load Mask를 사용하여 region_2를 mask_2로 로드합니다
- Flux Text Encode를 사용하여 region_1_prompt와 clip에서 flux_cond_1을 생성합니다
- ConditioningSetMask를 사용하여 flux_cond_1과 mask_1을 masked_flux_cond_1로 결합합니다
- Flux Text Encode를 사용하여 region_2_prompt와 clip에서 flux_cond_2를 생성합니다
- ConditioningSetMask를 사용하여 flux_cond_2와 mask_2를 masked_flux_cond_2로 결합합니다
- ConditioningCombine을 사용하여 masked_flux_cond_1과 masked_flux_cond_2를 combined_flux_cond로 병합합니다
- Flux Sampler를 사용하여 model과 combined_flux_cond를 latent로 처리합니다
- VAE Decode로 디코딩하고 Save Image로 저장합니다
Flux CLIP Text Encoding:
Flux는 듀얼 텍스트 인코더(CLIP-L 및 T5)를 사용합니다. regional prompting의 경우:
- clip_l_prompt: 기본 CLIP 인코딩 (메인 프롬프트 사용)
- t5_prompt: T5 인코딩 (clip_l과 동일하거나 약간의 변형 가능)
regional 작업의 경우, 일관성을 위해 각 영역 내에서 clip_l 및 t5 프롬프트를 동일하게 유지하세요.
Flux 전용 마스크 고려사항:
마스크 강도: Flux는 SD 모델보다 마스크에 더 강하게 반응합니다. 과도하게 제약하지 않으려면 기본 영역에 마스크 값 180-200 (전체 255가 아님)을 사용하세요.
페더링 폭: Flux는 완벽한 블렌딩을 위해 SD(20-30 픽셀)에 비해 더 넓은 페더 영역(40-60 픽셀)의 이점을 얻습니다.
CFG 스케일: Flux는 일반적으로 더 낮은 CFG(3-5)를 사용합니다. regional 마스킹을 사용하면 더 명확한 영역 정의를 위해 5-7로 약간 증가시키세요.
단계: Flux는 더 적은 단계(15-25)가 필요합니다. Regional 마스킹은 SD처럼 단계 증가가 필요하지 않습니다 (SD는 regional 마스크로 30-35 단계의 이점을 얻음).
예시 Flux Regional 워크플로우:
목표: Flux를 사용하여 상세한 전경 피사체와 페인팅 스타일 배경이 있는 풍경 생성.
마스크:
- foreground_mask.png: 중앙의 피사체 윤곽 (흰색 피사체, 다른 곳은 검은색, 50픽셀 페더)
- background_mask.png: 피사체를 뺀 전체 이미지 (전경 마스크의 역)
프롬프트:
- Foreground (Flux Text Encode): "Professional portrait of woman in red dress, photorealistic, detailed facial features, sharp focus, high quality"
- Background (Flux Text Encode): "Abstract watercolor painted background, artistic style, soft colors, dreamy atmosphere"
- Negative: "blurry, distorted, low quality"
Flux Sampler 설정:
- steps: 20
- cfg: 6.5
- sampler: euler (Flux는 euler와 잘 작동)
- scheduler: simple
생성하고 검토하세요. 전경은 포토리얼리스틱하고 배경은 페인터리하여 의도적인 스타일 대비를 만들어야 합니다.
Flux Regional Prompting 제한사항:
Flux의 아키텍처는 regional prompting을 SD 모델보다 덜 정밀하게 만듭니다. Flux로 10-15% 더 많은 영역 번짐을 예상하세요. 더 강한 마스크(더 높은 값), 더 넓은 페더 및 영역 간 더 뚜렷한 프롬프트로 보상하세요.
Flux vs SD Regional Prompting 비교:
측면 | Stable Diffusion | Flux |
---|---|---|
Regional 정밀도 | 9.1/10 | 7.8/10 |
필요한 마스크 페더 | 20-30px | 40-60px |
설정 복잡성 | 중간 | 중간 |
CFG 요구사항 | 7-9 | 5-7 |
필요한 단계 | 25-35 | 15-25 |
전체 품질 | 탁월함 | 매우 좋음 |
최대 regional 제어가 필요한 프로덕션 Flux 작업의 경우, 표준 워크플로우보다 더 나은 영역 격리를 위해 Flux에 최적화된 regional prompting이 있는 Apatero.com을 권장합니다.
Flux Regional Prompting 모범 사례:
- 마스크 대비 증가: 더 나은 제어를 위해 값 0 및 220-240 (255가 아님) 사용
- 영역 수 단순화: Flux로 최대 3-4개 영역으로 제한 (5개 이상은 예측 불가능)
- 뚜렷한 프롬프트: regional 프롬프트를 매우 다르게 만들기 (포토리얼리스틱 vs 페인팅, 미묘한 스타일 변화 아님)
- 더 높은 CFG: Flux의 일반적인 3-5 대신 CFG 6-7 사용
- 마스크 테스트: 프롬프트를 추가하기 전에 마스크 시각화만으로 테스트 이미지 생성
커스텀 트레이닝을 통한 향상된 Flux 제어를 위해, 마스크 기반 regional prompting과 결합하여 최대 정밀도를 달성할 수 있는 Ultra Real Flux LoRAs 컬렉션을 탐색하세요.
프로덕션 워크플로우 및 자동화
마스크 기반 regional prompting은 마스크 생성 및 워크플로우 실행을 체계화할 때 프로덕션에 실용적이 됩니다.
워크플로우 템플릿 시스템:
일반적인 구성을 위해 재사용 가능한 템플릿을 생성합니다:
템플릿 1: 나란히 있는 2개 캐릭터
- 마스크: left_character.png, right_character.png, shared_background.png
- 프롬프트: Character A 설명, Character B 설명, Environment 설명
- 파라미터: 1024x1024, 30 steps, CFG 8, 30px feather
템플릿 2: 배경이 있는 히어로 샷
- 마스크: hero_subject.png, background.png
- 프롬프트: 상세한 피사체 설명, Background environment
- 파라미터: 1024x1536 portrait, 35 steps, CFG 7.5, 40px feather
템플릿 3: 제품 카탈로그 (4개 제품)
- 마스크: product_1.png ~ product_4.png, background.png
- 프롬프트: 개별 제품 설명, White/gray background
- 파라미터: 2048x2048, 40 steps, CFG 9, 25px feather
이를 ComfyUI 워크플로우 JSON 파일로 저장합니다. 새 프로젝트의 경우, 템플릿을 로드하고 프롬프트 + 마스크만 업데이트하여 모든 노드 연결 및 파라미터를 유지합니다.
배치 마스크 생성 스크립트:
유사한 마스크가 여러 개 필요한 프로젝트(제품 카탈로그, 캐릭터 시트)의 경우, 마스크 생성을 스크립트로 작성합니다:
4사분면 마스크 생성 단계:
- PIL 라이브러리에서 Image와 ImageFilter를 임포트합니다
- 1024x1024 해상도와 30픽셀 페더링으로 함수를 정의합니다
- 각 사분면의 위치를 정의합니다 (top_left: 0,0 / top_right: 512,0 / bottom_left: 0,512 / bottom_right: 512,512)
- 각 위치에 대해 그레이스케일 이미지를 생성합니다
- 해당 사분면 영역을 흰색(255)으로 채웁니다
- GaussianBlur를 사용하여 페더링을 적용합니다 (반경 30)
- 각 마스크를 해당 이름으로 PNG 파일로 저장합니다
- 함수를 실행하여 모든 사분면 마스크를 생성합니다
한 번 실행하여 2×2 그리드 레이아웃을 위한 모든 마스크를 생성한 다음, 사분면 구성이 필요한 모든 프로젝트에 재사용합니다.
자동화된 워크플로우 실행:
대량 프로덕션의 경우, ComfyUI API로 자동화합니다:
API 자동화 단계:
- requests와 json 라이브러리를 임포트합니다
- 프롬프트, 마스크 경로, 워크플로우 템플릿을 매개변수로 받는 함수를 정의합니다
- 워크플로우 템플릿 JSON 파일을 로드합니다
- 각 프롬프트에 대해 워크플로우의 프롬프트 텍스트를 업데이트합니다
- 각 마스크에 대해 워크플로우의 마스크 경로를 업데이트합니다
- localhost:8188의 ComfyUI API에 POST 요청으로 워크플로우를 제출합니다
- API 응답을 JSON으로 반환받습니다
- 루프를 사용하여 10개의 변형을 배치 생성합니다 (각각 다른 캐릭터 프롬프트, 동일한 마스크 사용)
이는 동일한 마스크 기반 regional 제어로 10개의 캐릭터 변형을 생성하지만 프롬프트는 다양합니다.
품질 보증 체크리스트:
마스크 기반 regional 작업을 제공하기 전에:
- 눈에 보이는 이음매 없음: 아티팩트 또는 하드 엣지가 있는지 모든 영역 경계 확인
- 프롬프트 정확성: 각 영역이 특정 프롬프트와 일치하는 콘텐츠를 표시
- 영역 번짐 없음: Character A가 Character B의 속성을 갖지 않음
- 일관된 조명: 영역 간 조명 방향/품질 일치 (의도적으로 변경하지 않는 한)
- 마스크 커버리지 완료: 프롬프트가 적용되지 않는 틈이나 섬 없음
- 적절한 해상도: 클라이언트 사양 충족 (인쇄 vs 웹)
수정 워크플로우:
클라이언트가 특정 영역에 대한 변경을 요청할 때:
- 변경이 필요한 영역 식별 (캐릭터 얼굴, 배경 등)
- 해당 영역의 프롬프트만 수정
- 다른 모든 프롬프트 및 마스크를 동일하게 유지
- 동일한 시드로 재생성 (결정론적 결과가 필요한 경우)
- 수정된 영역만 변경되고 나머지는 일관성 유지
이러한 외과적 수정 능력은 클라이언트 작업을 위한 마스크 기반 regional prompting의 킬러 기능입니다.
마스크 기반 Regional Prompting 문제 해결
마스크 기반 워크플로우는 특정하고 인식 가능한 패턴으로 실패합니다. 문제와 해결책을 알면 시간 낭비를 방지할 수 있습니다.
문제: 영역 간 눈에 보이는 이음매 또는 하드 엣지
이음매는 한 영역이 다른 영역과 만나는 곳에 명확한 선으로 나타납니다.
원인 및 수정:
- 불충분한 페더링: 마스크 블러를 30-50 픽셀로 증가
- 마스크가 겹치지 않음: 페더 영역이 10-20 픽셀 겹치도록 확인
- 경계에서 충돌하는 프롬프트: 두 regional 프롬프트에 공유 스타일/조명 설명자 추가
- 해상도 불일치: 마스크가 생성 해상도와 일치하는지 확인
- CFG가 너무 높음: 더 부드러운 경계를 위해 CFG를 9-10에서 7-8로 감소
문제: 영역이 프롬프트를 무시하거나 콘텐츠 교환
한 영역이 다른 영역의 프롬프트에서 콘텐츠를 표시합니다.
수정:
- 마스크 연결 확인: mask_1이 conditioning_1에 연결되는지 확인, 교환되지 않음
- 마스크 극성 확인: 흰색은 프롬프트가 적용되는 곳이어야 함, 반전되지 않음
- 프롬프트 차별성 증가: 프롬프트를 서로 더 다르게 만들기
- conditioning 강화: ConditioningSetMask 강도를 1.2-1.5로 증가
- 구성 단순화: 5개 이상의 영역이 혼란을 야기하는 경우 영역 수 감소
문제: 한 영역이 전체 이미지를 지배
한 영역의 콘텐츠가 모든 곳에 나타나 다른 영역을 압도합니다.
수정:
- 지배적인 영역의 마스크 값 감소: 255를 180-200으로 변경
- 다른 영역의 마스크 값 증가: 약한 영역을 220-240으로 강화
- 마스크 합계 확인: 겹치는 영역에서 총계가 255를 크게 초과하지 않는지 확인
- 프롬프트 강도 재조정: 지배적인 영역의 ConditioningSetMask 강도를 0.7-0.8로 감소
- 지배적인 프롬프트 단순화: 다른 영역으로 번지는 강한 키워드 제거
문제: 마스크가 로드되지 않거나 오류 표시
ComfyUI가 마스크를 로드하지 못하거나 마스크 처리 중 오류를 발생시킵니다.
수정:
- 마스크 형식 확인: PNG 또는 JPG여야 하며, 일부 노드는 특정 형식 필요
- 마스크가 그레이스케일인지 확인: RGB 색상 데이터 없음, 휘도 채널만
- 파일 경로 확인: 마스크 파일 경로가 올바르고 액세스 가능한지 확인
- 마스크 해상도 확인: 매우 큰 마스크(4K+)는 문제를 일으킬 수 있음, 생성 해상도에 맞게 리사이즈
- 워크플로우 다시 로드: 때때로 노드 상태가 손상됨, 워크플로우 파일 다시 로드
문제: 전체 이미지가 흐리거나 저품질
마스크 기반 regional prompting을 사용할 때 출력 품질이 저하됩니다.
원인:
- 너무 많은 영역: 6개 이상의 영역은 품질을 감소시킬 수 있음, 최대 4-5개로 단순화
- 과도하게 페더링된 마스크: 과도한 블러(80+ 픽셀)는 전체 선명도 감소
- 저해상도 마스크: 생성 해상도의 50% 마스크는 정밀도 손실
- 충돌하는 regional 프롬프트: 모순되는 스타일은 모델이 타협하도록 강요하여 품질 감소
- 단계가 너무 적음: 마스크된 워크플로우의 경우 20에서 30-35로 증가
문제: 배경이 전경으로 번지거나 그 반대
배경 요소가 전경 영역에 나타나거나 전경 피사체가 배경으로 확장됩니다.
수정:
- 전경 마스크 강화: 전경 마스크 값을 240-255로 증가
- 배경 마스크 강도 약화: 배경의 ConditioningSetMask 강도를 0.6-0.7로 감소
- 페더 폭 증가: 역설적으로, 더 넓은 페더는 때때로 더 부드러운 전환을 만들어 번짐을 감소
- 우선순위 마스킹 사용: ConditioningCombine 체인에서 배경 후 전경 conditioning 적용
- 프롬프트 단순화: 여러 영역에 적용될 수 있는 모호한 키워드 제거
문제: Flux 전용 regional prompting이 좋지 않은 결과 생성
워크플로우는 SD에서 작동하지만 Flux에서 실패합니다.
Flux 전용 수정:
- 마스크 대비 감소: 0과 255 대신 0과 220 사용
- 페더링 증가: 페더 폭을 두 배로 (30px → 60px)
- CFG 낮추기: 마스크가 있는 Flux는 CFG 5-7에서 가장 잘 작동, 더 높지 않음
- 더 적은 영역: Flux로 최대 3개 영역으로 제한
- 더 간단한 프롬프트: Flux regional prompting은 복잡한 프롬프트에 어려움을 겪음, 설명 단순화
최종 생각
마스크 기반 regional prompting은 픽셀 수준의 정확도가 설정 속도보다 중요한 AI 생성의 구성 제어에서 정밀한 끝을 나타냅니다. 마스크 생성에 대한 투자(구성당 5-20분)는 무엇이 어디에 나타나는지에 대한 외과적 제어로 보상받습니다.
그리드 기반 접근 방식에 비해 중요한 장점은 형태 유연성입니다. 구성이 직사각형 그리드에 맞지 않을 때(대부분의 흥미로운 구성은 맞지 않음), 마스크 기반 접근 방식은 깔끔한 결과를 얻을 수 있는 유일한 경로를 제공합니다. Flux 호환성의 추가 이점은 전통적인 regional prompt 확장을 지원하지 않을 수 있는 새로운 모델이 등장함에 따라 이 접근 방식을 미래 지향적으로 만듭니다.
일관되고 복잡한 구성(제품 카탈로그, 캐릭터 중심 콘텐츠, 혼합 스타일 일러스트레이션, 정밀한 요소 배치가 있는 건축 시각화)이 필요한 프로덕션 작업의 경우, 마스크 기반 regional prompting은 "고급 기술"에서 "필수 능력"으로 이동합니다. 마스크 생성 및 워크플로우 설정이 자연스러워지면 3-5개 프로젝트 후 워크플로우가 일상이 됩니다.
마스크가 프롬프트 적용에 어떻게 영향을 미치는지 내재화하기 위해 간단한 2개 영역 구성(전경/배경, 좌/우 캐릭터 분할)으로 시작하세요. 편안함이 생기면 3-4개 영역 구성으로 진행하세요. 절대적으로 필요한 경우 5개 이상 영역 구성을 예약하세요. 복잡성은 4-5개 영역을 넘어 기하급수적으로 증가하기 때문입니다.
이 가이드의 기술은 기본 마스크 생성부터 고급 다중 영역 합성 및 Flux 전용 구현까지 모든 것을 다룹니다. 외부 소프트웨어에서 마스크를 만들어 가져오든 ComfyUI의 마스크 생성 노드를 사용하든, 핵심 원칙은 동일합니다 - 마스크는 픽셀 수준의 정밀도로 프롬프트가 적용되는 위치를 정의합니다.
로컬에서 마스크 기반 워크플로우를 구축하든 외부 소프트웨어 없이 단일 인터페이스에서 통합된 마스크 페인팅 및 regional prompting을 제공하는 Apatero.com을 사용하든, 마스크 기반 regional prompting을 마스터하면 구성 제어가 "대략적"에서 "정확"으로 향상됩니다. 이러한 정밀도는 AI 생성 애플리케이션이 창의적 탐색에서 구성이 사양과 정확히 일치해야 하는 상업적 프로덕션으로 이동함에 따라 점점 더 필수적입니다.
ComfyUI 마스터 - 기초부터 고급까지
완전한 ComfyUI 기초 과정에 참여하여 기본부터 고급 기술까지 모든 것을 배우세요. 일회성 결제로 평생 액세스 및 모든 새 모델과 기능 업데이트 제공.
관련 기사

ComfyUI 초보자가 가장 많이 겪는 10가지 실수와 2025년 해결 방법
초보 사용자들을 좌절시키는 상위 10가지 ComfyUI 초보자 함정을 피하세요. VRAM 오류, 모델 로딩 문제, 워크플로우 문제에 대한 완벽한 문제 해결 가이드입니다.

Anisora v3.2로 360도 애니메 회전: ComfyUI 완전한 캐릭터 회전 가이드 2025
ComfyUI에서 Anisora v3.2로 360도 애니메이션 캐릭터 회전을 마스터하세요. 카메라 궤도 워크플로우, 멀티뷰 일관성 및 전문적인 턴어라운드 애니메이션 기술을 배웁니다.

기본 탑재되어야 할 7가지 ComfyUI 커스텀 노드 (획득 방법 포함)
2025년 모든 사용자가 필요로 하는 필수 ComfyUI 커스텀 노드. WAS Node Suite, Impact Pack, IPAdapter Plus 및 기타 획기적인 노드에 대한 완전한 설치 가이드.