항목 Stable Diffusion FLUX
| 생성 원리 | 노이즈 제거 | 방향 이동 |
| 구조 유지 | 약함 | 강함 |
| randomness | 높음 | 낮음 |
| canny 역할 | 강제 | 힌트 |
| 실패 패턴 | 구조 붕괴 | 스타일 미묘함 |
Stable Diffusion + ControlNet
흐물한 반죽
→ 빵틀에 억지로 넣고
→ 틀 모양으로 굳힘
Flux
반죽 만들 때부터
“이건 바게트로 만들 거야”라는
방향과 비율이 이미 정해진 레시피
- 틀은 없음
- 하지만 형태는 유지됨
단계 Stable Diffusion Flux
| canny 사용 위치 | 외부 보정 장치 | 내부 사고 요소 |
| 역할 | 틀, 강제 | 방향 정보 |
| 실패 시 | 구조 붕괴 | 스타일 편차 |
| 수정 방식 | 당김 | 이동 |
어느 정도 이해를 했다.
노드를 뜯어보자.

이 표는 이 링크를 보면 된다. https://docs.comfy.org/tutorials/flux/flux-1-controlnet
ComfyUI Flux.1 ControlNet Examples - ComfyUI
This guide will demonstrate workflow examples using Flux.1 ControlNet.
docs.comfy.org
이 순서들에 대한 설명이 궁금하고 어떤 걸 의미하는 지 gpt에게 물어봤다.
1️⃣ Load VAE node
왜 ae.safetensors를 먼저 로드해야 하나?
VAE의 역할
VAE는 latent ↔ 이미지를 변환하는 장치입니다.
FLUX에서 VAE가 중요한 이유
- FLUX는 고해상도·고정밀 latent를 사용
- SD1.5 / SDXL VAE와 호환 안 됨
- ae.safetensors는 FLUX 전용 AE(AutoEncoder)
❗ 이걸 안 맞추면:
- 색 깨짐
- 디테일 붕괴
- 흐릿한 출력
👉 그래서 제일 먼저 정확한 VAE를 지정하는 것
2️⃣ Load Diffusion Model
왜 flux1-canny-dev.safetensors를 로드하나?
여기서 말하는 “Diffusion Model”의 정체
사실 FLUX는 엄밀히 말해 diffusion이 아님
→ Rectified Flow 기반 생성 모델
하지만 역할은 동일:
- latent를 점진적으로 정제
- canny 구조 + 텍스트 조건 반영
flux1-canny-dev의 의미
- flux1 : FLUX 1세대
- canny : 에지 조건 전용으로 학습됨
- dev : 개발용 / 컨트롤 강한 버전
👉 이 모델 안에 이미
- canny 해석 방식
- 구조 반영 규칙
가 학습돼 있음
❗ 다른 FLUX 모델에 canny 넣어도
“해석 방법” 자체가 다름
3️⃣ DualCLIPLoader node
이게 제일 중요함
왜 “Dual” 인가?
FLUX는 텍스트를 두 단계로 해석합니다.
🔹 clip_l.safetensors
- 짧고 시각적인 표현
- 스타일, 분위기, 재질
- “what it looks like”
🔹 t5xxl_fp16.safetensors
- 문맥·의도·구조적 설명
- 복잡한 문장 이해
- “what it means”
👉 SD1.5 / SDXL과 가장 큰 차이점
텍스트가 ‘보조’가 아니라 ‘구조 지시자’
그래서:
- DualCLIP 없으면 : 프롬프트가 얕아짐 , canny 구조만 따라가는 “무미건조한 결과” 나옴
FLUX는: 픽셀을 베끼지 않음 (“이런 구조구나” 하고 이해함)
그래서: 같은 canny라도 결과가 재해석됨
Flux의 canny 원리 단계
| Load VAE | FLUX 전용 latent ↔ 이미지 변환 |
| Load Diffusion Model | canny 구조 해석 규칙 자체 |
| DualCLIPLoader | 의미(T5) + 시각(CLIP) 결합 |
| Load Image | 구조 정보 제공 |
| Queue | 전체 사고 흐름 실행 |
그럼 이제 이게 어떻게 컨디셔닝/ 조건화 되어서 이미지가 재 생성 되는지 알아보자 .

