ComfyUI에서 이미지를 생성하기 위해서는 반드시 학습된 AI 모델이 필요하다. 이 글에서는 모델의 종류, 다운로드 방법, 그리고 효율적인 폴더 관리 방법까지 단계별로 설명한다.
1단계: 모델 다운로드
- Civit AI (https://civitai.com/models) : AI 크리에이터 커뮤니티로, 가장 다양한 모델을 찾을 수 있는 플랫폼이다.
- GitHub (https://github.com/) : 오픈소스 모델과 커스텀 노드 코드를 호스팅하는 플랫폼이다.
- Hugging Face (https://huggingface.co/) : AI 모델 저장소로, 공식 Stable Diffusion 모델이 호스팅되어 있다.
2단계: ComfyUI 폴더 구조 이해
ComfyUI의 기본 폴더 구조를 이해하면 모델 관리가 훨씬 수월합니다.
최상위 구조
ComfyUI_windows_portable
├── ComfyUI (메인 애플리케이션)
├── python_embedded (내장 Python)
└── update (업데이트 파일)
ComfyUI 내부 폴더 구조
ComfyUI 폴더 내부에는 다음과 같은 주요 폴더들이 있다.
핵심 폴더:
api_server: ComfyUI의 API 서버 관련 파일을 저장
app: 애플리케이션의 기본 코드와 메인 로직이 포함되어 있다.
comfy: ComfyUI의 핵심 라이브러리이다.
comfy_execution: 워크플로우 실행 엔진이다.
comfy_extras: 추가 기능과 유틸리티이다.
custom_nodes: 사용자가 설치한 커스텀 노드들이 저장되는 폴더이다.
사용자 작업 폴더:
input: ComfyUI에서 사용할 입력 이미지들을 저장합니다.
output: 생성된 이미지 결과물이 저장되는 폴더입니다.
user: 사용자 설정과 워크플로우가 저장됩니다.
모델 저장소:
models: 모든 AI 모델이 저장되는 가장 중요한 폴더이다. 이 폴더의 구조를 이해하는 것이 핵심
기타 폴더:
script_examples: 스크립트 예제들
temp: 임시 파일 저장소
tests: 테스트 파일
tests-unit: 단위 테스트 파일
utils: 유틸리티 함수
web: 웹 UI 관련 파일
3단계: 모델 타입 상세 설명
ComfyUI에서 사용하는 모델들은 다양한 종류가 있으며, 각각 다른 목적과 용도를 가지고 있다.
1) Checkpoint (체크포인트)
정의: 학습된 가중치(weight)와 파라미터(parameter)가 포함된 완전한 모델
역할:
- 기본적인 이미지 생성의 핵심 모델
- 특정 스타일이나 목적에 맞는 체크포인트를 선택하여 로드
- 파일 크기가 가장 크며(2GB~16GB), 다운로드 시간이 오래 걸림
사용 시기: ComfyUI에서 이미지를 생성할 때 항상 필요한 기본 모델이다.
2) VAE (Variational Auto Encoder)
정의: 변형 자동 인코더로, 이미지의 잠재 공간을 학습하는 모델
역할:
- 이미지 생성 및 보정에서 중요한 역할 수행
- 주어진 데이터의 잠재 공간(latent space)을 학습하여 새로운 데이터 생성 또는 입력 이미지 보정
- 생성된 이미지의 색상, 화질, 디테일에 영향
사용 시기: 기본 checkpoint의 VAE 품질이 만족스럽지 않을 때, 더 나은 VAE로 교체한다.
3) Embedding (임베딩)
정의: Textual Inversion이라고도 부르는 가벼운 추가 학습 방식
특징:
- 기존 모델을 변경하지 않고도 추가적인 표현력을 부여
- 프롬프트를 추가로 학습하는 방식
- 파일 크기가 매우 작음(수 KB~수 MB)
작동 원리: 미리 학습된 모델에 임베딩이 추가로 공부시킨다고 생각하면 됩니다. 특정한 스타일이나 개념을 텍스트 토큰으로 인코딩한다.
사용 시기: 특정 스타일이나 컨셉을 프롬프트에 추가하고 싶을 때 사용한다.
4) LoRA (Low-Rank Adaptation)
정의: 기존 체크포인트 모델에 특정 스타일이나 개성을 추가할 수 있는 가벼운 모델
특징:
- Embedding보다는 크지만 Checkpoint보다는 훨씬 작음(10MB~100MB)
- 기존 모델을 완전히 바꾸지 않고 부분적으로 조정
- 특정 화풍, 인물 스타일, 표현 기법 등을 추가
작동 원리: 학습된 특정 화풍, 인물 스타일, 혹은 특정한 표현 기법을 적용합니다. 기존 모델의 가중치를 미세하게 조정한다.
사용 시기: 특정 화풍이나 인물 특성을 원할 때, 또는 여러 스타일을 조합하고 싶을 때 사용한다.
5) Upscale Model (업스케일 모델)
정의: 저해상도 이미지를 고해상도로 변환하고 품질을 개선하는 모델
역할:
- 이미지를 더 높은 해상도로 변환
- 이미지의 세부 사항과 품질을 개선
- 원본 이미지의 품질을 유지하거나 향상시키면서 확대
사용 시기: 생성된 이미지를 더 높은 해상도로 업그레이드하고 싶을 때, 또는 저해상도 이미지를 고해상도로 변환하고 싶을 때 사용한다.
6) ControlNet Model
정의: Stable Diffusion의 이미지 생성 과정에서 추가적인 제어를 가능하게 하는 모델
특징:
- 사용자가 더 구체적이고 세밀한 방식으로 원하는 이미지를 생성할 수 있게 도움
- 기존의 이미지나 특성(포즈, 스케치, 윤곽선 등)을 입력하여 생성 과정에 영향
작동 원리: 기본 Stable Diffusion은 텍스트 프롬프트만으로 생성하지만, ControlNet은 이미지나 특성을 추가 입력으로 받아서 생성 과정을 더 정밀하게 제어한다.
사용 시기: 특정 포즈나 구성을 유지하며 이미지를 생성하고 싶을 때, 또는 스케치나 가이드 이미지가 있을 때 사용한다.
7) CLIP (Contrastive Language-Image Pretraining)
정의: 텍스트와 이미지를 연관짓는 모델
역할:
- Stable Diffusion이 텍스트 프롬프트를 해석하는 데 사용
- 사용자가 입력한 프롬프트와 가장 적절한 이미지를 생성하도록 도움
- 텍스트와 이미지 간의 의미적 연관성을 이해
사용 시기: ComfyUI에서 이미지를 생성할 때, 프롬프트를 올바르게 해석하기 위해 항상 필요하다.
8) CLIP Vision
정의: 이미지를 분석하고 특징을 추출하는 역할을 하는 모델
특징:
- 일반 CLIP 모델이 텍스트와 이미지 간의 연관성을 이해하는 데 집중하는 반면
- CLIP Vision은 이미지 자체의 내용을 분석하여 AI가 더 정밀한 세부 묘사를 할 수 있도록 도움
사용 시기: 입력 이미지를 분석하여 더 정확한 이미지 편집이나 변환을 원할 때 사용한다.
9) UNet (U-Net 모델)
정의: Stable Diffusion에서 이미지의 실제 노이즈 제거 및 세부 묘사 생성을 담당하는 핵심 모델이다.
역할:
- 노이즈가 포함된 초기 랜덤 이미지를 점차 정교한 이미지로 변환
- 디노이징(denoising) 과정을 수행하여 최종 이미지 생성
특징: Diffusion 모델의 핵심 구성요소로, 반복적인 노이즈 제거를 통해 이미지를 생성한다.
사용 시기: ComfyUI에서 이미지를 생성할 때, 기본 Checkpoint에 포함된 UNet이 자동으로 사용된다.
4단계: Stable Diffusion 모델 버전 이해
Stable Diffusion은 지속적으로 발전해왔으며, 각 버전마다 특징이 다르다.
모델 버전 비교
V1.4, V1.5 (2022년 8월~10월)
- 모델의 종류와 수량이 가장 많으며 범용적으로 사용되는 모델
- ComfyUI 커뮤니티에서 여전히 가장 많이 사용된다.
- 좋은 품질과 빠른 속도의 균형을 제공한다.
V2.0, V2.1 (2022년 11월~12월)
- 모든 버전 중에서 가장 실패한 모델로 평가된다.
- 품질과 안정성 측면에서 기대에 미치지 못했으며, 커뮤니티에서의 채택률이 낮다.
- 사용을 권장하지 않는다.
SDXL 1.0 (2023년 7월)
- 1024x1024 고해상도 이미지 생성이 가능하며, 짧은 문자 생성도 개선되었다.
- 높은 해상도가 필요한 프로젝트에 적합하다.
SD 3.0 (2024년 2월)
- 초기에는 비공개로 제공되었으며, 현재는 API 유료 서비스로 제공되고 있다.
- 성능과 품질이 크게 향상되었다.
SD 3.5 (2024년 10월)
최신 버전으로 여러 크기로 제공된다
- SD 3.5 Large: 가장 강력한 성능
- SD 3.5 Large Turbo: 빠른 생성 속도
- SD 3.5 Medium: 균형잡힌 성능과 속도
5단계: 모델 폴더 구조 및 설정
Models 폴더 구조
models/
├── checkpoints/ # Checkpoint 모델
├── clip/ # CLIP 모델
├── clip_vision/ # CLIP Vision 모델
├── configs/ # 설정 파일
├── controlnet/ # ControlNet 모델
├── diffusion_models/ # 기타 Diffusion 모델
├── embeddings/ # Embedding 파일
├── loras/ # LoRA 모델
├── upscale_models/ # Upscale 모델
└── vae/ # VAE 모델
모델 용량 관리
ComfyUI 사용자들의 일반적인 모델 구성은 다음과 같다.
전형적인 모델 구성:
- 2GB 모델: 가벼운 모델
- 5GB 모델: 표준 모델
- 6GB 모델: 고품질 모델
- 9GB 모델: 고해상도 모델
- 12GB 모델: SDXL 모델
- 16GB 모델: 최고 품질 모델
전체 모델 저장소: 보통 2.3TB 정도의 저장 공간이 필요하다.
이는 여러 Checkpoint, VAE, LoRA, ControlNet 등을 다양하게 보유할 경우의 일반적인 규모이다. 필요한 모델만 선택하여 설치하면 저장 공간을 줄일 수 있다.
모델 공유 시스템: WebUI와 ComfyUI
ComfyUI는 Stable Diffusion WebUI(A1111)와 모델을 공유할 수 있다. 이를 통해 하나의 모델 저장소로 두 애플리케이션을 모두 관리할 수 있다.
이전 버전 방식:
- WebUI와 ComfyUI가 독립적으로 모델을 관리
- 같은 모델을 중복해서 저장할 필요 있음
- 저장 공간 낭비
현재 방식:
- ComfyUI가 WebUI의 모델 폴더를 참조
- 하나의 모델 저장소로 통합 관리
- 저장 공간 절약
이를 구현하기 위해서는 extra_model_paths.yaml 파일을 설정해야 한다.
6단계: extra_model_paths.yaml 설정
ComfyUI에서 모델 경로를 관리하는 핵심 파일은 extra_model_paths.yaml이다. 이 파일을 통해 WebUI의 모델 폴더와 ComfyUI의 모델 폴더를 함께 관리할 수 있다.
파일 위치
ComfyUI 메인 폴더에 위치하며, 기본적으로는 extra_model_paths.yaml.example 파일이 제공된다. 이를 복사하여 .example 확장자를 제거한 extra_model_paths.yaml 파일을 생성한다.
WebUI 모델 설정
#config for a1111 ui
#all you have to do is change the base_path to where yours is installed
a1111:
base_path: path/to/stable-diffusion-webui/
checkpoints: models/Stable-diffusion
configs: models/Stable-diffusion
vae: models/VAE
loras: |
models/Lora
models/LyCORIS
upscale_models: |
models/ESRGAN
models/RealESRGAN
models/SwinIR
embeddings: embeddings
hypernetworks: models/hypernetworks
controlnet: models/ControlNet
설정 설명:
- base_path: Stable Diffusion WebUI가 설치된 경로를 지정한다. 사용자 환경에 맞게 수정해야 한다.
- checkpoints: Checkpoint 모델이 저장된 폴더이다. 일반적으로 models/Stable-diffusion 폴더이다.
- configs: 모델 설정 파일이 저장된 폴더이다.
- vae: VAE 모델 폴더이다.
- loras: LoRA 모델이 저장될 수 있는 여러 경로를 지정한다. 여러 경로를 파이프(|)로 구분하여 나열할 수 있다.
- upscale_models: Upscale 모델들이 저장된 여러 경로이다. 다양한 Upscale 모델을 관리한다.
- embeddings: Embedding 파일들이 저장된 폴더이다.
- hypernetworks: Hypernetwork 파일들이 저장된 폴더이다.
- controlnet: ControlNet 모델이 저장된 폴더이다.
ComfyUI 모델 설정
#config for comfyui
#your base path should be either an existing comfy install or a central folder for comfy models
comfyui:
base_path: path/to/comfyui/
# You can use is_default to mark that these folders should be listed first,
# is_default: true
checkpoints: models/checkpoints/
clip: models/clip/
clip_vision: models/clip_vision/
configs: models/configs/
controlnet: models/controlnet/
diffusion_models: |
models/diffusion_models
models/unet
embeddings: models/embeddings/
loras: models/loras/
upscale_models: models/upscale_models/
vae: models/vae/
설정 설명:
- base_path: ComfyUI가 설치된 경로 또는 ComfyUI 모델을 중앙에서 관리할 폴더를 지정한다.
- checkpoints: Checkpoint 모델 폴더이다.
- clip: CLIP 모델 폴더이다.
- clip_vision: CLIP Vision 모델 폴더이다.
- configs: 설정 파일 폴더이다.
- controlnet: ControlNet 모델 폴더이다.
- diffusion_models: Diffusion 모델과 UNet 모델이 저장될 수 있는 여러 경로이다.
- embeddings: Embedding 파일 폴더이다.
- loras: LoRA 모델 폴더이다.
- upscale_models: Upscale 모델 폴더이다.
- vae: VAE 모델 폴더이다.
설정 시 주의사항
- 경로 지정 방식: 절대 경로(C:/Users/...) 또는 상대 경로(../../...) 모두 사용 가능하다. Windows의 경우 역슬래시() 대신 정슬래시(/)를 사용하거나 이중 역슬래시(\)를 사용해야 한다.
- 여러 경로 지정: 같은 모델 타입에 대해 여러 폴더를 지정하려면 파이프(|)로 구분한다. ComfyUI는 위에서 아래로 순서대로 경로를 확인한다.
- is_default 옵션: 특정 경로를 기본값으로 설정하려면 is_default: true를 추가한다. ComfyUI UI에서 드롭다운할 때 이 경로의 모델이 먼저 표시된다.
- 폴더 존재 확인: 지정한 경로의 폴더가 실제로 존재해야 한다. 존재하지 않으면 ComfyUI가 해당 경로를 무시한다.
- 파일 저장: YAML 파일의 들여쓰기가 중요하다. 탭 대신 스페이스를 사용하고, 일관된 들여쓰기를 유지해야 한다.
7단계: Custom Node 추가 방법
ComfyUI의 기능을 확장하기 위해 Custom Node를 추가할 수 있다. Custom Node는 두 가지 방법으로 설치할 수 있다.
방법 1: ComfyUI Manager를 이용한 설치 (권장)
장점:
- 가장 간편한 방법
- UI에서 검색과 설치가 가능
- 의존성 자동 해결
절차:
- ComfyUI Manager 열기
- Custom Nodes Manager 항목 선택
- 원하는 Custom Node 검색
- 설치 버튼 클릭
- ComfyUI 재시작
Install via Git URL 방식:
- Custom Nodes Manager에서 "Install via Git URL" 선택
- GitHub 저장소 URL 입력
- 설치 완료 후 재시작
방법 2: 수동으로 설치
Git Clone 명령어 사용:
ComfyUI의 custom_nodes 폴더 경로로 이동한 후:
git clone [GitHub_Repository_URL]
Custom Node 폴더 직접 복사:
GitHub에서 Custom Node 저장소를 다운로드한 후, 폴더 전체를 ComfyUI의 custom_nodes 폴더에 복사한다.
이 경우 필요한 의존성을 수동으로 설치해야 할 수 있다.
'ComfyUI' 카테고리의 다른 글
| [초격차 패키지 : 100가지 ComfyUI 워크플로우로 완성하는 1,000개 AI 이미지/영상] Chapter.02 : ComfyUI 설치 (0) | 2026.01.05 |
|---|---|
| [초격차 패키지 : 100가지 ComfyUI 워크플로우로 완성하는 1,000개 AI 이미지/영상] Chapter.01 : ConfyUI에 대한 이해 (1) | 2026.01.02 |