ConfyUI 설치부터 활용까지 완전 정리

반응형

 

ConfyUI 설치부터 활용까지 완전 정리


ConfyUI 개요

ConfyUI는 Stable Diffusion 기반의 AI 이미지 생성 인터페이스로, 노드 방식으로 구성되어 있다.
사용자는 각 노드를 시각적으로 연결하면서 프롬프트, 모델, 샘플러, 스타일, 업스케일 등
모든 요소를 조합하여 원하는 이미지를 직접 설계할 수 있다.
일괄 생성, 반복 워크플로우, 커스터마이징이 모두 가능하며,
생성된 이미지의 품질과 일관성을 유지하면서 다양한 조건을 적용할 수 있는 것이 특징이다.

ConfyUI는 오픈소스이며, 로컬에서 실행된다.
사용자는 자신의 GPU 환경을 활용하여 빠른 이미지 생성을 할 수 있다.


설치 환경

ConfyUI는 윈도우, 리눅스에서 모두 사용 가능하며,
GPU가 탑재된 환경에서 실행하는 것이 안정적이다.

  • 운영체제: Windows 10 이상 권장
  • GPU: NVIDIA RTX 시리즈 (VRAM 6GB 이상)
  • Python: 3.10.x
  • Git: 필수
  • CUDA 및 cuDNN: NVIDIA 환경 설정 필수
  • 디스크 여유 공간: 최소 10GB 이상
반응형

설치 과정

  1. Python 3.10 설치
    https://www.python.org 에서 3.10.x 버전 설치
    설치 시 "Add Python to PATH" 체크 필요
  2. Git 설치
    https://git-scm.com 에서 기본 옵션으로 설치
  3. ConfyUI 저장소 다운로드
    명령 프롬프트를 열고 다음 명령 입력
git clone https://github.com/comfyanonymous/ComfyUI.git
  1. 디렉토리 이동
cd ComfyUI
  1. 가상환경 생성 및 활성화
python -m venv venv
venv\Scripts\activate
  1. 필요한 패키지 설치
pip install -r requirements.txt
  1. 모델 다운로드
    Stable Diffusion 기반 모델(.ckpt 또는 .safetensors)을 다운로드
    파일을 ComfyUI/models/checkpoints/ 경로에 넣는다
  2. 실행
python main.py

브라우저가 열리며 http://127.0.0.1:8188 주소에서 실행된다.

 

 


인터페이스 구성

ConfyUI는 3개의 주요 영역으로 구성되어 있다.

  • 왼쪽 패널: 노드 검색 및 삽입
  • 중앙 캔버스: 노드 배치 및 연결
  • 오른쪽 패널: 선택한 노드의 세부 설정

노드는 좌측에서 검색하거나 더블클릭으로 삽입 가능하다.
연결은 마우스로 노드의 출력과 입력을 드래그하여 선을 연결한다.


기본 이미지 생성 워크플로우

기본 이미지 생성을 위한 최소 노드 구성은 다음과 같다.

  1. CheckpointLoaderSimple
    모델 파일을 불러온다
  2. CLIPTextEncode (Prompt)
    텍스트 입력을 벡터로 변환한다
  3. CLIPTextEncode (Negative Prompt)
    생성 시 제외할 요소를 입력한다
  4. KSampler
    샘플러 설정, 시드, 스텝 수, CFG 스케일 조정
  5. VAEDecode
    Latent 이미지를 일반 이미지로 변환
  6. SaveImage
    결과 이미지를 파일로 저장

모든 노드를 순서대로 연결한 뒤, 실행 버튼을 클릭하면 이미지가 생성된다.
결과는 output 폴더 내에 자동 저장된다.

 

A full view of the ConfyUI interface with connected nodes for AI image generation, including ControlNet, LoRA, and upscaler components on a clean, modern workspace
ConfyUI Node Workflow Overview

 


.✅ 정확한 수정 예시

 

ConfyUI의 설치가 완료되면 웹 브라우저가 자동으로 열리며,  
http://127.0.0.1:8188 주소에서 ConfyUI의 메인 인터페이스에 접근할 수 있다.  
이제 실제 이미지 생성을 위한 기본 노드 구성을 시작한다.

→ 이처럼 ConfyUI 흐름 안에서 자연스럽게 다음 단계로 전환되도록 처리해야 정확합니다.


 

ControlNet으로 이미지 제어하기

ConfyUI는 단순히 텍스트 프롬프트만으로 이미지를 생성하는 것이 아니라,
ControlNet 기능을 활용하여 외부 입력값을 조건으로 이미지 생성에 영향을 주는 고급 제어 기능을 제공한다.
이 중에서도 가장 널리 사용되는 ControlNet 방식은 포즈 제어다.
사용자는 특정 인물 사진이나 실루엣 이미지를 참조하여,
해당 포즈를 기반으로 새로운 이미지를 생성할 수 있다.