1️⃣ InstructPixToPixConditioning
“무엇을 어떻게 바꿀 것인가?”
이 노드는 출발점입니다.
역할
- 입력 이미지 + 텍스트를 결합
- **“이 이미지를 이런 방향으로 바꿔라”**라는 지시 생성
- canny / pix2pix / 구조 기반 작업의 핵심
2️⃣ ConditioningZeroOut
( InstructPixToPixConditioning 의 negative에 연결)
“이 조건을 언제, 얼마나 무시할 것인가?”
이 노드는 안전장치이자 조율기입니다.
역할
- conditioning을 필요 시 0으로 만들 수 있게 준비
- 특정 구간에서 조건 영향 제거 가능
왜 필요하냐면…
FLUX는:
- 구조 조건
- 텍스트 조건
- 스타일 조건
을 동시에 씁니다.
근데 항상 다 강하면:
- 과도한 고정
- 딱딱한 결과
- “명령 과잉” 상태 발생
그래서 이 노드는 이렇게 말하는 겁니다:
“이 조건은
필요할 때만 쓰고,
나머지 단계에서는 잠시 꺼둘 수 있게 하자”
👉 조건의 ‘존재 여부’를 제어
3️⃣ FluxGuidance ( InstructPixToPixConditioning postive에 연결)
“이 지시를 얼마나 강하게 따를 것인가?”
이게 FLUX 전용 핵심 노드입니다.
역할
- conditioning에 방향 강도(guidance) 부여
- Stable Diffusion의 CFG와 비슷해 보이지만 개념이 다름
Stable Diffusion의 CFG
“프롬프트를 얼마나 강제로 맞출까?”
FluxGuidance
“이 방향으로
얼마나 세게 이동할까?”
FLUX는:
- 수정 ❌
- 이동 ⭕
이 노드는 그 이동 벡터의 크기를 정합니다.

이미지 생성 실습! 해보자.!

그냥 디폴트 이미지로 생성해서 차이를 보려고 한다.
1. canny 노드를 통해 이미지 생성
2. 프롬프트는 다음과 같은 상태 /
A vibrant red ladybug rests on a blooming deep purple rose with lush, velvety petals. The background is a soft pink, filled with subtly blurred roses of the same pink shade, creating a dreamy and romantic atmosphere.
3. 아래 이미지들은 이제 위의 프롬을 작동 시켜서 나오는 결과값들인데, FluxGuidance에 따라 어떻게 달라지는지 확인해 보고자 한다.
4. Ksampler seed는 픽스




값이 올라갈 때 실제로 바뀌는 것들
🔹 낮은 값 (예: 5~10)
- 구조 느슨
- 스타일 자유
- 프롬프트 의도 일부 누락
🔹 중간 값 (15~30)
- 구조 안정
- 의도 명확
- 가장 많이 쓰이는 구간
🔹 높은 값 (40~60+)
- 의도 고정
- 구조 거의 흔들리지 않음
- 창의적 변주 감소
- “설명서대로 그린 느낌”
⚠️ 그래도:
- SD처럼 깨지지는 않음
- 대신 경직됨
4️⃣ 그래서 canny 작업에서는 왜 높은 값이 자주 나오나
canny는:
- 구조 힌트
- 형태 방향
FluxGuidance를 높이면:
- “이 구조를 유지하는 방향”이 강화됨
- 선을 베끼는 게 아니라
- 형태 의도를 끝까지 유지
그래서:
- 30, 40도 흔히 쓰임
- SD CFG 기준으로 생각하면 안 됨
'SD _ComfyUI' 카테고리의 다른 글
| 003. ControlNet 공부 - Flux는 무엇인가? (0) | 2026.01.31 |
|---|---|
| 002. 실습_스타일 변경 및 적용 / NanobananaPro API를 활용해서. (0) | 2026.01.19 |
| 001. Comfy Cloud - Fashion Editorial Shots templates / NanoBananaPro API node 그리고 그 외 노드 정리 (0) | 2026.01.19 |