
좀 더 세밀한 제어로 원하는 결과를 만들기 위해 ComfyUI를 사용하기로 해 보자.
ComfyUI 다운로드 페이지에서 다운로드 받을 수 있다. 일반 개인이 이미지 생성을 AI로 최대한 효율적으로 하기 위해서는 고성능의 nvidia 그래픽 카드를 장착한 PC를 사용해야 하며, 따라서 windows 기반 환경으로 개발환경이 좁혀지게 된다.
위 받은 압축파일을 원하는 위치에 풀고, run_nvidia_gpu.bat를 실행하면 끝이다.

처음 실행되면 자동으로 웹 페이지가 뜰 것이다. 추가적으로 요소를 다운받겠다는 메시지가 뜨면 아니오를 눌러주자. 튜토리얼에 대한 부분을 진행하기 위한 요소인데 이것을 굳이 받을 필요는 없다.

그래도 우선 형태 자체는 눈으로 확인 해보면 대충 감이 올 것이다. 이전의 WebUI에서 있던 용어나 명칭들이 눈에 보인다. 또한 이제는 순서에 의해서 이것이 동작하고 있는 것도 알 수 있다.
체크포인트로 모델을 가져와서, 프롬프트를 거치고, 샘플러와 VAE를 통해서 출력결과를 얻고 그 결과를 이미지로 저장하는 구조를 한 눈에 볼 수 있다. 이 화면을 나타내는 용어인 Workflow 가 한눈에 들어온다.
이 Workflow를 직접 만드는 것이 가장 기초 시작이 되겠지만, 이런 부분은 최대한 생략하고, 이미 만들어진 형태에서 일부 값을 수정하는 형태로 바로 사용하는 방식을 알아보기로 한다.
나는 이전의 FULX 모델을 그대로 사용 해 보기로 하고 이전에 받았던 파일들은 다음의 위치로 옮겼다.
flux1-dev.safetensors -> ComfyUI\models\diffusion_models
ae.safetensors -> ComfyUI\models\vae
clip_l.safetensors, t5xxl_fp16.safetensors -> ComfyUI\models\text_encoders
(LoRA는 지금단계에서는 사용하지 않는다)
받았던 파일들을 WebUI폴더에서 ComfyUI폴더로 옮겨주었다.
이제 만들어진 FLUX 모델 기반 Workflow를 가져오기로 한다.
ComfyUI_examples/flux이 페이지에서 간단한 예시를 확인 할 수 있다. 이 예시를 직접 적용하는 방법은 의외로 간단한데 결과 이미지를 다운받고, 그 이미지를 드래그 앤 드롭으로 ComfyUI에 옮기면 끝이다.

위 이미지를 다운받아서 ComfyUI에서 불러오면

이미지가 아닌 Workflow를 그대로 가져올 수 있다. 솔직히 이 결과만으로 아주 놀랐다. WebUI방식에서 매번 설정 값을 일부 다시 입력하는 것이 조금 번거롭기도 하고, 다른 사람의 결과를 동일하게 만드려고 여러 값을 조정하는 부분이 조금 귀찮다고 생각했는데 ComfyUI에서는 아주 쉽게 사용할 수 있었다. (WebUI로 만든 이미지도 WebUI에서 이미지를 넣으면 이미지 생성 당시의 메타 데이터를 불러 올 수 있다고 한다)
이전의 튜토리얼 모델보다는 많이 복잡한 구조를 가지고 있다. FLUX 모델에서의 기본 사용법이라고 생각하고 우선은 바로 실행 큐 버튼을 눌러보고 결과를 확인 해 보자.

실행 큐를 누르면 현재 진행되고 있는 단계와 순서를 대략적으로 눈으로 확인 할 수 있다. 그리고 결과로는 다운받았던 이미지와 완벽하게 동일한 결과를 얻을 수 있었다.
출력 결과는 ComfyUI\output 폴더에서 직접 파일로도 확인 할 수 있다.
그리고 이제 프롬프트, 샘플러, 스탭수, 시드 값 등을 변경하는 것으로 내가 원하는 출력물을 쉽게 만들어 볼 수 있게 되었다.

위 처럼 동물귀와 꼬리 요소 프롬프트를 없애고 결과를 출력 해보니 다른 요소는 기존의 의도로 그려지며, 캐릭터의 외형에만 변경을 쉽게 줄 수 있었다.
직접 처음부터 어려운 Workflow를 구성하기 보다는 이제 이런식으로 다른 누군가 만들어 놓은 이미지를 옮김으로 쉽게 Workflow를 따라하고, 직접 일부 내용을 수정하면서 원하는 결과를 더 쉽게 만들 수 있게 되었다. 이전의 WebUI는 필요 없었는가라고 생각 해 보면 오히려 WebUI에서 사용했던 용어와 이미지 생성 과정을 알고나서 이 ComfyUI에서 추상화 된 이미지 생성 과정을 쉽게 이해 할 수 있었다라고 생각한다. (세부 Workflow의 상세 내용과는 별개로)
이제 나는 남이 만들어 놓은 결과를 기반으로 세부 값을 수정 해 나가면서 실제 사용 방법에 대해서 간접적으로 익혀나가려고 한다. 그것을 위해 선행 되어야 할 다음의 ComfyUI-Manager라는 추가 프로그램을 받기로 한다. 이것은 ComfyUI의 플러그인이나 모델, 다른 사람이 직접 만든 Node(Workflow)를 쉽게 다운받고 관리 할 수 있게 도와주는 편의성 기능의 확장 프로그램이다.
ComfyUI-Manager 다운로드 를 통해 다양한 설치 방법으로 다운 및 설치 할 수 있다. 나는 이전의 설치가 windows_portable 버전을 사용했기에 이 방식에 받는 설치 방법으로