포즈 제어를 위한 기본 구성은 다음과 같다.

  1. LoadImage
    포즈 참조용 이미지를 불러오는 노드
  2. OpenPosePreprocessor
    인물 이미지에서 스켈레톤 데이터를 추출하는 전처리 노드
  3. ControlNetApply
    추출된 스켈레톤 데이터를 텍스트 프롬프트와 함께 결합하여 이미지 생성 조건으로 사용하는 노드
  4. KSampler
    포즈와 프롬프트를 반영하여 이미지를 생성하는 노드

노드 간 연결은 다음과 같은 흐름으로 구성된다.
LoadImage → OpenPosePreprocessor → ControlNetApply
그리고 ControlNetApply에서 출력되는 conditioning 정보를 KSampler에 연결하여 반영한다.
이 구조를 통해 사용자는 단순한 설명이 아닌, 정확한 자세, 구도, 동작 정보를 기반으로 한 이미지 생성이 가능하다.

ControlNet은 포즈 외에도 깊이(Depth), 에지(Edge), 라인(MLSD), 세그먼트(Segmentation) 등
다양한 입력 방식을 지원하며, 하나 이상의 ControlNet을 동시에 사용할 수도 있다.

포즈 제어 시 Control Weight 값을 조정하면
얼마나 강하게 포즈 정보를 반영할지를 설정할 수 있다.
일반적으로 0.81.0 정도로 설정하면 의도한 포즈가 명확하게 반영되며,
0.4
0.6 사이로 낮추면 텍스트 프롬프트의 자유도가 더 높아진다.

 


업스케일링으로 해상도 개선

ConfyUI에서 생성되는 기본 이미지는 512x512 또는 768x768 해상도가 일반적이다.
이 해상도는 웹에서 보기에는 충분하지만, 인쇄물 제작이나 제품 디자인, 상업적 사용에는 부족할 수 있다.
이 문제를 해결하기 위해 ConfyUI는 다양한 업스케일링 노드를 지원한다.

대표적인 업스케일러는 다음과 같다.

  1. ESRGAN
    가장 널리 사용되는 업스케일러로, 이미지 디테일을 유지하며 해상도를 2~4배 확장할 수 있다.
  2. SwinIR
    최신 업스케일 알고리즘으로 부드러운 텍스처와 안정적인 품질을 제공한다.
  3. RealESRGAN_x4plus
    사람 얼굴과 배경 처리에 뛰어난 업스케일 모델로, 사진 스타일 이미지에 적합하다.

업스케일링 노드는 일반적으로 VAEDecode 이후 연결되며,
출력 결과를 SaveImage에 연결하여 저장한다.

해상도를 2배로 늘릴 경우, 768x768 이미지는 1536x1536이 된다.
Tile 기능을 사용하는 업스케일러의 경우,
이미지를 일정 블록 단위로 나누어 처리하기 때문에
VRAM이 낮은 환경에서도 고해상도 처리가 가능하다.


LoRA를 이용한 스타일 전환

ConfyUI는 스타일 전환을 위한 다양한 기법도 지원한다.
이 중에서도 가장 많이 활용되는 방식은 **LoRA(Low-Rank Adaptation)**이다.
LoRA는 특정 스타일, 색감, 얼굴 표현 방식 등을 사전에 학습시킨 파일이며,
사용자가 모델에 추가로 불러와 적용할 수 있다.

LoRA를 사용하려면 다음과 같은 노드를 구성해야 한다.

  1. Load LoRA
    사용할 LoRA 파일을 선택한다
  2. Apply LoRA
    로드한 LoRA를 기존 모델에 적용한다
    LoRA Strength 값을 조정하여 스타일 적용 강도를 결정할 수 있다
  3. KSampler와 연결
    LoRA가 적용된 상태로 이미지를 생성한다

예를 들어, 일본 애니메이션 스타일의 LoRA를 적용하면
현실적인 프롬프트 내용도 만화 스타일로 변환되어 출력된다.
이는 제품 패키지 디자인, 캐릭터 일러스트, NFT 아트 제작 등에 활용도가 높다.


얼굴 보정 기능

AI 이미지 생성의 고질적인 문제 중 하나는 얼굴 표현의 부정확성이다.
특히 눈, 코, 입의 위치가 어긋나거나 손가락이 뒤엉키는 등의 문제가 발생할 수 있다.
이를 보정하기 위한 대표적인 기능은 다음과 같다.

  1. GFPGAN (Generative Facial Prior GAN)
    손상된 얼굴을 복원하고 자연스럽게 리터칭하는 기능
    저해상도 이미지에서도 비교적 안정적인 품질을 제공한다
  2. CodeFormer
    인물의 표정을 유지하면서 고해상도 보정을 적용하는 기능
    디테일을 강조하는 데 강점이 있다

