로컬 ComfyUI를 AI 에이전트에서 구동하는 Skill `comfyui-image-generation` 제작 (Qwen Image 2.1
요약
본 글은 로컬 환경에서 구동되는 ComfyUI를 AI 에이전트가 사용할 수 있도록 `comfyui-image-generation`이라는 Skill을 제작한 과정을 설명합니다. 이 스킬은 사용자의 요청을 이미지 생성용 영어 프롬프트로 확장하고, API 워크플로우에 따라 이미지를 생성하며 결과를 확인하는 기능을 수행합니다.
핵심 포인트
- AI 에이전트가 ComfyUI를 활용하여 이미지 생성을 자동화함.
- 사용자 입력과 API 워크플로우만으로 다양한 모델(Flux, Z-Image 등)을 지원하도록 설계됨.
- 로컬 환경 제약사항(127.0.0.1 연결, 표준 라이브러리 사용 등)을 명확히 설정하여 안정성을 높임.
자신의 머신에서 작동하는 ComfyUI를 AI 에이전트(Claude Code 등)로부터 사용할 수 있는 Skill인 comfyui-image-generation을 만들었습니다.
에이전트가 수행하는 과정은 다음과 같습니다.
- 한마디의 요청을 이미지 생성용 영어 프롬프트로 확장합니다.
- 사용자가 작성한 API 형식의 워크플로우에 프롬프트, 시드, 사이즈를 입력합니다.
- ComfyUI에 노드와 모델 파일이 갖춰져 있는지 먼저 확인합니다.
127.0.0.1의 ComfyUI로 작업을 전송하고 완료를 기다린 후 이미지를 저장합니다 - 저장된 이미지를 열어 요청과 일치하는지 확인합니다.
모델은 Skill이 선택하는 것이 아니라, 전달받은 워크플로우에 의해 결정됩니다. Flux든 Z-Image든, API 형식의 워크플로우만 전달하면 동일한 흐름으로 작동하도록 설계되었습니다 (실측한 것은 Qwen Image 2.1 뿐입니다).
ComfyUI에는 로그인 기능이 없으므로 다음과 같이 제한했습니다.
- 연결 대상은 기본적으로
127.0.0.1로만 합니다. 다른 머신에 연결하려면--allow-remote가 필요합니다 - ComfyUI의 시작/정지/재시작, 사용자의 작업 취소는 하지 않습니다 - 모델 다운로드, 커스텀 노드나 pip 패키지 설치는 하지 않습니다. 부족한 것이 있으면 이름을 보고하고 멈춥니다
- 스크립트는 Python 표준 라이브러리만 사용합니다. 이미지는 지정된 폴더에만 저장하며, 기존 파일은 덮어쓰지 않습니다.
| 항목 | 내용 |
|---|---|
| ComfyUI | 0.39.2 |
| ... | qwen_image_2.1_int8_convrot (본체), qwen3vl_8b_int8_convrot (텍스트 인코더), qwen_image_2.1_vae_bf16 (VAE) |
| 설정 | 3:2, 25 스텝, 시드 895035350286699 |
| 소요 시간 | 약 175초 (1 장) |
요청은 짧은 한마디였고, 에이전트가 이를 영어 프롬프트로 확장했습니다. 출력물은 빨간 빈티지 자전거를 오래된 벽돌담에 기대어 놓은 사진 같은 이미지입니다(수정 없음).
에이전트가 확장한 영어 프롬프트 (전문):
A photograph of a red vintage bicycle leaning against an old, weathered brick wall on a quiet cobblestone street in a small European town. The bicycle stands slightly left of center, filling about a third of the frame, with a classic step-through frame, curved handlebars and a leather saddle. Low late-afternoon sun comes from the side, casting warm golden light and long soft shadows across the bricks and cobbles; the muted ochre and terracotta wall contrasts with the saturated red of the bicycle. Empty street with softly blurred old buildings in the background. Natural documentary photography, shallow depth of field, landscape composition, no text, no signs, no lettering.
에이전트 자신이 이미지를 보고 확인한 결과는 다음과 같습니다.
-
일치한 점: 빨간 자전거, 오래된 벽돌담, 돌길 골목, 따뜻한 측면 빛, 화면 내 문자 없음
-
부족했던 점: 프롬프트에서는 길고 부드러운 그림자를 지정했지만, 이미지에서는 그림자가 그다지 눈에 띄지 않음. 차체 뒷부분이 약간 흐릿함
-
ComfyUI가 실행 중인 상태(Skill 자체는 실행되지 않습니다)
-
워크플로우를 API 형식으로 저장하고 있는 상태(설정에서 개발자 옵션을 활성화한 후, 'Save (API Format)'을 사용)
워크플로우가 사용하는 모델들을 모두 미리 다운로드하여 지정된 폴더에 배치해 두어야 합니다. Skill은 존재 여부만 확인하며, 필요한 모델이 부족하면 중단됩니다. 새로운 모델은 새로운 노드를 사용할 수 있으며, 이 경우 ComfyUI의 업데이트가 필요합니다.
- 테스트한 것은 Qwen Image 2.1 워크플로우 단 하나입니다. 다른 워크플로우는 미검증 상태입니다.
- 한 번 시도한 것입니다(처음 시도는 중간에 중단했으므로 계산하지 않았습니다).
- Windows / Linux / NVIDIA GPU 환경에서는 테스트하지 않았습니다.
AIBars의 Skills 디렉토리에 게시되어 있습니다 (MIT 라이선스, AIBars 제작).
스크립트를 실행하는 Skill이므로, 사용하기 전에 내용을 읽어보시기 바랍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기