이 방식을 사용했다. 쉽게 바로 설치가 되었으며,

상단의 메뉴바에서 Manager 아이콘이 활성화 되었다면 제대로 설치가 된 것이다.
이 ComfyUI-Manager의 다양한 사용법과, 커스텀 방법이 있지만 우선은 내가 어떤 목적으로 이 ComfyUI-Manager를 설치 했는지는 다음의 실제 예시를 통해 알아보기로 한다.
Civitai 이미지 검색 으로 필터에서 Tools 부분에 이제 ComfyUI를 넣는다.

이 검색 결과로 나온 이미지에서 마음에 드는 이미지를 눌러서 그 이미지를 다운받고, Workflow를 불러오면 된다. 이때

이처럼 없는 노드 타입이 있다는 메시지가 나오는 경우가 있다. 이 노드들은 커스텀 노드로, Workflow내에서 동작하는 다양한 기능을 미리 구현 해 놓고 재사용하기 위해 따로 사용자가 만들어 놓은 것이다. 이때 이 노드들을 쉽게 다운받기 위해 ComfyUI-Manager를 설치 했다.
이제 상단의 Manager 아이콘을 눌러보자.

그러면 아래와 같은 창을 확인 할 수 있는데, Install Misssing Custom Nodes 라는 메뉴를 누르면 바로 쉽게


이 처럼 커스텀 노드들을 바로 받을 수 있다. 추가로 Model Manager 메뉴에서 바로 유명한 추가 모델이나 LoRA, VAE 등을 받을 수 있다. 아마 Civitai에서 가져온 이미지에서 사용하고 있는 LoRA는 수동으로 설치 후, LoRA를 폴더에 옮겨야 할 추가 작업은 해줘야 한다.
이미지로 불러온 Workflow에서 오류가 발생하는 경우 에러를 잘 살펴보면 정답을 찾아볼 수는 있었다. 주로 업스케일러를 사용하면서 추가 별도 모델이 필요하거나, 아니면 언급한 샘플 이미지에서 사용했다고 언급했던 LoRA 이외에 다른 LoRA를 사용한 경우 직접 명칭을 검색해서 추가 다운로드 받고 넣는 것으로 해결을 했다.
이 과정은 처음엔 조금 어려울 수도 있는데, 일단 실행을 누르고 에러가 발생한 이유를 해석하는 방법을 알아가다보면 크게 어렵지 않게 해결 할 수 있을 것으로 생각 한다.
ComfyUI로 다양한 Workflow를 불러와서 사용하면서 세부 내용을 좀 더 자세히 이해 해 보려고 했는데 생각보다 어려운 구조와 많은 작업을 하고 있는 경우가 많아서 실질적인 이해는 힘든 단계였다. 아무래도 직접 커스텀 노드를 만들어보는 것은 전문가의 영역에 들어가는 것 같다.
나는 우선 다른 사람의 이미지 결과를 일부 수정 할 수 있을 정도에 만족하기로 했다.
한참 이미지를 생성하면서 같이 고려 해 볼 만한 내용이 생각 났는데, 이 생성형 AI를 통한 이미지에 대한 저작권에 대한 문제가 있었다. 지금 내가 사용하고 있는 FLUX Dev 모델의 경우 비상업용으로 사용이 가능한 모델이다. 만약 이 모델을 통해서 상업적으로 이용하려면 별도의 라이센스 비용을 내거나 하는 등의 조치가 필요하다고 한다. 또 LoRA의 경우도 특정 작가의 그림체를 직접적으로 학습 시킨 경우가 있는데, 이 경우에도 저작권 문제가 걸린다.
아직은 전혀 고려 대상이 아니지만, 만약 만들고 있는 게임을 실제 상업적으로 배포를 하게 되는 단계가 온다면 생성형 AI를 통한 자원을 사용해도 저작권 문제에 자유롭지는 못하다.
결국은 생성형 AI 모델과 LoRA에 대한 비용을 지불하거나, 원화 작가에게 따로 비용을 지불해서 이 문제를 해결 하는 수밖에 없다.
결론적으로 이 게임 그래픽 자원 또한 결국은 프로토타입을 위한 단계로,
완벽에 가깝게 만들기 보다는 구상하고 있는 결과를 나타내기 위한 중간 단계라고 생각하기로 했다.
따라서 이후의 포스팅은 ComfyUI의 사용 후기 정도를 계획하고 있었다.
글 초안을 먼저 써 놓고, 다음 Spine 작업을 위한 원화 수준의 이미지 출력을 미리 준비하다보니 결국은 필요에 맞게 Workflow를 수정하는 단계를 넘어, 직접 만들 필요를 느꼈다.
여러 Workflow를 참조하다보니 일반적인 수준은 직접 만들어 볼만 했고, 다음 포스팅은 이 완성된 Workflow를 소개하며, 만드는 과정에서 내용을 포스팅하려고 한다.