보정 노드는 일반적으로
이미지 생성 이후 Decode 또는 업스케일 단계 후에 연결하여 사용한다.
사용자는 보정 강도를 설정할 수 있으며,
원본과 보정본을 함께 출력하여 비교할 수도 있다.

 


 

워크플로우 저장과 반복 실행

ConfyUI의 가장 강력한 기능 중 하나는 사용자가 구성한 워크플로우를 파일 형태로 저장하고 언제든 다시 불러와 반복 실행할 수 있다는 점이다.
모든 노드의 상태, 설정 값, 연결 구조는 .json 파일에 기록되며,
저장한 워크플로우는 필요할 때마다 불러와 동일한 조건으로 즉시 실행할 수 있다.


워크플로우 저장 방법

  1. 모든 노드를 원하는 구성으로 배치하고 설정을 완료한다.
  2. 상단 메뉴에서 Save 버튼 클릭 또는 Ctrl+S 단축키를 사용한다.
  3. 저장 위치와 파일명을 입력하고 .json 형식으로 저장한다.

ConfyUI는 저장 시 자동으로 현재 모든 노드 상태를 포함한다.
프롬프트, 모델, 샘플러 설정, 이미지 해상도, 업스케일러, 스타일 적용 상태 등
모든 데이터가 그대로 기록된다.


워크플로우 불러오기

  1. 상단 메뉴에서 Load 버튼 클릭 또는 Ctrl+O 단축키를 사용한다.
  2. 저장된 .json 파일 선택
  3. 이전에 저장된 구성과 동일한 상태로 캔버스가 자동 복원된다.

이 방식은 반복 작업에 매우 유용하다.
예를 들어, 제품 사진 스타일의 이미지를 주기적으로 생성하거나,
동일한 스타일의 인물 이미지를 다른 프롬프트로 반복 제작할 경우
워크플로우를 미리 저장해두면 템플릿처럼 사용할 수 있다.


템플릿 구성 방식

ConfyUI에서 자주 사용하는 구성은 별도의 템플릿 폴더에 정리해두고,
필요 시 불러와 프롬프트만 바꾸는 방식으로 활용할 수 있다.

예시 템플릿:

  • portrait_base.json
    인물 생성 기본 구성. 모델, 샘플러, 얼굴 보정, 업스케일 포함
  • product_photo_4k.json
    제품 사진용 구성. 흰 배경, 높은 조명, RealESRGAN 적용
  • anime_style_lora.json
    LoRA 기반 애니메이션 스타일 생성용. 스타일 전환 노드 포함

템플릿은 프로젝트 별로 분류하거나 스타일별로 폴더를 나눠 저장하면
작업 효율이 높아진다.

 


노드 정리 및 시각적 구성 팁

캔버스에 노드가 많아지면 시각적으로 혼란스러워질 수 있다.
이를 방지하기 위한 노드 정리 방법은 다음과 같다.

  1. 노드 그룹화 사용
    여러 개의 관련 노드를 선택하고 G 키를 눌러 그룹으로 묶을 수 있다.
    그룹에는 이름과 배경 색상을 지정할 수 있어 시각적 분리가 용이하다.
  2. 노드 간 거리 유지
    지나치게 가까운 노드는 선이 겹쳐 가독성이 떨어지므로,
    중요한 노드 간에는 일정한 간격을 유지하는 것이 좋다.
  3. 노드 주석 사용
    특정 노드 위에 설명을 추가할 수 있는 주석 기능을 활용하여
    각 기능의 목적을 기록해두면 재사용 시 유용하다.

이미지 저장 경로 및 파일명 설정

기본적으로 ConfyUI는 생성된 이미지를 output 폴더에 저장한다.
이 폴더는 ConfyUI 루트 디렉토리에 있으며,
하위 폴더로 output/images와 output/tmp가 존재한다.

  • images: 최종 결과물 저장 경로
  • tmp: 임시 파일 저장 경로

사용자는 SaveImage 노드에서 다음과 같은 설정을 할 수 있다.

  • 파일명 형식 지정
    날짜, 시드값, 프롬프트 일부 등을 포함한 자동 파일명 설정 가능
  • 하위 폴더 지정
    스타일별, 프로젝트별로 폴더를 지정해 이미지 분류 가능
  • 이미지 포맷
    PNG, JPEG, WebP 등의 포맷 선택 가능

SaveImage 노드를 복수로 구성하면
동일한 이미지를 서로 다른 포맷이나 경로로 동시에 저장하는 것도 가능하다.


 

반응형