1. 워크플로우 개요
ComfyUI의 기본 워크플로우는 이미지 생성을 위한 필수적인 구성요소들을 모두 포함하고 있습니다. 전체 워크플로우는 다음과 같은 8개의 주요 노드로 구성됩니다:
- Load Checkpoint (#4)
- Load VAE (#3)
- CLIP Text Encode (Prompt) (#1, #2)
- Empty Latent Image (#8)
- KSampler (#5)
- VAE Decode (#6)
- Preview Image (#7)
2. 노드별 상세 설명
2.1 Load Checkpoint (#4)
기능과 역할:
- Stable Diffusion 모델을 로드하는 시작점
- 이미지 생성의 기반이 되는 사전 학습된 가중치 로드
- MODEL, CLIP, VAE 세 가지 출력 제공
주요 특징:
- 모델 선택이 전체 이미지 생성 품질에 직접적 영향
- SDXL, SD 1.5, SD 2.1 등 다양한 모델 지원
- safetensors 형식 사용으로 보안성 강화
2.2 Load VAE (#3)
기능과 역할:
- Variational AutoEncoder 로드
- 잠재 공간과 이미지 공간 간의 변환 담당
- 이미지 품질에 중요한 영향을 미침
특징:
- 독립적인 VAE 사용으로 성능 최적화 가능
- 모델별 최적화된 VAE 선택 가능
- 메모리 효율성 개선
2.3 CLIP Text Encode (Prompt) (#1, #2)
기능:
- 텍스트 프롬프트를 모델이 이해할 수 있는 형태로 인코딩
- 긍정적 프롬프트와 부정적 프롬프트 각각 처리
- CONDITIONING 출력 생성
주요 특징:
- 두 개의 독립적인 인코더 사용
- 프롬프트의 품질이 결과물에 직접적 영향
- CLIP 모델의 토큰 제한 고려
2.4 Empty Latent Image (#8)
기능과 역할:
- 초기 노이즈 이미지 생성
- 이미지 크기와 배치 설정
- 생성 프로세스의 시작점 제공
중요 매개변수:
- width: 이미지 너비 (픽셀)
- height: 이미지 높이 (픽셀)
- batch_size: 동시 생성 이미지 수
2.5 KSampler (#5)
- seed: 765996669000407
- control_after_generate: randomize
- steps: 30
- cfg: 3.0
- sampler_name: euler
- scheduler: normal
- denoise: 1.00
핵심 기능:
- 실제 이미지 생성 프로세스 수행
- 노이즈에서 점진적으로 이미지 생성
- 다양한 매개변수를 통한 생성 과정 제어
주요 매개변수 설명:
- seed
- 이미지 생성의 시작점 결정
- 동일한 결과 재현 가능
- randomize 설정으로 매번 새로운 결과 생성
- steps
- 노이즈 제거 단계 수
- 높을수록 세밀한 디테일 생성
- 일반적으로 20-30 단계가 최적
- cfg (Classifier Free Guidance)
- 프롬프트 준수 강도 조절
- 높을수록 프롬프트에 충실
- 3.0-9.0 사이가 일반적
- sampler_name
- 노이즈 제거 알고리즘 선택
- euler: 빠르고 안정적
- 다른 옵션: euler_ancestral, dpm++, ddim 등
- scheduler
- 노이즈 제거 타이밍 제어
- normal: 표준 스케줄링
- karras: 개선된 품질
- denoise
- 노이즈 제거 강도
- 1.0: 완전한 노이즈 제거
- img2img에서 중요
2.6 VAE Decode (#6)
- samples: KSampler에서 생성된 잠재 이미지
- vae: Load VAE에서 로드된 VAE 모델
기능과 역할:
- 잠재 공간의 이미지를 실제 이미지로 변환
- VAE를 사용한 디코딩 수행
- 최종 이미지 품질에 직접적 영향
특징:
- 고품질 디코딩을 위한 최적화
- VAE 모델에 따른 결과물 차이
- 메모리 사용량 고려 필요
2.7 Preview Image (#7)
기능:
- 생성된 이미지 미리보기 제공
- 결과물 실시간 확인
- 이미지 저장 가능
3. 데이터 흐름 이해하기
워크플로우의 데이터 흐름은 다음과 같은 순서로 진행됩니다:
- 초기화 단계
- Checkpoint 로드
- VAE 로드
- CLIP 모델 준비
- 프롬프트 처리
- 텍스트 입력
- CLIP 인코딩
- Conditioning 생성
- 이미지 생성 준비
- 잠재 이미지 생성
- 매개변수 설정
- 생성 과정
- KSampler에서 이미지 생성
- 잠재 공간에서 작업
- 최종 처리
- VAE 디코딩
- 이미지 시각화
4. 매개변수 설정 가이드
4.1 이미지 크기 최적화
권장 설정:
- SDXL: 1024x1024
- SD 1.5: 512x512
- SD 2.1: 768x768
고려사항:
- 메모리 사용량
- 생성 속도
- 품질 트레이드오프
4.2 프롬프트 엔지니어링
효과적인 프롬프트 구조:
1. 주제 설명
2. 스타일 지정
3. 품질 관련 키워드
4. 부정적 프롬프트
4.3 샘플링 최적화
상황별 권장 설정:
일반적 사용:
- steps: 20-30
- cfg: 7
- sampler: euler
- scheduler: normal
품질 중시:
- steps: 30-50
- cfg: 8-12
- sampler: dpm++ 2m karras
- scheduler: karras
속도 중시:
- steps: 15-20
- cfg: 5-7
- sampler: euler_ancestral
- scheduler: normal
5. 최적화 및 문제해결
5.1 메모리 최적화
- 배치 크기 조절
- 적절한 이미지 크기 선택
- VAE 메모리 관리
5.2 일반적인 문제해결
문제: 흐린 이미지
해결:
- CFG 값 증가
- 스텝 수 증가
- 프롬프트 강화
문제: 아티팩트
해결:
- CFG 값 감소
- 다른 샘플러 시도
- VAE 변경
문제: 느린 생성
해결:
- 스텝 수 감소
- 이미지 크기 조정
- 효율적인 샘플러 선택
5.3 성능 최적화
- xFormers 사용
- 적절한 모델 선택
- VAE 최적화
6. 실전 활용 팁
6.1 워크플로우 사용자 정의
1. 기본 구조 유지
2. 필요한 노드 추가
3. 매개변수 미세조정
6.2 결과물 향상을 위한 팁
- 프롬프트 최적화
- 매개변수 실험
- 결과물 분석
6.3 효율적인 작업 방법
- 프리셋 활용
- 반복 작업 자동화
- 결과물 기록 유지
결론
ComfyUI의 기본 워크플로우는 강력하면서도 유연한 이미지 생성 시스템을 제공합니다. 각 노드의 역할을 이해하고 적절히 설정함으로써 원하는 결과물을 효과적으로 얻을 수 있습니다.