이 글에서는 ComfyUI 설치와 기본적인 사용법 그리고 ComfyUI Manager에 대한 내용을 담고 있습니다. 사용 목적과 상황에 따른 워크스페이스와 노드에 대한 사용법은 따로 글을 작성하도록 하겠습니다.
그리고 ComfyUI의 워크스페이스를 보다 쉽게 편집하고 재사용하기위해 StableSwarmUI를 고려해 볼 수 있습니다.
ComfyUI 설치
먼저 ComfyUI 릴리즈 페이지에서 최신 버전으로 빌드된 ComfyUI 압축파일을 다운로드 합니다. 아래 링크는 최신버전의 압축 파일을 다운로드 하는 링크입니다.
다운로드한 압축파일을 압축을 풀어줍니다. 윈도우에서 압축을 푸는데 문제가 있다면 반디집이나 7-zip같은 압축 프로그램을 사용해서 압축을 풀 수 있습니다.
압축을 풀어서 생성된 폴더에서 run_nvidia_gpu.bat 파일을 실행하면 ComfyUI가 시작되면서 브라우저에서 ComfyUI의 웹 인터페이스가 볼 수 있습니다. Nvidia 그래픽 카드를 사용하지 않거나 그래픽카드가 없다면 run_cpu.bat 파일을 실행해야 합니다.
기본적인 사용법
ComfyUI를 처음 실행하면 기본 워크플로우를 볼 수 있습니다. 오른쪽 메뉴에서 Load Default 버튼을 누르면 기본 워크플로우로 다시 되돌릴 수 있습니다.
Load CheckPoint 노드에서 ckpt_name을 클릭해서 사용할 모델을 선택합니다. 처음 설치하면 선택 할 수 있는 모델이 없기 때문에 모델을 추가해줘야 합니다. "ComfyUI\models\checkpoints" 경로에 모델을 추가하고 우측 메뉴에서 Refresh 버튼을 누르면 모델을 선택 할 수 있습니다.
노드에서 왼쪽 속성은 입력(input), 오른쪽 속성은 출력(output)입니다. 입력은 텍스트 입력란같은 위젯으로 표시될 수 있습니다.
서로 관련된 노드의 입·출력은 점을 클릭하고 드래그 해서 연결할 수 있습니다.
Load CheckPoint 노드의 CLIP(출력)이 CLIP Text Encode (Prompt) 노드의 clip(입력)으로 연결되있는 것을 볼 수 있습니다. CLIP은 인간의 언어를 처리하기 위한 모델의 이름 입니다.
CLIP Text Encode (Prompt) 노드의 출력인 CONDITIONING 이 각각 KSampler 노드의 입력인 positive와 negative와 되어 있기 때문에 긍정 프롬프트와 부정 프롬프트로 사용할 수 있습니다.
ComfyUI에는 프롬프트에 대한 몇가지 특수한 문법이 있습니다. keyword:1.5
처럼 키워드에 가중치를 부여하거나 {wild|card|test}
를 사용하면 괄호 사이의 키워드를 무작위로 선택합니다. 그리고embedding:BadDream
처럼 입력하면 "modesl/embedding" 경로에 저장된 BadDream이라는 이름의 embedding을 사용합니다.
우측 패널에서 Queue Prompt 버튼을 누르면 대기열에 워크플로우가 추가되고 실행됩니다. Queue Front 버튼은 대기열 앞에 추가됩니다. 생성된 이미지는 Output 디렉토리에 저장됩니다.
빈공간을 더블 클릭하면 노드를 검색하고 추가할 수 있는 팝업이 나타납니다. 또는 노드의 입력이나 출력의 점을 빈공간에 놓으면 입·출력과 관련된 노드에 대한 팝업 메뉴가 나타납니다.
VAE가 포함되어 있지 않는 모델이 있을 수 있습니다. VAE를 추가해서 사용하기 위해 VAELoader 노드를 추가하고 VAELoader 노드와 VAE Decode 노드를 연결합니다. 그리고 사용할 VAE를 ComfyUI 폴더 밑에 models/vae 경로에 저장하면 VAE를 선택하고 사용할 수 있습니다..
여러개의 노드를 묶어 하나의 노드로 표시 할 수도 있습니다. 예를 들어 Ctrl + 우클릭으로 Load Checkpoint 노드와 Load VAE 노드를 선택하고 선택한 노드에서 우클릭, 나타나는 팝업 메뉴에서 Convert to Group Node를 선택, 그리고 이름을 입력하면 하나의 노드로 표시됩니다.
하나의 노드로 표시하는 대신 Group에 노드를 추가해서 사용할 수도 있습니다. Group은 안에 있는 노드들을 한번에 이동하거나 수정하는 일괄 작업을 할 수 있습니다.
사용하지 않는 노드는 Mute(단축키 Ctrl
+ M
) 또는 Bypass(단축키 Ctrl
+ B
)를 사용해서 비활성화 할 수 있습니다.
- Mute는 노드를 제거한 것처럼 동작합니다.
- Bypass는 노드가 무시되고 입력과 출력을 연결하는 다리 역할을 하게 됩니다. 노드의 입·출력이 올바르게 연결되지 않았다면 Mute 동작과 같습니다.
우측 패널에서 Save 버튼으로 현재 사용하는 워크플로우를 저장하고 Load 버튼으로 워크플로우를 재사용할 수 있습니다. 참고로 ComfyUI에서 생성한 이미지는 사용한 워크플로우에 대한 메타데이터를 포함하고 있습니다. 때문에 이미지를 재사용할 수 있는 워크플로우로 활용 할 수 있습니다.
ComfyUI Manager
ComfyUI에서 기본적으로 사용할 수 있는 노드외에 Custom Node(사용자 정의 노드)를 추가 할 수 있습니다. 하지만 Custom Node는 Python 언어에 대한 프로그래밍 지식이 필요하기 때문에 작성하기 어렵습니다. ComfyUI Manager는 개발자들이 만든 Custom Node를 쉽게 추가하고 관리할 수 있는 ComfyUI 확장입니다.
ComfyUI Manager 설치
먼저 터미널을 열고 ComfyUI/custom_nodes 경로로 이동해야합니다. 탐색기를 열고 "ComfyUI/custom_nodes" 경로로 이동한 뒤, 주소 표시줄에 cmd
를 입력하면 이 과정을 쉽게 할 수 있습니다.
터미널에 다음 명령어를 입력해서 ComfyUI Manager를 custom_nodes 디렉토리에 복제해옵니다. Git이 설치되어 있어야합니다.
git clone https://github.com/ltdrdata/ComfyUI-Manager
적용하기 위해 ComfyUI를 다시 실행합니다. 정상적으로 설치가 됐다면 우측 패널에 Manager 버튼과 Share 버튼이 추가된 것을 볼 수 있습니다.
ComfyUI Manager 사용 방법
우측 패널에서 Manager 버튼을 누르면 ComfyUI Manager Menu가 나타납니다.
ComfyUI Manager Menu에서 많은 기능이 있습니다. 주로 사용해야할 기능은 다음과 같습니다.
- Install Custom Nodes - 커스텀 노드를 추가,제거 그리고 업데이트를 할 수 있습니다.
- Install Models - 체크포인트, VAE, 업스케일러 같은 모델들을 설치할 수 있습니다.
- Install Missing Custom Nodes - 현재 워크스페이스에 대해서 누락된 커스텀 노드를 찾아 추가할 수 있습니다.
- Update All - ComfyUI와 추가한 커스텀 노드를 모두 업데이트합니다.
- Update ComfyUI - ComfyUI를 업데이트합니다.
Install Custom Nodes 버튼을 누르면 설치할 수 있는 커스텀 노드 목록을 볼 수 있습니다. 목록 위에 별을 누르면 인기순으로 정렬됩니다.
사용 목적과 상황에 따라 사용해야 할 커스텀 노드가 달라질 수 있습니다. 추천하는 custom nodes와 사용 방법은 따로 글을 작성 하도록 하겠습니다.
'IT > Stable Diffusion' 카테고리의 다른 글
스테이블 디퓨전 StableSwarmUI 설치 및 사용 방법 (0) | 2024.04.25 |
---|---|
스테이블 디퓨전 webui 유용한 확장 모음 (0) | 2024.04.13 |
스테이블 디퓨전 모델 및 프롬프트 관련 유용한 웹사이트 모음 (0) | 2024.04.13 |
Stable Diffusion Model: 어떤 모델을 사용해야하는가 (0) | 2024.03.19 |
Stable Diffusion webui 설치하는 방법 (0) | 2024.03.19 |