ComfyUI로 AI 이미지 생성하기
ComfyUI란 무엇인가요?
ComfyUI는 Stable Diffusion 기반의 이미지 생성 모델을 노드 기반 사용자 인터페이스로 구성해 누구나 직관적으로 사용할 수 있도록 만든 오픈소스 툴입니다.
기존의 명령어 기반 또는 복잡한 파라미터 조정 방식과 달리, ComfyUI는 블록처럼 노드를 배치하고 연결함으로써 모델 로딩 → 프롬프트 입력 → 샘플링 → 이미지 출력의 전 과정을 시각적으로 조작할 수 있습니다.
ComfyUI는 다음과 같은 특징을 가집니다:
노코드 기반의 시각적 워크플로우 구성
→ 코드 없이도 복잡한 모델 구조나 제어 조건을 설정할 수 있습니다.
모듈화된 노드 시스템
→ 모델 종류, 샘플러, 업스케일러, 컨디셔널 노드 등을 자유롭게 조합할 수 있습니다.
고급 사용자도 만족할 확장성
→ 사용자 정의 노드 추가, 커스텀 모델 로딩, 고급 설정 등이 가능하여 확장성과 유연성이 뛰어납니다.
Stable Diffusion 기반 다양한 모델 호환
→ SD 1.5, SDXL, LoRA, ControlNet 등 다양한 모델을 로드하여 사용할 수 있습니다.
이 실습에서는 ComfyUI를 설치하고, 실제로 워크플로우를 구성하여 텍스트 프롬프트를 기반으로 AI 이미지 생성의 전 과정을 체험합니다.
1단계: 스토리지 생성하기
목적
ComfyUI는 생성된 이미지와 모델 파일을 저장할 디렉터리가 필요합니다.
컨테이너는 종료되면 내부 데이터가 사라지므로, 데이터 보존을 위해 외부 스토리지(PVC)를 연동해야 합니다.
실행 방법
스토리지 생성하기
스토리지 생성 페이지로 이동
이름: comfy-storage (예시)
리전: 컨테이너에서 사용할 노드와 동일한 리전 선택
크기: 50GB 이상 권장 (모델 + 출력 이미지 저장 용도)
마운트 이름: comfy → /data/volumes/comfy 경로로 마운트됨
생성 완료
2단계: ComfyUI 컨테이너 생성
목적
ComfyUI가 설치된 Docker 이미지를 기반으로 GPU 컨테이너를 실행합니다.
실행 방법
컨테이너 대여하기
컨테이너 호스팅 → 노드 선택
VRAM과 성능에 따라 알맞은 GPU 노드를 선택합니다.
이미지: ComfyUI (cu124) 선택
CUDA 12.4 기반으로, 최신 모델 호환이 우수합니다.
ssh를 통한 외부 접속이 가능하도록 liqpod에서 커스터마이징한 이미지입니다.
스토리지 선택: 1단계에서 생성한 comfy-storage 선택
환경변수 설정:
ROOT_PASSWORD를 설정하면 ssh 혹은 sftp 접속 시 비밀번호로 사용됩니다.
예: ROOT_PASSWORD: secure1234!
컨테이너 이름, 설명 입력 후 컨테이너 생성하기
3단계: 컨테이너 상태 확인
목적
컨테이너가 GPU를 제대로 인식하고 있는지, 스토리지가 정상적으로 연결되었는지를 확인합니다.
실행 방법

[나의 머신 → 컨테이너] 메뉴에서 방금 만든 컨테이너 확인
상태가 “사용 중”인지 확인
마운트 스토리지, 웹 주소 등 확인
웹 터미널 접속 → 명령어 입력

nvidia-smi
명령어로 GPU 드라이버 및 VRAM 인식 여부 확인

ls /data/volumes
명령어로 마운트된 스토리지 경로가 정상적으로 연결되었는지 확인
4단계: ComfyUI 웹 접속
목적
ComfyUI 웹 인터페이스에 접속하여 노드 기반의 워크플로우를 구성합니다.
실행 방법

컨테이너 정보 → 엔드포인트 → 웹 주소 확인 후 해당 주소로 접속합니다.

ComfyUI 인터페이스가 로드되면 ‘이미지 생성’ 템플릿을 선택합니다.

처음 실행 시 모델이 없다는 메시지가 나타납니다.
이 상태에서는 샘플 실행이 불가능하므로, 모델을 다운로드 후 다음 단계에서 모델을 업로드합니다.
5단계: 모델 파일 업로드하기
목적
Stable Diffusion 기반의 checkpoint 모델이 없으면 이미지 생성을 할 수 없습니다.
이를 위해 스토리지에 모델 파일을 업로드하고, ComfyUI가 이를 인식할 수 있도록 경로를 연결합니다.
실행 방법
A. 디렉터리 생성
웹 터미널로 접속합니다
아래 명령어를 입력합니다 (스토리지 마운트 경로가 다르다면 해당 경로에 맞춰 입력해주세요)
# 스토리지에 모델 및 이미지 아웃풋 경로 생성
mkdir -p /data/volumes/comfy/models/checkpoints
mkdir -p /data/volumes/comfy/output
# 심볼릭 링크를 통해 스토리지 경로를 ComfyUI로 연결
ln -s /data/volumes/comfy/models /app/models
ln -s /data/volumes/comfy/output /app/output
B. 모델 업로드
SFTP를 사용해 다운로드 받은 checkpoint 모델(.safetensors, .ckpt 등)을 업로드합니다.

SFTP 접속 정보는 컨테이너의 엔드포인트에서 확인할 수 있습니다.
사용자: root
포트: 예시 32017 (컨테이너 실행 시 동적으로 할당되므로, 실제 값을 참조하세요)
패스워드는 환경변수에서 입력한 ROOT_PASSWORD 키를 사용합니다. (예시: secure1234!)

SFTP 클라이언트를 사용해 다음과 같이
/data/volumes/comfy/models/checkpoints
경로에 업로드합니다.
6단계: 모델 로드 및 이미지 생성
목적
업로드한 모델을 로딩하고, 프롬프트 기반의 이미지 생성을 실행합니다.
실행 방법
ComfyUI 웹에 다시 접속하거나 새로고침하세요.

왼쪽 메뉴 → 모델 라이브러리 → checkpoints 진입
업로드한 모델이 나타나야 정상입니다.

프롬프트 입력
CLIP 텍스트 인코딩 노드에 생성하고 싶은 문장을 입력
예: a high-quality portrait of a cyborg woman, 8k, cinematic lighting

[실행] 버튼 클릭
이미지 생성 노드에서 생성된 이미지 확인
7단계: 이미지 다운로드
목적
생성된 이미지를 SFTP로 다운로드하여 로컬에서 저장하거나 활용합니다.
실행 방법

SFTP로 /data/volumes/comfy/output 경로 접속
생성된 이미지 파일 (.png) 다운로드

생성된 이미지 파일 (예시)
Last updated