본문 바로가기
ComfyUI

[초격차 패키지 : 100가지 ComfyUI 워크플로우로 완성하는 1,000개 AI 이미지/영상] Chapter.03 : ComfyUI 모델과 폴더 설정

by 개발자 인민군 2026. 1. 5.

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 모델 폴더이다.

설정 시 주의사항

  1. 경로 지정 방식: 절대 경로(C:/Users/...) 또는 상대 경로(../../...) 모두 사용 가능하다. Windows의 경우 역슬래시() 대신 정슬래시(/)를 사용하거나 이중 역슬래시(\)를 사용해야 한다.
  2. 여러 경로 지정: 같은 모델 타입에 대해 여러 폴더를 지정하려면 파이프(|)로 구분한다. ComfyUI는 위에서 아래로 순서대로 경로를 확인한다.
  3. is_default 옵션: 특정 경로를 기본값으로 설정하려면 is_default: true를 추가한다. ComfyUI UI에서 드롭다운할 때 이 경로의 모델이 먼저 표시된다.
  4. 폴더 존재 확인: 지정한 경로의 폴더가 실제로 존재해야 한다. 존재하지 않으면 ComfyUI가 해당 경로를 무시한다.
  5. 파일 저장: YAML 파일의 들여쓰기가 중요하다. 탭 대신 스페이스를 사용하고, 일관된 들여쓰기를 유지해야 한다.

7단계: Custom Node 추가 방법

ComfyUI의 기능을 확장하기 위해 Custom Node를 추가할 수 있다. Custom Node는 두 가지 방법으로 설치할 수 있다.

방법 1: ComfyUI Manager를 이용한 설치 (권장)

장점:

  • 가장 간편한 방법
  • UI에서 검색과 설치가 가능
  • 의존성 자동 해결

절차:

  1. ComfyUI Manager 열기
  2. Custom Nodes Manager 항목 선택
  3. 원하는 Custom Node 검색
  4. 설치 버튼 클릭
  5. ComfyUI 재시작

Install via Git URL 방식:

  1. Custom Nodes Manager에서 "Install via Git URL" 선택
  2. GitHub 저장소 URL 입력
  3. 설치 완료 후 재시작

방법 2: 수동으로 설치

Git Clone 명령어 사용:

ComfyUI의 custom_nodes 폴더 경로로 이동한 후:

git clone [GitHub_Repository_URL]

Custom Node 폴더 직접 복사:

GitHub에서 Custom Node 저장소를 다운로드한 후, 폴더 전체를 ComfyUI의 custom_nodes 폴더에 복사한다.

이 경우 필요한 의존성을 수동으로 설치해야 할 수 있다.