ComfyUI 입문 가이드: 설치, 인터페이스, 노드, 모델, 첫 이미지 생성

"ComfyUI 공식 문서는 Desktop, Portable, Manual, Cloud 설치 경로를 설명하며, Desktop 모델 폴더는 Help / Open folder / Open models folder에서 열 수 있다고 안내합니다."
"ComfyUI First Generation 가이드는 로컬 사용자가 기본 텍스트-이미지 workflow를 로드하고, 모델을 설치한 뒤 첫 생성을 실행하도록 안내합니다."
"ComfyUI 모델 문서는 모델이 일반적으로 ComfyUI/models/ 아래에 있으며 extra_model_paths.yaml로 추가 모델 경로를 설정할 수 있다고 설명합니다."
"Manual Installation 문서는 Python과 backend 환경을 직접 제어해야 하는 사용자를 위한 수동 설치, 의존성, 시작 방식을 다룹니다."
ComfyUI가 Stable Diffusion에서 가장 유연한 노드 기반 인터페이스라는 이야기는 이미 들어봤을 수 있습니다. 그런데 공식 사이트를 처음 열면 바로 막히기 쉽습니다. Desktop, Portable, Manual 중 무엇을 골라야 할까요? 모델은 어느 폴더에 넣어야 할까요? 인터페이스는 왜 박스와 선으로 가득할까요? 겨우 설치했더니 첫 실행에서 Load Checkpoint가 null을 표시하거나 CUDA out of memory로 멈추기도 합니다.
이 가이드는 한 가지 목표만 다룹니다. 첫날에 ComfyUI가 실행되고, 모델을 감지하고, 기본 워크플로로 첫 이미지를 생성할 수 있는지 확인하는 것입니다. 설치 방식 선택, 모델 폴더 구조, 인터페이스의 핵심 노드, 첫 텍스트-이미지 실행, 자주 만나는 오류 점검 목록을 다룹니다. 고급 워크플로, 모델 비교, 하드웨어 추천은 이후 시리즈 글에서 다룹니다.
설치 방식은 어떻게 선택하나요
ComfyUI 공식 사이트는 Desktop, Portable, Manual, Cloud 네 가지 설치 경로를 제공합니다. 앞의 세 가지는 로컬에서 실행되고, 마지막은 클라우드 서비스입니다. 선택 기준은 주로 두 가지입니다. NVIDIA GPU가 있는지, 그리고 Python 환경을 직접 관리할 것인지입니다.
| 설치 방식 | 장점 | 단점 | 적합한 사용자 | Python 환경 | C 드라이브 사용량 | 다운로드 위치 |
|---|---|---|---|---|---|---|
| Desktop | 설치 마법사가 간단하고 첫 실행 안내가 자동으로 진행됩니다 | C 드라이브에 고정 설치되며 약 5 GB를 사용합니다. 안정 버전 기반이라 새 기능 반영이 늦을 수 있습니다 | 가장 빠르게 시작하고 싶은 초보자 | 자동 구성 | 약 5 GB | 공식 다운로드 페이지 |
| Portable | 압축 해제 후 실행할 수 있고 어느 드라이브에도 둘 수 있습니다. Python과 의존성을 포함합니다 | 시작 스크립트를 직접 골라야 하며 설치 마법사는 없습니다 | C 드라이브를 쓰고 싶지 않거나 여러 Python 버전을 함께 쓰는 사용자 | 포함되어 있고 독립적 | 압축 해제 위치에 따라 다름 | GitHub Release |
| Manual | 버전과 의존성을 완전히 제어할 수 있습니다 | Python, PyTorch, CUDA를 직접 구성해야 하며 단계가 많습니다 | Python 환경이 있고 버전 제어가 필요한 개발자 | 수동 구성 | clone 위치에 따라 다름 | GitHub clone |
| Cloud | 로컬 GPU 없이 바로 사용할 수 있습니다 | 사용 시간 또는 VRAM 기준으로 과금되며 중국 내 접속이 불안정할 수 있습니다 | 로컬 GPU가 부족하거나 설치 없이 시험해 보고 싶은 사용자 | 필요 없음 | 없음 | 공식 Cloud 옵션 |
Desktop은 모든 의존성을 설치 프로그램에 묶고 첫 실행 때 환경을 자동으로 확인합니다. 대신 경로 제어가 어렵습니다. 앱은 C 드라이브에 고정되고, 모델 폴더도 보통 C 드라이브의 사용자 디렉터리 아래에 있습니다. C 드라이브 공간이 부족하거나 모델을 다른 디스크에 모아 두고 싶다면 Portable 또는 Manual이 더 잘 맞습니다.
Portable은 압축 패키지입니다. 압축을 풀면 폴더를 원하는 위치에 둘 수 있습니다. 시작 스크립트는 NVIDIA GPU 모드(run_nvidia_gpu.bat)와 CPU 모드(run_cpu.bat)를 구분하므로 Python 버전이나 PyTorch CUDA backend를 직접 설정할 필요가 없습니다. 환경 설정을 줄이면서 설치 위치는 직접 관리하고 싶을 때 좋습니다.
Manual 설치는 Python 3.10+ 환경이 이미 있고 필요한 PyTorch 버전을 아는 개발자에게 맞습니다. Desktop이나 Portable보다 단계가 많지만 특정 branch를 clone하고 의존성 버전을 직접 맞출 수 있습니다. 초보자가 여기서 시작하는 것은 권장하지 않습니다. 환경 설정 자체가 오류가 나기 쉬운 구간입니다.
Cloud 옵션은 공식 사이트에서 접근할 수 있습니다. 실제로는 클라우드 GPU 자원을 빌려 ComfyUI를 실행하는 방식입니다. 컴퓨터에 NVIDIA GPU가 없거나 인터페이스만 빠르게 체험하고 싶다면 도움이 됩니다. 다만 장기 사용에는 비용이 들고, 중국에서 해외 클라우드 서비스에 접속할 때 불안정할 수 있습니다.
Desktop 버전 설치 단계
Desktop은 가장 빠르게 시작하고 싶은 초보자에게 적합합니다. 설치 마법사가 Python 환경, 의존성 다운로드, 경로 설정을 처리합니다. 사용자는 동의와 다음 단계를 따라가면 됩니다.
설치 과정
-
ComfyUI 공식 사이트(docs.comfy.org)를 열고 Installation 영역에서 Desktop 다운로드 링크를 찾습니다. Windows 버전을 선택합니다. macOS와 Linux 버전도 있지만, 이 글에서는 Windows를 예로 듭니다.
-
다운로드한 설치 파일을 두 번 클릭합니다. 마법사가 설치 경로를 보여 줍니다. 기본값은 C 드라이브이고 변경할 수 없습니다. 설치 위치를 직접 제어해야 한다면 Desktop을 고르지 말고 Portable을 사용하세요.
-
설치를 완료합니다. 첫 실행 시 ComfyUI가 의존성을 확인합니다. 누락된 구성 요소가 있으면 마법사가 자동으로 다운로드합니다.
-
시작에 성공하면 브라우저가
http://127.0.0.1:8188을 자동으로 엽니다. 인터페이스에는 빈 노드 그래프 또는 기본 워크플로가 표시됩니다.
모델 폴더 위치
Desktop의 모델 폴더는 Portable의 모델 폴더와 다릅니다. 기본적으로 설치 디렉터리가 아니라 사용자 디렉터리 아래에 있습니다. 첫 실행 때 이 폴더는 비어 있으므로 Load Checkpoint 노드는 null을 표시합니다.
폴더를 찾으려면 ComfyUI Desktop 메뉴에서 Help -> Open folder -> Open models folder를 선택하세요. 이 메뉴가 models 디렉터리를 직접 열어 주므로 경로를 손으로 찾을 필요가 없습니다.
Desktop은 인터페이스 안에서 일부 모델을 다운로드할 수 있습니다. 시작 시 기본 모델이 없으면 다운로드 버튼이 표시될 수 있습니다. 클릭하면 모델이 올바른 checkpoints 폴더에 저장됩니다. 다만 이 자동 다운로드는 공식 추천 기본 모델 일부만 다룹니다. Civitai나 LiblibAI 같은 곳의 서드파티 모델을 쓰려면 여전히 직접 다운로드해 checkpoints에 넣어야 합니다.
첫 실행 후 확인할 점
시작 후 세 가지를 먼저 확인하세요. 브라우저가 127.0.0.1:8188 주소로 인터페이스를 열었는지, 오른쪽에 Queue Prompt 버튼이 있는지, 왼쪽 또는 상단에 ComfyUI-Manager 진입점이 있는지입니다. Desktop에는 보통 Manager가 포함됩니다.
인터페이스는 열렸지만 Queue Prompt가 반응하지 않거나 노드가 빨간색으로 표시된다면 바로 이미지를 생성하려고 하지 마세요. 먼저 모델이 제자리에 있는지 확인해야 합니다. 다음 섹션에서 모델 경로와 새로고침 방법을 설명합니다.
Portable 버전 설치 단계
Portable은 C 드라이브를 쓰고 싶지 않거나, 여러 Python 버전을 함께 쓰고 있거나, 설치 위치를 직접 정하고 싶은 사용자에게 적합합니다. Python과 의존성을 포함한 패키지라서 압축 해제 후 시작 스크립트를 실행하면 됩니다.
다운로드와 압축 해제
-
ComfyUI GitHub 저장소(github.com/Comfy-Org/ComfyUI)를 열고 Releases 영역에서 최신 안정 버전을 찾습니다. Windows Portable 패키지를 다운로드합니다. 보통 7z 또는 zip 형식이며 파일 이름에
portable이 포함됩니다. -
7-Zip 또는 Windows 기본 압축 도구로 원하는 위치에 압축을 풉니다. 예를 들어
D:\ComfyUI_portable에 둘 수 있습니다. 권한 문제나 경로 길이 문제를 줄이기 위해 경로는 너무 깊게 만들지 않는 편이 좋습니다. -
압축을 푼 폴더에는 몇 가지 핵심 요소가 있습니다.
ComfyUI는 핵심 프로그램과 models 폴더를 포함하고,python_embeded는 내장 Python 환경이며,run_nvidia_gpu.bat,run_cpu.bat같은 시작 스크립트가 있습니다.
시작 스크립트 선택
Portable은 GPU 유형과 실행 모드에 따라 여러 시작 스크립트를 제공합니다.
-
run_nvidia_gpu.bat: NVIDIA GPU가 있고 드라이버가 설치되어 있다면 이 스크립트를 사용합니다. 시작과 생성 성능이 가장 좋습니다. -
run_cpu.bat: NVIDIA GPU가 없거나 NVIDIA 드라이버에 문제가 있다면 CPU 모드를 사용합니다. 속도는 느리지만 설치가 정상인지 확인하는 용도로는 충분합니다. -
run_nvidia_gpu_lowvram.bat같은 다른 스크립트는 VRAM이 부족한 상황에서 사용합니다. 처음 실행할 때는 VRAM이 병목이라는 것을 이미 아는 경우가 아니라면 보통 필요하지 않습니다.
해당 bat 파일을 두 번 클릭하면 명령줄 창이 열립니다. 창에는 Python 버전, PyTorch CUDA backend 로드, 모델 스캔 결과 같은 시작 로그가 표시됩니다. 몇 초 뒤 브라우저가 http://127.0.0.1:8188을 열어야 합니다. 자동으로 열리지 않으면 주소창에 직접 입력하세요.
첫 시작 로그 확인
명령줄 로그에서 다음 정보를 확인할 수 있습니다.
Starting server: 서비스가 시작되었습니다.To see the GUI go to: http://127.0.0.1:8188: 브라우저 주소가 맞습니다.Total VRAM ...: ComfyUI가 GPU 메모리를 감지했습니다.models/checkpoints스캔 결과: 모델이 있으면 파일 이름이 표시되고, 없으면 경로만 표시됩니다.
로그에 CUDA not available 같은 오류가 보이면 GPU 드라이버를 먼저 확인하세요. Portable에는 CUDA 지원 PyTorch가 포함되어 있지만, 시스템에는 정상 동작하는 NVIDIA 드라이버가 필요합니다.
Manual 설치(선택)
Manual 설치는 Python 3.10+ 환경을 이미 갖추고 있고 필요한 PyTorch 버전을 아는 개발자에게 맞습니다. Desktop과 Portable보다 단계가 많고 의존성 구성에서 문제가 생기기 쉽습니다. 초보자는 여기서 시작하지 않는 것이 좋습니다.
Manual을 꼭 사용하려면 핵심 절차는 다음과 같습니다.
-
대상 디렉터리에서
git clone https://github.com/Comfy-Org/ComfyUI.git를 실행합니다. 특정 branch나 버전을 사용하려면 clone 후 해당 tag로 checkout합니다. -
clone된 디렉터리로 들어가
requirements.txt를 찾습니다.pip install -r requirements.txt를 실행합니다. 이 단계는 ComfyUI의 핵심 의존성을 설치하지만, 올바른 PyTorch CUDA backend까지 자동으로 맞춰 주지는 않을 수 있습니다. 이 부분은 별도로 처리해야 합니다. -
PyTorch를 설치합니다. GPU 종류에 맞는 버전을 선택하세요. NVIDIA GPU는 CUDA 지원 PyTorch build가 필요합니다. 정확한 명령은 PyTorch 공식 설치 가이드를 참고하세요. CPU 버전을 잘못 설치하면 ComfyUI 시작 시
CUDA not available이 표시됩니다. -
python main.py로 ComfyUI를 시작합니다. 기본 포트는 8188이므로 브라우저에서http://127.0.0.1:8188을 엽니다.
시작 인자 설명
Manual 버전은 VRAM 사용량과 네트워크 설정을 제어하는 여러 시작 인자를 지원합니다.
--lowvram: VRAM이 부족할 때 사용합니다. 메모리 사용량은 줄지만 생성 속도는 느려집니다.--cpu: CPU 모드를 강제로 사용합니다.--port 8188: 수신 포트를 바꿉니다. 기본값은 8188입니다.--listen 0.0.0.0: 로컬 네트워크 접근을 허용합니다. 기본적으로는 자신의 컴퓨터에서만 접근할 수 있습니다.
GPU VRAM이 4 GB보다 작다면 시작할 때 --lowvram을 추가해 CUDA out of memory 가능성을 줄일 수 있습니다.
버전과 의존성 위험
Manual 설치의 가장 큰 위험은 Python과 PyTorch 버전 조합입니다. 공식 권장은 Python 3.10.x이며, Python 3.11 또는 3.12 호환은 보장되지 않습니다. PyTorch도 CUDA 버전과 맞아야 합니다. 시스템에는 CUDA 12.x가 있는데 PyTorch build가 CUDA 11.x를 대상으로 하면 CUDA 관련 오류가 날 수 있습니다.
시작에 실패하면 명령줄 로그의 오류를 먼저 읽으세요. 흔한 오류는 ImportError: DLL load failed(PyTorch 버전 불일치), ModuleNotFoundError(의존성 누락), CUDA not available(CUDA 없는 PyTorch 또는 드라이버 문제)입니다.
모델은 어디에 두나요
모델 폴더는 초보자가 가장 자주 막히는 지점입니다. ComfyUI는 시작할 때 기본 모델을 함께 제공하지 않습니다. 모델을 직접 다운로드해 올바른 폴더에 넣어야 합니다. Load Checkpoint가 null을 표시한다면 모델이 잘못된 위치에 있는 경우가 대부분입니다.
모델 폴더 위치
Portable과 Manual 설치에서는 모델 폴더가 설치 디렉터리 아래에 있습니다.
<ComfyUI 설치 디렉터리>/ComfyUI/models/
예를 들어 Portable을 D:\ComfyUI_portable에 압축 해제했다면 checkpoint 폴더는 다음과 같습니다.
D:\ComfyUI_portable\ComfyUI\models\checkpoints\
Desktop은 다른 모델 폴더를 사용하며 보통 사용자 디렉터리 아래에 있습니다. 경로를 추측하지 말고 Help -> Open folder -> Open models folder를 사용하세요. ComfyUI가 models 디렉터리를 직접 열어 줍니다.
하위 디렉터리 용도
models 디렉터리에는 여러 하위 폴더가 있습니다. 모델 유형마다 들어갈 위치가 다릅니다.
| 하위 디렉터리 | 용도 | 모델 파일 유형 |
|---|---|---|
checkpoints | SD 1.5, SDXL 같은 기본 모델 | .safetensors, .ckpt |
loras | LoRA 파인튜닝 모델 | .safetensors, .ckpt |
vae | 색상과 디테일에 영향을 주는 VAE 디코더 | .safetensors, .pth |
embeddings | 텍스트 임베딩, negative prompt, 스타일 임베딩 | .pt, .bin, .safetensors |
controlnet | ControlNet 제어 모델 | .safetensors, .pth |
upscale_models | ESRGAN, RealESRGAN 같은 업스케일 모델 | .pth, .safetensors |
처음에는 기본 모델만 checkpoints에 넣으면 됩니다. 다른 모델 유형은 고급 workflow에서 사용합니다.
모델 파일 형식
기본 모델은 보통 .safetensors와 .ckpt 두 형식으로 제공됩니다. .safetensors는 더 새롭고 안전한 형식이며 ComfyUI에서 우선 권장합니다. .ckpt는 오래된 형식으로, 일부 초기 모델이 아직 이 확장자를 사용합니다. ComfyUI는 두 형식 모두 인식하지만 선택할 수 있다면 .safetensors를 우선 다운로드하세요.
모델 파일 이름은 자유롭게 정할 수 있습니다. 다만 나중에 식별하기 쉽도록 모델 이름과 버전을 포함하는 것이 좋습니다. 예를 들어 sd_v1-5.safetensors, sdxl_base_1.0.safetensors처럼 둡니다.
extra_model_paths.yaml
ComfyUI 설치가 여러 개이거나 모델을 여러 디스크에 나눠 두었다면 extra_model_paths.yaml로 추가 경로를 설정할 수 있습니다. 이 파일은 ComfyUI 디렉터리에 있고 YAML 형식을 사용합니다. 외부 모델 디렉터리를 여러 개 지정할 수 있지만, 첫 실행 단계에서는 수정할 필요가 없습니다. 기본 경로만으로 충분합니다.
인터페이스는 어떻게 생겼나요
ComfyUI의 핵심은 노드 그래프입니다. 각 노드는 모델 로드, prompt 입력, sampling, decoding 같은 하나의 작업 단위를 나타냅니다. 데이터는 연결선을 통해 노드 사이를 이동합니다. 이 구조를 이해하는 것이 ComfyUI 사용의 기본입니다.
인터페이스의 주요 요소
인터페이스를 열면 다음 영역을 보게 됩니다.
-
노드 그래프 영역: 인터페이스 중앙에 있으며 모든 노드와 연결을 표시합니다. 노드를 드래그해 위치를 조정하고, 연결선을 클릭해 삭제하고, 노드를 우클릭해 옵션을 볼 수 있습니다.
-
Queue Prompt 버튼: 인터페이스 오른쪽 또는 상단에 있으며 workflow를 실행합니다. 클릭하면 노드 그래프가 단계별로 실행되고 이미지가 생성됩니다.
-
Clear 버튼: 현재 노드 그래프를 지우고 빈 상태로 되돌립니다.
-
Save 버튼: 현재 workflow를 JSON 파일로 저장합니다. 다음에 바로 불러올 수 있습니다.
-
Load 버튼: 저장된 workflow JSON을 불러옵니다.
-
Load Default 버튼: 다섯 개 핵심 노드가 포함된 기본 텍스트-이미지 workflow를 불러옵니다.
-
ComfyUI-Manager: 새 노드 설치, 기존 노드 업데이트, 커뮤니티 workflow 검색에 사용하는 사이드바 또는 메뉴 항목입니다. Desktop과 Portable에는 보통 Manager가 포함되고, Manual은 별도로 설치해야 합니다.
기본 workflow의 다섯 핵심 노드
Load Default를 클릭하면 왼쪽에서 오른쪽으로 연결된 다섯 개 노드가 나타납니다.
| 노드 이름 | 기능 | 입력/출력 |
|---|---|---|
| Load Checkpoint | 기본 모델과 CLIP 텍스트 인코더를 로드합니다 | 출력: MODEL, CLIP, VAE |
| CLIP Text Encode (Prompt) | positive prompt를 인코딩합니다 | 입력: CLIP; 출력: CONDITIONING |
| CLIP Text Encode (Negative) | negative prompt를 인코딩합니다 | 입력: CLIP; 출력: CONDITIONING |
| KSampler | latent space에서 sampling을 수행하는 이미지 생성의 핵심 노드입니다 | 입력: MODEL, positive CONDITIONING, negative CONDITIONING, VAE; 출력: LATENT |
| VAE Decode | latent 데이터를 보이는 이미지로 디코딩합니다 | 입력: VAE, LATENT; 출력: IMAGE |
| Save Image | 이미지를 output 디렉터리에 저장하고 미리보기를 표시합니다 | 입력: IMAGE |
노드 사이의 연결선은 데이터 흐름 방향을 보여 줍니다. 예를 들어 Load Checkpoint의 CLIP 출력은 두 CLIP Text Encode 노드의 CLIP 입력에 연결됩니다. KSampler의 LATENT 출력은 VAE Decode의 LATENT 입력에 연결됩니다.
우클릭 메뉴
노드를 우클릭하면 다음과 같은 작업 메뉴가 열립니다.
- Add Node: 현재 노드 근처에 새 노드를 추가합니다.
- Remove: 현재 노드를 삭제합니다.
- Bypass: 현재 노드를 건너뛰고 실행하지 않습니다.
- Reroute: 연결선을 정리하기 위한 우회점을 추가합니다.
빈 영역을 우클릭하면 Add Node -> 노드 이름 검색을 통해 workflow에 새 노드를 추가할 수 있습니다.
노드의 입력과 출력 포트
각 노드의 왼쪽에는 입력 포트가 있고 오른쪽에는 출력 포트가 있습니다. 포트는 작은 점으로 표시되며, 색상은 데이터 유형을 나타냅니다.
- 보라색: MODEL (모델)
- 노란색: CLIP (텍스트 인코더)
- 파란색: VAE (디코더)
- 초록색: CONDITIONING (prompt conditioning)
- 빨간색: LATENT (latent space 데이터)
- 흰색: IMAGE (이미지 데이터)
연결할 때는 출력 포트와 입력 포트의 색상이 맞아야 합니다. MODEL 출력은 MODEL 입력에만 연결할 수 있고 CLIP 입력에는 연결할 수 없습니다. 색상이 다르면 연결이 만들어지지 않습니다.
기본 workflow 사용 방법
기본 workflow는 ComfyUI가 공식 제공하는 최소 텍스트-이미지 구성입니다. 다섯 개 핵심 노드가 올바른 순서로 이미 연결되어 있습니다. 모델을 선택하고 prompt를 입력한 뒤 Queue Prompt를 클릭하면 첫 이미지를 생성할 수 있습니다.
기본 workflow 로드
-
ComfyUI를 시작하면 브라우저가 인터페이스(
http://127.0.0.1:8188)를 엽니다. -
오른쪽 또는 상단에서 Load Default 버튼을 찾습니다. 클릭하면 노드 그래프에 Load Checkpoint, CLIP Text Encode (positive), CLIP Text Encode (negative), KSampler, VAE Decode, Save Image가 나타납니다.
-
모든 노드가 표시되는지 확인합니다. 노드가 빨간색이거나 연결이 끊겨 있으면 로드가 완전하지 않을 수 있습니다. Load Default를 다시 클릭하거나 노드 연결을 직접 확인하세요.
노드 연결 관계
기본 workflow의 연결 관계는 다음과 같습니다.
-
Load Checkpoint: MODEL, CLIP, VAE를 출력합니다. MODEL은 KSampler의 MODEL 입력에 연결됩니다. CLIP은 두 CLIP Text Encode 노드의 CLIP 입력에 연결됩니다. VAE는 VAE Decode의 VAE 입력에 연결되며, 일부 workflow에서는 KSampler의 VAE 입력에도 연결됩니다.
-
CLIP Text Encode (positive): CLIP을 받아 CONDITIONING을 출력합니다. KSampler의 positive 입력에 연결됩니다.
-
CLIP Text Encode (negative): CLIP을 받아 CONDITIONING을 출력합니다. KSampler의 negative 입력에 연결됩니다.
-
KSampler: MODEL, positive CONDITIONING, negative CONDITIONING, 경우에 따라 VAE를 받습니다. LATENT를 출력하고 VAE Decode의 LATENT 입력에 연결됩니다.
-
VAE Decode: VAE와 LATENT를 받아 IMAGE를 출력하고 Save Image의
images입력에 연결됩니다. -
Save Image: IMAGE를 받아 output 폴더에 저장하고 인터페이스에 미리보기를 표시합니다.
이 연결 순서가 텍스트-이미지의 핵심 흐름입니다. 모델 로드 -> prompt 인코딩 -> latent space sampling -> 이미지 디코딩 -> 결과 저장 순서입니다.
workflow 무결성 확인
기본 workflow를 로드한 뒤 먼저 세 가지를 확인합니다.
-
Load Checkpoint의 모델 선택: 노드를 클릭합니다. 드롭다운에
checkpoints에 넣은 모델이 표시되어야 합니다.null이 표시되거나 목록이 비어 있으면 모델 위치가 잘못되었거나 ComfyUI가 아직 새로고침되지 않은 것입니다. -
모든 연결이 완전한지: 각 노드의 필요한 입력과 출력이 연결되어 있는지 확인합니다. 입력이 비어 있으면 해당 노드가 실행되지 않을 수 있습니다.
-
빨간 노드가 없는지: 빨간색은 노드 설정에 문제가 있다는 뜻입니다. 노드를 클릭해 매개변수와 누락된 입력을 확인하세요.
이 세 가지가 정상이면 다음 단계인 첫 텍스트-이미지 생성을 진행할 수 있습니다.
첫 텍스트-이미지 생성
첫 이미지 생성의 목표는 높은 품질이 아닙니다. 전체 과정이 끝까지 실행되는지 확인하는 것입니다. 구체적인 단계는 다음과 같습니다.
실행 가능한 단계 체크리스트
-
모델 선택: Load Checkpoint 노드에서 드롭다운을 열고
checkpoints에 넣은 모델을 선택합니다. SD 1.5 모델을 사용한다면 파일 이름에 v1-5 또는 sd1.5가 들어가는 경우가 많고, 첫 테스트에서는 기본값으로 충분합니다. SDXL 모델은 VRAM 요구량이 더 높아 첫 실행에서CUDA out of memory가 날 수 있습니다. -
positive prompt 입력: positive CLIP Text Encode 노드, 보통 Prompt로 표시된 곳에 영어 설명을 입력합니다. 예를 들어
a cat sitting on a windowsill, soft light, simple background처럼 작성합니다. 길이에 엄격한 제한은 없지만 첫 테스트에서는 10~20단어 정도가 결과를 관찰하기 쉽습니다. -
negative prompt 입력: negative CLIP Text Encode 노드에 이미지에 나오지 않았으면 하는 내용을 입력합니다. 예를 들어
blurry, low quality, watermark, text를 넣습니다. negative prompt는 흔한 문제를 줄이는 데 사용됩니다. -
KSampler 매개변수 확인: KSampler 노드를 클릭하고 다음 항목을 확인합니다.
- seed: 랜덤 시드로 생성 결과의 변동성을 제어합니다. 첫 테스트에서는 기본값을 유지하거나 임의의 숫자를 입력해도 됩니다.
- steps: sampling 단계 수입니다. 기본값은 보통 20입니다. 첫 테스트에서는 20으로 두고 늘리지 마세요.
- sampler_name: sampler 이름입니다. 기본값은 euler 또는 ddim일 수 있습니다. 첫 테스트에서는 기본값을 유지합니다.
- cfg: prompt를 따르는 강도입니다. 보통 기본값은 7~8입니다. 첫 테스트에서는 그대로 둡니다.
- denoise: denoising 강도입니다. 기본값은 보통 1.0입니다. 첫 테스트에서는 유지합니다.
이 매개변수의 의미는 이후 시리즈 글에서 자세히 설명합니다. 첫 생성에서는 매개변수를 바꾸지 말고 기본값으로 workflow가 동작하는지만 확인하세요.
-
Queue Prompt 클릭: 인터페이스 오른쪽 또는 상단의 Queue Prompt 버튼을 클릭합니다. 클릭 후 노드 그래프가 실행되기 시작합니다. 실행 중인 노드 주변에 초록색 진행 표시가 보이고, 오른쪽에는 전체 진행률이 표시됩니다.
-
생성 완료 대기: 생성 시간은 모델 크기, VRAM, steps 수에 따라 달라집니다. SD 1.5 모델은 중간급 VRAM(8
12 GB)에서 보통 515초가 걸립니다. SDXL은 더 오래 걸립니다. 진행이 특정 지점에서 멈추면CUDA out of memory또는 다른 오류일 수 있습니다. 아래 오류 점검 목록을 확인하세요. -
출력 이미지 확인: 생성이 끝나면 Save Image 노드가 미리보기를 표시합니다. 이미지를 우클릭해 Open Image로 새 창에서 보거나, Save Image로 원하는 경로에 저장할 수 있습니다. 기본적으로 이미지는
output디렉터리에 저장되며, 이 폴더는 models 디렉터리와 같은 레벨에 있습니다.
첫 생성에서 자주 보이는 상황
첫 생성 결과가 기대와 다를 수 있습니다. 정상입니다. 흔한 상황은 다음과 같습니다.
-
이미지 해상도가 낮음: 기본 workflow의 해상도는 KSampler의
latent_image매개변수가 제어하며 기본값이 512x512일 수 있습니다. SDXL 모델을 사용하면 이 해상도가 부족해 이미지가 흐릿할 수 있습니다. KSampler의empty_latent_image를 조정하거나 SDXL에 맞춘 workflow를 사용해야 합니다. -
색상이 이상하거나 회색빛이 남: 일부 모델은 제대로 디코딩하려면 맞는 VAE가 필요합니다. 생성 이미지가 회색빛이거나 과노출처럼 보이면 VAE가 맞지 않을 수 있습니다. 이 문제는 고급 장에서 다룹니다.
-
prompt 효과가 약함: 첫 테스트 prompt가 너무 모호할 수 있습니다.
a fluffy orange cat sitting on a wooden windowsill처럼 더 구체적으로 작성해 보세요.
VRAM 부족 처리
생성 중 CUDA out of memory가 발생하면 다음 방법을 시도하세요.
- ComfyUI를 재시작하고
--lowvram을 추가합니다. Manual과 Portable에서는 시작 명령 또는 스크립트에 추가합니다. - sampling steps를 줄입니다. 예를 들어 20에서 15로 낮춥니다.
- VRAM 요구량이 낮은 모델을 사용합니다. SD 1.5는 SDXL보다 VRAM을 덜 사용합니다.
메모리 요구량은 모델과 설정에 따라 크게 달라집니다. 보편적인 숫자를 보장하기 어렵습니다. GPU VRAM이 4 GB보다 작다면 Cloud 또는 CPU 모드를 먼저 테스트하는 것이 좋습니다.
이미지가 생성되지 않으면 어떻게 하나요
첫 생성에서는 오류가 생길 수 있습니다. 아래는 자주 만나는 실패 유형과 확인 방법입니다.
1. Load Checkpoint가 null을 표시하거나 드롭다운이 비어 있음
증상: Load Checkpoint 노드를 클릭했을 때 드롭다운이 비어 있거나 null을 표시합니다. 이후 노드가 빨간색으로 표시되며 모델을 찾을 수 없다고 나옵니다.
점검 단계:
- 모델 파일 위치를 확인합니다. 모델이
checkpoints디렉터리에 있어야 합니다. Desktop에서는 Help -> Open models folder로 실제 폴더를 확인하세요. - 모델 파일 형식을 확인합니다. 확장자가
.safetensors또는.ckpt인지 확인하세요. - 모델 목록을 새로고침합니다. 인터페이스 사이드바에 Refresh 버튼이 있으면 클릭하고, 없으면 ComfyUI를 재시작하세요.
- 시작 로그를 확인합니다. 명령줄 창에는 감지된 모델 파일이 표시됩니다. 모델이 로그에 없다면 경로가 잘못된 것입니다.
2. CUDA out of memory
증상: 생성 과정에서 노드가 멈추고 명령줄 또는 인터페이스에 CUDA out of memory가 표시됩니다.
점검 단계:
--lowvram을 사용해 재시작합니다.- sampling steps를 줄입니다. 예를 들어 KSampler의 steps를 20에서 10~15로 낮춥니다.
- VRAM 요구량이 낮은 모델을 사용합니다. SD 1.5는 SDXL보다 요구량이 낮습니다.
- 다른 프로그램이 VRAM을 사용 중인지 확인합니다. 브라우저 탭이 많거나 백그라운드에서 다른 AI 앱이 실행 중일 수 있습니다.
VRAM 요구량은 모델과 구성에 따라 크게 달라집니다. 일반 숫자는 신뢰하기 어렵습니다. SD 1.5는 보통 중간급 VRAM(8~12 GB)에서 실행되지만, SDXL은 더 많은 VRAM이 필요합니다.
3. 모델 형식 오류 또는 버전 불일치
증상: Load Checkpoint 노드가 빨간색으로 표시되고 오류 메시지에 safetensors header 또는 version mismatch가 포함됩니다.
점검 단계:
- 모델 파일이 완전한지 확인합니다. 다운로드가 중간에 끊기면 파일이 손상될 수 있습니다. 모델을 다시 다운로드하세요.
- 모델 버전과 ComfyUI 버전이 맞는지 확인합니다. SDXL 같은 일부 최신 모델은 최신 ComfyUI가 필요합니다. 오래된 Portable 버전에서는 지원되지 않을 수 있습니다.
- 모델 출처를 확인합니다. 공식 사이트나 신뢰할 수 있는 사이트에서 받는 것이 좋습니다. 일부 서드파티 모델은 형식이 불규칙할 수 있습니다.
4. 의존성 누락 또는 Python 환경 문제
증상: 시작할 때 명령줄에 ImportError 또는 ModuleNotFoundError가 표시됩니다. Queue Prompt 이후 특정 모듈을 찾을 수 없다는 빨간 오류가 노드에 표시됩니다.
점검 단계:
- Manual 설치라면
pip install -r requirements.txt가 끝까지 실행되었는지 확인합니다. - PyTorch에 CUDA 지원이 올바르게 설치되었는지 확인합니다. Python 환경에서
python -c "import torch; print(torch.cuda.is_available())"를 실행하세요. False가 나오면 CUDA 지원 PyTorch가 아닐 수 있습니다. - 의존성을 다시 설치합니다. Manual은 가상 환경을 삭제하고 다시 만들 수 있고, Portable은 패키지를 다시 압축 해제하면 됩니다.
Desktop과 Portable은 보통 의존성이 포함되어 있어 이 문제가 적습니다. Manual은 의존성 누락에 더 자주 걸립니다.
5. 노드는 오류를 표시하지만 메시지가 불명확함
증상: 노드가 빨간색으로 표시되지만 클릭해도 명확한 오류 메시지가 없습니다.
점검 단계:
- 노드 연결을 확인합니다. 필요한 입력 포트가 모두 연결되어 있고 포트 색상이 맞아야 합니다.
- 노드 매개변수를 확인합니다. 노드를 클릭해 각 값이 유효한지 봅니다. 예를 들어 KSampler의 seed가 비어 있으면 안 됩니다.
- 노드를 삭제한 뒤 다시 추가해 봅니다. 노드를 우클릭 -> Remove, 빈 영역 우클릭 -> Add Node -> 해당 노드 이름 검색 순서로 다시 추가합니다.
- workflow를 다시 로드합니다. Clear를 클릭해 노드 그래프를 비운 뒤 Load Default를 다시 클릭합니다.
6. 시작 실패: 포트가 점유되었거나 서비스가 시작되지 않음
증상: 브라우저에서 http://127.0.0.1:8188을 열 수 없거나 명령줄에 Address already in use가 표시됩니다.
점검 단계:
- 명령줄 창이 아직 실행 중인지 확인합니다. 창이 닫혔다면 서비스가 중지된 것입니다.
- 포트 사용 여부를 확인합니다. 8188 포트를 다른 프로그램이 사용 중일 수 있습니다. 시작할 때
--port 8189를 추가해 다른 포트를 사용해 보세요. - 방화벽을 확인합니다. 일부 방화벽은 로컬 서비스 시작을 막을 수 있습니다.
목록에 없는 오류라면 먼저 명령줄 로그를 열어 정확한 오류 메시지를 찾으세요. 그다음 GitHub Issues 또는 Discord에서 비슷한 사례를 검색하는 것이 좋습니다.
다음에는 무엇을 배우면 좋을까요
첫 텍스트-이미지 생성을 마쳤다면 ComfyUI가 시작되고, 모델이 로드되며, 기본 workflow가 실행된다는 점을 확인한 것입니다. 다음에는 세 방향으로 더 깊게 들어갈 수 있습니다.
공식 문서와 노드 확장
ComfyUI 공식 문서(docs.comfy.org)는 설치, 핵심 개념, 모델 관리, 노드 목록 등을 다룹니다. 특정 노드 매개변수의 의미를 이해하거나 기능의 공식 구현을 확인하고 싶다면 문서부터 보는 것이 좋습니다.
ComfyUI-Manager는 커뮤니티 노드를 확장하는 핵심 도구입니다. Desktop과 Portable에는 보통 Manager가 포함되어 있고, Manual에서는 직접 설치해야 합니다. Manager로 새 노드를 검색하고 설치하고, 설치된 노드를 업데이트하고, 커뮤니티 workflow를 가져오고, 노드 버전 호환성을 확인할 수 있습니다.
ControlNet, LoRA, AnimateDiff 같은 고급 기능을 시험해 보고 싶다면 Manager가 필요한 노드 설치의 출발점입니다. 초보자는 먼저 기본 workflow에 익숙해진 뒤 Manager로 새 노드를 하나씩 설치하는 편이 좋습니다.
고급 workflow 방향
기본 텍스트-이미지 과정에 익숙해졌다면 다음 방향을 시도할 수 있습니다.
-
workflow 재사용과 관리: 다른 사람이 공유한 workflow JSON 파일을 가져오고, 매개변수를 바꾸고, 자주 쓰는 설정을 저장하는 방법을 배웁니다. 이 주제는 이후 시리즈의 “ComfyUI workflow 재사용 가이드”와 연결됩니다.
-
ControlNet 세밀 제어: ControlNet 노드를 사용해 이미지의 포즈, 윤곽, 깊이, 색상을 제어합니다. 구도를 정밀하게 맞춰야 하는 상황에 적합합니다. 이후 “ComfyUI ControlNet 완전 가이드”에서 다룰 주제입니다.
-
LoRA 모델 fine-tuning: LoRA를 사용해 스타일이나 캐릭터 특징을 기본 모델에 적용합니다. 특정 스타일이나 캐릭터가 있는 이미지를 만들 때 적합합니다. 이후 “ComfyUI LoRA 모델 실전 가이드”에서 다룰 주제입니다.
세 방향 모두 추가 노드와 모델이 필요합니다. 한 번에 너무 많은 노드를 설치하지 말고 단계적으로 테스트하는 것이 좋습니다.
모델 출처와 추천
첫 테스트에 사용한 모델은 일반 SD 1.5 또는 SDXL Base일 수 있습니다. 더 많은 스타일을 시험하려면 아래 사이트를 확인할 수 있습니다.
-
Civitai: 해외에서 가장 큰 Stable Diffusion 모델 커뮤니티 중 하나입니다. 기본 모델, LoRA, VAE, ControlNet 모델 등을 제공합니다. 검색할 때 모델 버전(SD 1.5 / SDXL)과 학습 데이터 출처를 확인하세요.
-
LiblibAI: 중국의 Stable Diffusion 모델 플랫폼입니다. 중국에서 접근 속도가 빠른 편이며, 중국 크리에이터가 공유한 모델과 LoRA가 많습니다.
-
Hugging Face: Stability AI가 공개한 기본 모델과 여러 open source 모델을 포함하는 모델 저장소입니다.
모델을 다운로드할 때는 세 가지를 확인하세요. 모델 버전이 현재 ComfyUI 버전과 호환되는지, 모델 용도가 명확한지(텍스트-이미지 / 이미지-이미지 / ControlNet), 가능하면 .safetensors 형식인지입니다.
이 시리즈의 다른 글
이 글은 “ComfyUI와 Stable Diffusion 실전 가이드” 시리즈의 입문 페이지입니다. 이후 글에서는 workflow 관리, ControlNet, LoRA, 모델 추천, 성능 최적화를 다룹니다. 로컬 모델 배포에 이미 익숙하다면 아래 글도 함께 볼 수 있습니다.
-
로컬에서 LLM을 실행하고 싶다면 Ollama 로컬 LLM 입문 가이드를 읽어 보세요.
-
prompt 기법을 배우고 싶다면 Prompt Engineering 상업화 실전을 참고하세요.
-
로컬 GPU 구성을 최적화하고 싶다면 Ollama GPU 가속 설정을 확인하세요.
-
ComfyUI를 자동화 프로세스에 통합하고 싶다면 AI workflow 자동화 실전을 읽어 보세요.
ComfyUI로 첫 텍스트-이미지 결과 생성하기
설치 방식을 고르고, 기본 모델을 배치하고, 기본 워크플로를 로드한 뒤 Queue Prompt를 실행해 ComfyUI 첫 텍스트-이미지 생성을 검증합니다.
⏱️ Estimated time: 30 min
- 1
Step 1: 설치 방식 선택
NVIDIA GPU 보유 여부, Python 환경과 설치 위치를 직접 제어해야 하는지에 따라 Desktop, Portable, Manual, Cloud 중 하나를 선택합니다. - 2
Step 2: 기본 모델 배치
.safetensors 또는 .ckpt checkpoint를 models/checkpoints에 넣습니다. Desktop 사용자는 Help / Open folder / Open models folder에서 실제 폴더를 확인합니다. - 3
Step 3: 기본 워크플로 로드
http://127.0.0.1:8188을 열고 Load Default를 클릭한 뒤 Load Checkpoint, CLIP Text Encode, KSampler, VAE Decode, Save Image가 모두 연결되어 있는지 확인합니다. - 4
Step 4: 프롬프트 입력 후 실행
checkpoint를 선택하고 positive prompt와 negative prompt를 입력한 뒤 기본 샘플링 설정을 유지하고 Queue Prompt를 클릭하거나 Ctrl + Enter를 누릅니다. - 5
Step 5: 출력과 오류 확인
Save Image 노드나 output 폴더에서 결과를 확인합니다. 실패하면 모델 디렉터리, VRAM, 모델 형식, 의존성, 노드 연결 순서대로 점검합니다.
FAQ
ComfyUI 초보자는 Desktop, Portable, Manual 중 무엇을 선택해야 하나요?
Load Checkpoint가 null로 표시되는 이유는 무엇인가요?
Desktop의 모델 폴더는 Portable과 같은가요?
첫 이미지 품질이 나쁘면 설치가 실패한 건가요?
CUDA out of memory는 어떻게 처리해야 하나요?
5분 읽기 · 게시일: 2026년 6월 1일 · 수정일: 2026년 7월 14일
ComfyUI와 Stable Diffusion 실전 가이드
이 시리즈의 첫 글을 읽고 있습니다. 다음 글로 이어가거나 시리즈 허브에서 전체 경로를 확인하세요.



댓글
GitHub로 로그인하여 댓글을 남기세요