ComfyUI + Hermes — 윈도우 PC를 로컬 이미지·영상 생성 서버로 만들기
목표: ComfyUI Desktop을 윈도우 PC에 설치하고, Hermes Agent와 네트워크로 연결해 로컬 이미지·영상·오디오 생성 서버로 활용하는 전체 흐름을 따라간다.
클라우드 기반 영상 생성은 편하지만, 반복 실험을 하면 크레딧이 빠르게 소모된다. 예를 들어 BO 3.1 패스트 모델로 8초 영상 하나를 만들면 약 20 크레딧이 깎이고, 50회 반복하면 1,000~3,000 크레딧이 필요하다. 울트라 요금제(월 $100) 이상이어야 감당 가능한 수준이다.
이 실습은 로컬 컴퓨터에 ComfyUI를 설치해 반복 실험 비용을 없애고, 그 서버를 Hermes Agent가 원격에서 API로 호출하는 구조를 만드는 과정이다.
이번에 만드는 것
[Windows PC (ComfyUI Server)] ←—— 네트워크 ——→ [Hermes Agent (Mac/Linux)]
GPU: 로컬 이미지/영상/오디오 생성 API 호출로 작업 지시·결과 수신
- ComfyUI Desktop 설치 및 실행
- 네트워크 외부 접속 설정 (localhost → 0.0.0.0 포워딩)
- Hermes에서 API 연결 확인
- 워크플로우 내보내기 → Hermes에 제공
- 입력/출력/로그/QA 구조로 실습 프로젝트 폴더 세팅
STEP 1. ComfyUI Desktop 설치
1-1. 다운로드
- ComfyUI 공식 사이트에 접속
- Download 버튼으로 ComfyUI Desktop 설치 파일을 다운로드
- 다운로드된 파일을 더블 클릭해 설치 진행
1-2. 첫 실행
- 바탕화면에 ComfyUI Desktop 아이콘이 생성됨
- 더블 클릭 → ComfyUI (Cloud가 아닌 로컬) 클릭
- Starting… 화면이 뜨며 ComfyUI 서버가 기동됨
1-3. 초기 상태
처음 실행하면 빈 캔버스 상태다. 왼쪽 모델 패널에 빨간 불(다운로드 필요)이 표시되는데, 모델 일괄 다운로드를 먼저 진행한다.
💡 모델 다운로드: 왼쪽 패널에서 모든 모델을 한꺼번에 다운로드한다. 시간이 걸리니 인내심이 필요하다.
STEP 2. 워크플로우 & 템플릿 준비
2-1. 워크플로우 다운로드
ComfyUI의 Templates 탭에서 필요한 워크플로우를 다운로드할 수 있다.
| 워크플로우 | 용도 | 설명 |
|---|---|---|
| ACE | 오디오 생성 | 음악, 음악 효과 생성 |
| Image Turbo | 이미지 생성 | 빠른 텍스트→이미지 |
| Image-to-Video | 영상 생성 | 정지 이미지에서 비디오 생성 |
| Image+Audio to Video | 립싱크 영상 | 이미지 + 오디오 → 입모양 맞춘 비디오 |
2-2. 워크플로우 API 내보내기
워크플로우를 Hermes가 호출할 수 있으려면 JSON 형식의 API 파일이 필요하다.
- 워크플로우 캔버스에서 File → API Export (Save) 클릭
.json파일로 저장- 이 JSON 파일을 Hermes에 전달하면 에이전트가 노드 구조와 입력/출력 형식을 파악할 수 있다
2-3. 모델 다운로드 확인
워크플로우에 필요한 모델이 모두 다운로드되었는지 확인한다. 누락된 모델이 있으면 해당 워크플로우를 실행할 수 없다.
💡 Hermes 팁: 워크플로우 JSON을 Hermes에 보내기만 해도, “이 워크플로우가 실행 가능한지”를 검증할 수 있다. 필요한 모델이 빠져 있으면 그것까지 지적해 준다.
STEP 3. 네트워크 외부 접속 설정 (핵심)
3-1. 문제 상황
ComfyUI는 기본적으로 127.0.0.1:8188 (localhost)로만 열린다. 즉, 내 PC에서만 접근 가능하다.
하지만 Hermes Agent는 다른 기기(예: MacBook)에서 실행되므로, 같은 네트워크 내에서 접근할 수 있게 만들어야 한다.
3-2. IP 주소 확인
ipconfig현재 PC의 IPv4 주소를 확인한다. 예: 192.168.0.28
3-3. localhost vs 외부 접근
| 바인딩 주소 | 의미 |
|---|---|
127.0.0.1:8188 | 내 PC 안에서만 접근 가능 (기본값) |
0.0.0.0:8188 | 모든 IP에서 접근 가능 (내부망) |
3-4. 포트 포워딩 설정
⚠️ 관리자 권한 필요
- PowerShell을 관리자 모드로 실행 (시작 메뉴 → PowerShell → 우클릭 → 관리자로 실행)
- 아래 명령어를 실행한다 (8189번 포트를 8188번으로 포워딩):
netsh interface portproxy add v4tov4 listenport=8189 listenaddress=0.0.0.0 connectport=8188 connectaddress=127.0.0.1- 설정 확인:
netsh interface portproxy show all3-5. 접근 테스트
이제 같은 네트워크의 다른 기기에서 아래로 접속할 수 있다:
http://192.168.0.28:8189
💡 방화벽: Windows 방화벽이 8189번 포트를 차단하지 않는지 확인. 필요하면 인바운드 규칙을 추가한다.
STEP 4. Hermes에서 ComfyUI 연결 확인
4-1. 시스템 상태 확인
Hermes에 ComfyUI 서버 주소를 알려주고 시스템 상태를 확인해 달라고 요청한다.
ComfyUI 서버 주소: http://192.168.0.28:8189
Hermes는 다음 API를 호출해 상태를 확인한다:
GET http://192.168.0.28:8189/system_stats → 200 OK
GET http://192.168.0.28:8189/object_info → 200 OK
반환 정보:
- OS 정보
- ComfyUI Python 버전
- PyTorch 버전
- 환경 정보
- GPU 정보
- 사용 가능한 노드 목록
4-2. 모델 & 노드 확인
Hermes에 “현재 ComfyUI에 어떤 모델과 노드가 있는지 목록을 작성해 줘” 라고 요청한다.
에이전트가 직접 API를 호출해:
- 설치된 모델 목록
- 사용 가능한 노드 클래스 목록
- 각 노드의 입력/출력 스펙
을 정리해 준다.
💡 핵심: 이 시점부터 ComfyUI는 단순한 앱이 아니라 에이전트가 호출할 수 있는 제작 서버가 된다.
STEP 5. 프로젝트 폴더 구조 세팅
5-1. 구조 설계
자동 생성에서는 결과물보다 구조가 먼저다. 입력(Input), 출력(Output), 실행 기록(Log), 품질 검수(QA)가 분리되어야 실패를 되돌리고 재실행할 수 있다.
practice/
├── 01-input/ # 입력 자료
│ ├── images/ # 시작 이미지
│ ├── audio/ # 나레이션/음원
│ └── scripts/ # 프롬프트 텍스트
├── 02-output/ # 생성 결과물
│ ├── images/
│ ├── videos/
│ └── audio/
├── 03-log/ # 실행 기록
│ └── YYYY-MM-DD.md # 날짜별 실행 로그
└── 04-qa/ # 품질 검수
└── YYYY-MM-DD.md # 날짜별 검수 결과
5-2. 입력 시트 준비
생성 전에 어떤 이미지를 만들지, 어떤 나레이션을 쓸지를 입력 시트로 정리한다. Hermes에게 아래와 같이 요청한다:
practice/ 폴더를 아래 구조로 만들어 줘:
- 시작 이미지와 나레이션 원고에 대한 input 시트
- 생성된 이미지·영상·음악을 넣는 output 폴더
- 실행 기록(log)
- QA 검수 결과
5-3. QA 평가 기준 수립
에이전트가 반복 생성(루핑)할 때 통과/실패를 판단할 기준을 미리 정한다.
QA 기준 예시:
이미지:
- 해상도: 1024x1024 이상
- 노이즈: 과도한 아티팩트 없음
- 프롬프트 반영: 텍스트 의도와 일치
영상:
- 길이: 8초 ± 1초
- 프레임 연속성: 끊김 없음
- 립싱크: 입모양과 오디오 동기화
오디오:
- 볼륨: 클리핑 없음
- 품질: 배경 노이즈 최소화STEP 6. 생성 실행
6-1. 이미지 생성
- 워크플로우 JSON을 Hermes에 전달
- 프롬프트(시작 이미지, 텍스트)를 지정
- Hermes가 ComfyUI API를 호출해 생성
- 결과물을
02-output/images/에 저장
6-2. 영상 생성
- 생성된 이미지를 입력으로 사용
- Image-to-Video 또는 Image+Audio to Video 워크플로우 사용
- Hermes가 API 호출 후 결과를
02-output/videos/에 저장
6-3. 오디오 생성
- ACE 워크플로우 사용
- 배경 음악 또는 효과음 생성
- 결과를
02-output/audio/에 저장
6-4. 로그 기록
매 실행마다 03-log/에 날짜별로 기록한다:
- 사용한 워크플로우
- 입력 프롬프트
- 생성 시간
- 결과 파일 경로
- 오류 발생 시 내용
전체 흐름 요약
graph LR A[ComfyUI Desktop<br/>Windows PC] -->|API Export JSON| B[Hermes Agent<br/>Mac/Linux] B -->|HTTP API 호출| A A -->|생성 결과| B B -->|결과물 저장| C[practice/] C --> D[01-input/] C --> E[02-output/] C --> F[03-log/] C --> G[04-qa/]
| 단계 | 내용 | 도구 |
|---|---|---|
| 1 | ComfyUI Desktop 설치 & 모델 다운로드 | ComfyUI Desktop |
| 2 | 워크플로우 내보내기 (JSON) | ComfyUI UI |
| 3 | 네트워크 외부 접속 설정 | PowerShell (관리자) |
| 4 | Hermes에서 연결 & 상태 확인 | Hermes Agent |
| 5 | 프로젝트 폴더 구조 세팅 | Hermes Agent |
| 6 | 이미지/영상/오디오 생성 | ComfyUI + Hermes |
| 7 | QA 검수 & 로그 기록 | 수동 / Hermes |
트러블슈팅
❌ Hermes에서 연결이 안 될 때
# 1. 포트 포워딩 설정 확인
netsh interface portproxy show all
# 2. ComfyUI가 실제로 실행 중인지 확인
# ComfyUI Desktop이 켜져 있는지 확인
# 3. 방화벽 규칙 확인
netsh advfirewall firewall show rule name=all | findstr 8189❌ 모델이 다운로드 안 된 것 같을 때
- ComfyUI 왼쪽 패널에서 빨간 불이 있는 모델 확인
- 모델 일괄 다운로드 클릭
- 다운로드가 완료될 때까지 기다린 후 워크플로우 재실행
❌ 생성 결과가 이상할 때
- 프롬프트를 단순화해 보기 (복잡한 프롬프트는 디테일이 흐려질 수 있음)
- 스텝 수(step)를 늘려 보기
- 시드(seed)를 고정해 재현 가능하게 테스트
참고
- 영상 출처: ComfyUI + Hermes 실습 영상 (일하는 AI 채널)
- ComfyUI 공식: https://comfyui.com
- Hermes Agent: https://hermes-agent.nousresearch.com