본문 바로가기

AI 바이브 코딩

ComfyUI에 로컬 비전 AI 붙이기 — "이 그림, 프롬프트로 뽑아줘" (역프롬프트 파이프라인)

남이 만든 멋진 이미지, 프롬프트가 궁금했던 적 있나요? 이제 내 GPU가 대신 읽어줍니다.

들어가며

ComfyUI로 텍스트→이미지, 이미지→동영상은 많이들 씁니다. 그런데 반대 방향 — 이미지를 주면 프롬프트를 뽑아주는 워크플로는 의외로 잘 안 알려져 있어요. 이걸 "인터로게이트(interrogate)" 혹은 역프롬프트라고 부릅니다.

이 글에서는 클라우드 API 한 푼 안 쓰고, 로컬 비전 언어모델(qwen2.5-vl) 을 ComfyUI에 붙여서:

  • 이미지 → 프롬프트 추출 (역프롬프트)
  • 이미지 → 프롬프트 → 같은 느낌으로 재생성

두 가지 워크플로를 만든 과정을 정리합니다. 환경은 RTX 5070(12GB) 윈도우 PC + Stability Matrix의 ComfyUI입니다.

준비물

  • ComfyUI (Stability Matrix로 설치한 것 기준)
  • Ollama — 로컬 LLM 서버. 반드시 최신 버전 (구버전은 최신 GPU를 못 잡고 CPU로 돌아서 극도로 느립니다. 저는 0.24 → 0.31로 올리고 나서야 GPU 가속이 붙었어요)
  • 비전 모델: ollama pull qwen2.5vl:7b (약 6GB, VRAM 5GB 사용)

1단계 — Ollama에 비전 모델 올리기


ollama pull qwen2.5vl:7b
ollama run qwen2.5vl:7b "안녕"   # 동작 확인

qwen2.5-vl 7B는 이미지를 이해하는 오픈소스 모델입니다. 제 테스트에서는 기계 도면의 치수·표제란(한글 포함)까지 읽어낼 정도로 인쇄 텍스트 인식이 좋았고, 응답 속도는 GPU 기준 2~7초였습니다.

2단계 — ComfyUI-Ollama 커스텀 노드 설치

ComfyUI의 확장 관리자(Manager)에서 ComfyUI-Ollama (제작자 stavsap)를 검색해 설치하고 재시작합니다.

UI에서 못 찾겠다면 수동 설치도 간단합니다:


cd ComfyUI\custom_nodes
git clone https://github.com/stavsap/comfyui-ollama.git
venv\Scripts\python.exe -m pip install ollama

그리고 ComfyUI 재시작. 노드 목록에 OllamaVision 이 생기면 성공.

3단계 — 역프롬프트 전용 워크플로 (노드 3개면 끝)


LoadImage → OllamaVision → PreviewAny
  • LoadImage: 분석할 이미지 업로드
  • OllamaVision: url http://127.0.0.1:11434, model qwen2.5vl:7b, query에 지시문
  • PreviewAny: 추출된 프롬프트를 텍스트로 표시 (ComfyUI 기본 내장 노드)

query 지시문 예시:


Describe this image as a single detailed text-to-image prompt
for the Flux model. Cover: main subject, art style, lighting,
composition, color palette, mood, background.
Output ONLY the prompt in English as one paragraph.

실행하면 몇 초 만에 PreviewAny 박스에 영어 프롬프트가 출력됩니다. 복사해서 미드저니든 다른 워크플로든 어디든 쓰면 됩니다.

지시문 튜닝 레시피

  • Output as comma-separated tags → SD 계열용 태그 스타일
  • Describe camera movement and motion for image-to-videoi2v(이미지→동영상)용 모션 프롬프트
  • 용도별로 지시문만 바꾸면 같은 노드가 다른 도구가 됩니다.

4단계 — 프롬프트로 바로 재생성까지 (원클릭 변형)

역프롬프트 출력(STRING)을 CLIPTextEncode의 text 입력에 직접 연결하면, 사람 손 없이 "이미지 → 프롬프트 → 새 이미지"가 한 번에 돌아갑니다.


LoadImage → OllamaVision ─(response)→ CLIPTextEncode(positive)
CheckpointLoader(flux1-schnell) → KSampler(4step, cfg 1.0) → VAEDecode → SaveImage

참조 이미지를 넣고 실행하면: 비전 모델이 프롬프트를 뽑고(~3초) → Flux가 그 프롬프트로 새 이미지를 생성(~12초). seed를 randomize로 두면 돌릴 때마다 "같은 느낌, 다른 그림"이 나옵니다. 레퍼런스 스타일 변형 생산에 아주 유용해요.

보너스 1 — 워크플로가 컴퓨터마다 다르게 보인다면

ComfyUI를 여러 기기에서 쓰다 보면 "어? 어제 만든 워크플로가 왜 없지?" 하게 되는데:

  • 저장 안 한 작업(Unsaved) 은 그 브라우저의 localStorage에만 삽니다
  • [워크플로우 → 저장] 을 눌러야 서버에 저장되어 모든 기기에서 보입니다

"저장 안 한 것 = 그 브라우저만의 것, 저장한 것 = 어디서나" — 이것만 기억하세요.

보너스 2 — 아이패드·외부에서 접속하기

ComfyUI는 웹 UI라 다른 기기에서도 열 수 있습니다.

  • 같은 공유기(LAN): http://<PC내부IP>:8188 (ComfyUI 실행 옵션에 --listen 필요)
  • 외부 어디서든: 포트포워딩 대신 Tailscale(무료 VPN 메시망)을 추천합니다. PC와 아이패드에 Tailscale을 설치하고 같은 계정으로 로그인하면, 아이패드에서 http://100.x.x.x:8188 (테일넷 IP)로 어디서든 접속됩니다. 공유기 설정도, 외부 노출도 없어서 안전해요.
  • 팁: iOS는 Tailscale VPN이 슬그머니 꺼질 때가 있습니다. "갑자기 안 열려요"의 90%는 토글 OFF — 앱 열고 켜면 해결.

마치며 — 비용 이야기

이 파이프라인의 핵심 매력은 API 비용 0원입니다. 이미지 분석은 클라우드 AI에서 토큰을 많이 먹는 작업인데, 로컬 비전 모델이 그 부분을 통째로 가져가면 부담 없이 무한정 돌릴 수 있어요. "1차 인식은 로컬 GPU, 고급 판단만 클라우드" — 이 분업이 로컬 AI 시대의 실속 있는 구조라고 생각합니다.

다음 글에서는 이 비전 모델로 기계 도면 표제란을 자동으로 읽어 정리하는 업무 자동화 편을 다뤄볼까 합니다.

환경: Windows 11 · RTX 5070 12GB · Stability Matrix · ComfyUI · Ollama 0.31 · qwen2.5vl:7b