Model
.ai
오픈 AI 모델 추적

ComfyUI의 Apply ControlNet 노드

Apply ControlNet은 가이드 이미지와 로드된 ControlNet을 양수 및 음수 CONDITIONING에 강도와 시작/종료 비율로 붙여서 샘플러가 가이드의 가장자리, 깊이 또는 포즈를 따라가도록 해줘.
노드 팩: ComfyUI core
카테고리: ControlNet과 가이던스
Author: comfyanonymous

Apply ControlNet이(가) 하는 일

Apply ControlNet(새 버전인 ControlNetApplyAdvanced로, Apply ControlNet으로 표시됨)은 양수와 음수 컨디셔닝, CONTROL_NET, 전처리된 가이드 IMAGE, 그리고 최신 버전에서는 VAE를 받아. 이걸로 샘플러에 제어 신호가 담긴 새 컨디셔닝을 반환해. strength는 영향력을 조절하는 값(1.0이 최대), start_percent와 end_percent는 제어가 샘플링의 어느 부분에 적용될지 제한해. 예를 들어 0.0-0.6이면 구성이 초반에 잡히고 모델이 나중에 자유롭게 디테일을 완성하는 거야.
가이드 이미지는 ControlNet이 기대하는 형태여야 해: Canny ControlNet은 검은 배경에 흰색 가장자리, Depth ControlNet은 회색 깊이 맵, OpenPose는 색깔 있는 골격. ControlNet Aux 팩의 전처리기가 사진에서 이런 걸 만들어줘. Tile ControlNet은 가이드가 원본 사진 자체인데, 보통 흐리게 하거나 축소해서 써.

입력

이름
타입
의미
positive / negative
CONDITIONING
CLIP Text Encode 노드에서 받아.
control_net
CONTROL_NET
Load ControlNet Model에서 받아.
image
IMAGE
전처리된 가이드(가장자리, 깊이, 포즈, 또는 Tile용 사진).
vae
VAE
최근 버전에서 선택 사항; 일부 Flux와 Union ControlNet에 필요해.
strength
FLOAT
0-2 사이, 가이드를 얼마나 강하게 따를지. 보통 0.6-1.0 사이.
start_percent / end_percent
FLOAT
제어가 활성화되는 샘플링 구간 비율.

출력

이름
타입
의미
positive
CONDITIONING
KSampler용 제어된 양수 컨디셔닝.
negative
CONDITIONING
KSampler용 제어된 음수 컨디셔닝.

Apply ControlNet 사용법

  1. Load Image로 사진을 불러오고 전처리기(Canny Edge, Depth Anything, DWPose)를 거쳐.
  2. Load ControlNet Model로 맞는 ControlNet을 불러.
  3. Apply ControlNet을 추가하고 positive, negative, control_net, 가이드 이미지를 연결해.
  4. 처음엔 strength를 0.8, end_percent를 0.8로 설정해.
  5. 두 출력을 KSampler의 positive와 negative에 연결하고, latent 크기가 가이드 비율과 맞는지 확인해.

설정과 팁

  • 여러 Apply ControlNet 노드를 연결해(포즈 + 깊이 같이) 한 노드 출력이 다음 노드 입력으로 가도록 해.
  • end_percent를 낮춰(0.5-0.7) 모델이 디테일을 자유롭게 추가하게 하고 딱딱한 따라 그린 느낌을 줄여.
  • 가이드 이미지와 latent는 같은 가로세로 비율을 유지해; 크기가 맞게 조정돼.
  • Tile 업스케일링 땐 strength를 0.5-0.8로 해서 디테일 변화가 남도록 해.
  • 전처리기 출력 미리보기: 검거나 노이즈가 많은 가이드는 대부분 '효과 없음' 문제 원인이야.

Apply ControlNet 문제 해결

결과가 가이드를 무시함

원인
strength가 거의 0이거나 end_percent가 너무 낮거나, 가이드 이미지가 검거나, 타입 없는 Union ControlNet일 때.

해결 방법
가이드를 미리 보고 strength를 0.8-1.0, end_percent를 1.0으로 테스트해봐. 그 다음에 조절해. Union 모델엔 SetUnionControlNetType을 추가해.

오류: mat1과 mat2 모양이 곱해질 수 없음 / ControlNet 불일치

원인
ControlNet 종류가 체크포인트와 안 맞을 때(SD 1.5 vs SDXL vs Flux).

해결 방법
체크포인트와 같은 종류의 ControlNet을 써.

번진 듯한 고대비 포스터화된 이미지

원인
강한 ControlNet(Canny나 Lineart)과 높은 cfg에서 strength가 1 이상일 때.

해결 방법
strength는 0.6-0.9, end_percent는 0.7, cfg는 모델 권장 범위 내로 설정해.

옛날 워크플로우에 "Apply ControlNet (OLD)" 표시됨

원인
단일 컨디셔닝 노드 이름이 바뀌었고, 여전히 작동하지만 시작/종료 제어나 음수 패스가 없음.

해결 방법
Apply ControlNet으로 교체하고 양수와 음수 둘 다 연결해.

Flux ControlNet에서 vae 누락 오류

원인
일부 Flux와 Union ControlNet은 가이드 인코딩에 VAE가 필요함.

해결 방법
Load VAE의 VAE 출력을 Apply ControlNet의 vae 입력에 연결해.

Apply ControlNet에 관한 질문

이미지를 꼭 전처리해야 하나?

응, Tile과 Inpaint ControlNet 빼고는 꼭 해야 해. 각 ControlNet은 특정 맵 종류에 맞게 훈련됐거든.

ControlNet을 img2img에 쓸 수 있나?

응. latent는 VAE Encode에서, 제어는 이 노드에서 받아서 둘은 독립적이야.

ControlNet을 몇 개까지 쌓을 수 있나?

VRAM 허용하는 만큼 가능해; 보통 2~3개가 일반적이야. 개수만큼 메모리랑 시간이 더 들어.

더 많은 ComfyUI 노드