ComfyUI를 JSON 생성 요청으로부터 시작하기

by 공인식

날이 가기 무섭게 AI 관련 새 소식이 넘쳐나는 요즘입니다. 그 와중에도 저는 Stable Diffusion에라도 먼저 익숙해지자며 책을 두 권 사놓고 조금씩 보고 있었습니다. WebUI를 한번 맛보고 난 후에는 어째서인지 다시 잡기가 쉽지 않았는데, StabilityMatrix를 통해 ComfyUI의 설치를 의외로 간단히 끝내고 나니, ComfyUI는 시간 가는 줄 모르고 붙잡고 있게 됐습니다. Model Checkpoint나 Sampler의 특성이 제대로 한번 정리가 되고, LoRA나 Flux 등 최종 결과물에 영향을 크게 미치는 기술들에 대한 충분한 이해가 따라준다면, 보다 쉽게 원하는 결과를 얻을 수도 있겠다는 자신감도 듭니다.


그렇게 책의 예제들을 따라 해 보다 보니,
이미지나 영상으로 결정되는 최종 결과물도
하나의 문서처럼 느껴지기도 합니다.



그래서 그런지, 단일 입력창 혹은 그룹화된 입력창을 통해 준비된 텍스트 프롬프트들은, 모델의 해석과 샘플링 방식을 거쳐 그저 모자와 선글라스를 쓰고 멋진 옷으로 한껏 멋을 낸 것으로 정리가 되기도 합니다.

디테일이 부족하거나 개연성이 없다 해석되는 프롬프트는 어울리지 않는 옷차림을 한 듯 금방 납득하기 어려운 결과를 낼 수밖에 없는 것이고, 그럴듯한 흐름의 프롬프트는 코디네이터의 손을 탄 것처럼 멋진 결과를 내는 것이 가능해지는 것이라 정리할 수 있습니다.


그렇다면, 납득이 가는 결과를 위해서는 결국 프롬프트가 여러 레이어를 가질 수밖에 없고, 독자(해석 모델과 샘플링 방식)를 충분히 설득하기 위해, 의외로 프롬프트 작성자의 머릿속에 든 이야기는 이미지나 영상으로 표현되기 위해 상당히 장황한 글로 풀어져야 하는 과정이 따라주어야 할 수도 있습니다. 그러니, 이미지 툴의 사용이나 생성형 AI 툴의 사용이 익숙하지 않더라도, 텍스트로 정리된 양질의 콘텐츠만 있다면 생성형 AI 툴이나 서비스를 통한 가공물의 제작을 어렵게 느끼지 않아도 되겠습니다.


ComfyUI


Workflow

ComfyUI의 ‘워크플로(workflow)’는 JSON 형태의 파일로 운용됩니다. 나중에 저의 다른 연재에서도 다뤄지겠지만, JSON은 보통 격자형 그리드의 칼럼과 행으로 정리된 DB나 스프레드시트 상의 ‘데이터(value)’라는 빨래가, 세로로 늘어진 줄 위에 ‘키(key)’라는 집게에 집혀 널어진 모양을 하고 있다고 정리하시면 됩니다. 텍스트 파일이라 에디터로 수정이 가능합니다.


워크플로가 JSON으로 저장이 될 수 있다는 것은, 거꾸로 JSON 파일의 생성으로부터도 ComfyUI의 GUI에 접근이 가능하다는 것을 의미합니다. 아래는 제가 Claude에서 ComfyUI의 워크플로 생성을 요청한 예시입니다.


요청

ComfyUI의 workflow는 JSON 형태야. Checkpoint, Promt 등 Promt의 value 값만 바뀌면 비슷한 품질의 결과물을 항상 얻을 수 있는 거지. 그렇다면, 원하는 프롬프트와 함께 ComfyUI workflow를 생성해 달라는 요청으로 나온 결과도 그냥 바로 복사해서 JSON 파일로 만들면 ComfyUI에서 사용할 수 있겠네?


AI 정보

네, 맞습니다. ComfyUI의 워크플로우는 JSON 형태로 되어 있어서, Checkpoint나 Prompt와 같은 값만 바꾸면 비슷한 품질의 결과물을 일관되게 얻을 수 있습니다.
원하는 프롬프트와 함께 ComfyUI 워크플로우를 생성하면, 그 JSON 파일을 바로 ComfyUI에서 불러와서(import) 사용할 수 있습니다. 워크플로우 JSON을 export 하면 노드 구성, 연결 정보, 매개변수 값들이 모두 저장되므로 다른 사람이나 다른 컴퓨터에서도 동일한 설정으로 이미지를 생성할 수 있죠. 특정 프롬프트를 포함한 워크플로우를 원하신다면 제가 예시 JSON을 만들어 드릴 수 있습니다. 어떤 종류의 이미지 생성을 위한 워크플로우가 필요하신가요?



제약

아쉽게도 Claude가 생성해 준 워크플로는 한 번에 실행될 수 있는 상태는 아니었습니다. 두어 번 버그 패치를 요청하고 추가로 몇몇 설정을 건드리고 나서야 오류 없이 실행됐습니다. 다행히, 오류 메시지를 그대로 복사해 Claude에 던지면 본인의 환경에 맞는 해결책을 얻을 수 있습니다.



Claude로부터 얻은 Workflow JSON 파일을 불러와 실행한 결과



참고 도서

https://product.kyobobook.co.kr/detail/S000214700797

https://product.kyobobook.co.kr/detail/S000213842127


keyword
작가의 이전글누군가를 잊는 일에도 의지가 필요하다