1. ComfyUI 소개 및 기본 설정 [0]

thumbnail ComfyUI는 복잡해 보이는 인터페이스를 가진 강력한 이미지 생성 AI 툴이지만, 노드 기반의 자유로운 인터페이스를 통해 개인용 생성 도구를 개발하는 수준의 편집 기능을 제공하며, 이미지뿐만 아니라 비디오, 3D, 음악까지 다룰 수 있는 핵심을 쉽게 설명한다.

1.1. ComfyUI 설치 및 실행 [0]

  1. ComfyUI는 이미지 생성 AI 툴 중 가장 유연하고 창의적인 인터페이스를 제공한다. [0]
  2. 복잡해 보이는 인터페이스 때문에 부담을 느끼는 사람들을 위해 친근하게 느끼도록 설명한다. [1]
  3. 스태빌리티 매트릭스를 이용하면 ComfyUI를 포함한 여러 AI 툴을 한 번에 설치하고 관리할 수 있다. [3]
  4. ComfyUI 실행 버튼은 스태빌리티 매트릭스 내에 있다. [5]
  5. ComfyUI는 ComfyUI 매니저와 함께 사용해야 하며, 매니저 설치는 직소 퍼즐 모양 아이콘 클릭 후 'Available Extensions'에서 'ComfyUI Manager'를 검색하여 설치한다. [6]
  6. 설치 완료 후 'Installed Extensions'에서 ComfyUI 매니저를 확인할 수 있다. [9]
  7. ComfyUI가 자동으로 실행되지 않는 경우, 'Auto-launch' 옵션이 비활성화된 것이므로 가장 아래쪽의 'GUI go to' 링크를 클릭하여 웹 브라우저로 실행한다. [10]
  8. 최초 실행 시 사용자 인터페이스가 다를 수 있으나, 다양한 커스텀 노드를 설치하여 편의 기능을 추가할 수 있다. [13]

1.2. ComfyUI 상단 메뉴 및 워크플로우 관리 [15]

  1. 상단 메뉴의 워크플로우(Workflow)에는 'Save', 'Save As', 'Export' 기능이 있다. [15]
  2. 'Save'와 'Save As'는 현재 작업 중인 워크플로우를 저장하는 기능으로, ComfyUI 폴더 내 'user/default/workflows'에 저장된다. [16]
  3. 저장된 워크플로우는 폴더 모양 아이콘을 클릭하여 'workflows' 폴더에서 더블 클릭으로 불러오거나, 플러스 버튼으로 다른 작업 파일에 배치할 수 있다. [20]
  4. 파일이 많아지면 관리가 어려워지므로, 'Export' 기능을 주로 사용한다. [23]
  5. 'Export' 기능을 사용하면 이름을 지정한 후 원하는 특정 폴더에 파일을 저장할 수 있다. [25]
  6. 주로 스태빌리티 매트릭스 폴더 내 'data/workflows'에 프로젝트별로 별도 명칭을 지정하여 저장한다. [26]

1.3. 워크플로우 불러오기 및 모델 설치 [28]

  1. 처음 설치 시 'Text-to-Image' 워크플로우를 보게 되며, 이미 학습한 경우 최근 작업 워크플로우를 보게 된다. [28]
  2. 모든 사용자가 동일한 상태를 만들기 위해 'Browse Templates'에서 워크플로우를 불러온다. [30]
  3. ComfyUI 업데이트 이후 'Basics' (기본 워크플로우), 'Flux Workflow', 'Image Model', 'Video' 등 다양한 워크플로우를 제공한다. [31]
  4. OpenAI, Videogame, Luma AI 등 외부 API를 이용한 이미지 생성도 가능하지만, 일정 비용 지불이 필요하다. [35]
  5. 'Basics'의 기본 이미지 제너레이션 워크플로우를 불러오면 'Missing Models' 오류가 발생할 수 있다. [38]
  6. 이 오류는 이미지 생성의 핵심 파일인 체크포인트(Checkpoint) 모델이 없기 때문이며, 기본 워크플로우는 오래된 체크포인트를 권고하므로 기존 모델 사용을 권장한다. [42]
  7. ComfyUI를 처음 사용하는 경우, 모델을 다운로드 받아 ComfyUI 폴더 내 'models/checkpoints'에 저장한다. [45]
  8. 체크포인트 종류에 따라 하위 폴더를 만들어 저장할 수 있다. [48]
  9. 모델 다운로드 후 'X'를 눌러 메시지 창을 닫고 'Run' 버튼을 클릭하면 워크플로우가 실행된다. [49]

1.4. 이미지 생성 방식 및 런 옵션 [52]

  1. 단순히 텍스트 프롬프트만으로 이미지를 생성하는 방식을 텍스트-이미지 방식이라고 한다. [52]
  2. ComfyUI는 이미지뿐만 아니라 비디오, 오디오 등 다양한 생성 워크플로우를 구성할 수 있는 시스템이다. [53]
  3. 'Run' 옵션에는 'Run Instance', 'Run on Changes'가 있다. [54]
  4. Run Instance: 사용자가 중단할 때까지 무한정 이미지를 생성한다. [55]
  5. Run on Changes: 변수나 프롬프트에 변화가 있을 때 실행된다. [56]
  6. 'Run Instance'를 클릭하면 생성할 때마다 다른 이미지가 계속 생성되며, 멈추려면 'X'를 클릭하고 'Ending'된 것도 클릭해야 한다. [57]
  7. 'Run on Changes' 사용 시 주의사항: 'Control after generation'을 'Random'으로 설정하면 'Run Instance'와 같이 끊임없이 이미지가 생성되므로, 'Fixed'로 변경해야 한 번만 실행된다. [60]
  8. 다른 변수를 변경하면 변화가 있을 때마다 이미지가 한 번씩 생성된다. [63]

1.5. 실행 Q, 노드 라이브러리, 모델 라이브러리 [64]

  1. 왼쪽에는 실행 Q(Queue), 노드 라이브러리(Node Library), 모델 라이브러리(Model Library) 등이 있다. [64]
  2. 실행 Q: 이전에 생성했던 작업들을 이미지로 보여주며, 특정 이미지를 선택하면 해당 이미지 생성 작업에 사용된 워크플로우를 불러올 수 있다. [65]
  3. 노드 라이브러리: 사용하는 노드들을 미리 보기로 확인한 후 불러올 수 있는 메뉴이다. [67]
  4. 모델 라이브러리: 사용하는 다양한 AI 모델들을 확인할 수 있으며, 체크포인트, 텍스트 인코더, 클립비전, 인페인트, VA 등이 있다. [68]

1.6. UI 기능 및 테마 [70]

  1. 현재 사용 중인 것들을 노드(Node)라고 하며, 어떤 노드들이 있는지 보여주는 아이콘이다. [70]
  2. 노드 아이콘을 다시 클릭하면 메뉴가 사라진다. [71]
  3. 토글 스팀(Toggle Theme): 클릭하면 밝은 테마, 다시 클릭하면 어두운 테마로 변경된다. [72]
  4. 워크플로우는 마우스 가운데 버튼으로 이동하고, 휠로 확대/축소할 수 있다. [73]
  5. 노드가 많이 구성된 경우, 사각형 모양의 피뷰(Piview)를 클릭하면 전체 노드가 한 화면 안에 정렬된다. [74]

2. ComfyUI의 핵심 이론 및 구성 요소 [76]

thumbnail ComfyUI는 노코딩 방식의 AI 생성 도구로, 약 2,700개 이상의 커스텀 노드를 조합하여 개인용 생성 도구를 개발하는 수준의 자유도와 강력한 편집 기능을 제공하며, 이미지뿐만 아니라 비디오, 3D, 음악 등 분야의 제약 없이 99% 무료로 사용할 수 있다.

2.1. ComfyUI의 특징 및 장점 [76]

  1. ComfyUI는 오픈소스 노드 기반 인터페이스를 가지고 있으며, 노코딩 방식의 AI 생성 도구로 자유도가 높다. [77]
  2. 약 2,700개 이상의 커스텀 노드를 조합하여 개인용 생성 도구를 개발하는 수준에 가깝다. [79]
  3. 미드저니나 ChatGPT의 이미지 생성보다 훨씬 정교한 강력한 편집 기능을 제공한다. [82]
    1. 빈 공간에 스케치하여 가구와 소파를 채워 넣거나, 양파를 절단하여 거대한 건물을 만드는 등의 편집이 가능하다. [84]
    2. 소파나 카페트 같은 경면의 페인팅을 수정하여 다양한 이미지를 생성할 수 있다. [86]
  4. 분야의 제약이 없어 이미지뿐만 아니라 비디오, 3D, 음악 등도 생성할 수 있다. [88]
  5. 99% 무료로 사용할 수 있으며, 일부 API 연동에만 비용이 발생한다. [90]
  6. 생성 작업 프로세스를 워크플로우 형식으로 저장하여 다른 사람들과 공유할 수 있다. [92]
  7. 다양한 AI 모델 사용이 가능하며, 오픈 소스 방식 덕분에 다양한 주체들이 개발한 노드를 활용할 수 있다. [93]
  8. AI 모델은 AI 신경망이며, 학습을 통해 좋은 결과물을 낼 수 있는 단계에 이르렀을 때 배포되는 것을 체크포인트(Checkpoint)라고 부른다. [95]

2.2. 다양한 AI 모델 종류 [99]

  1. 클립 텍스트 인코더(CLIP Text Encoder): 인간의 텍스트를 AI 신경망이 이해할 수 있도록 돕는다. [100]
  2. 클립비전(CLIP Vision): 일반적인 이미지를 번역하여 AI 신경망이 이해할 수 있도록 돕는다. [101]
  3. 컨트롤넷(ControlNet): 이미지 생성 과정을 제어하여 결과에 영향을 미치는 AI 신경 모델이다. [102]
  4. VAE(Variational Autoencoder): 이미지 인코딩과 디코딩을 담당하며, 인간이 볼 수 있는 픽셀 이미지를 AI 신경망이 작업할 수 있는 레이턴트 이미지로 변경하고, 다시 픽셀 이미지로 변경하는 역할을 한다. [103]
  5. 업스케일러(Upscaler): 생성된 초기 이미지를 고해상도의 디테일한 이미지로 변경시켜 준다. [105]

2.3. AI 모델 저장소 및 다운로드 [106]

  1. AI 모델들은 다양한 플랫폼(저장소)에 존재한다. [106]
  2. 스태빌리티 매트릭스 모델 브라우저: 다른 플랫폼의 모델을 검색, 다운로드, 사용할 수 있다. [109]
  3. ComfyUI 매니저의 모델 매니저: 필요한 AI 모델들을 다운로드 받아 사용할 수 있다. [111]
  4. Civitai.com: 디자이너나 일반인이 다운로드하기 쉽게 썸네일 인터페이스를 제공한다. [114]
  5. Hugging Face: 모델 개발 및 파인튜닝 사람들이 많이 방문하며 방대한 자료를 가지고 있다. [115]
  6. 모델 검색 시 구글 검색 후 Hugging Face로 연결된 링크를 타고 접속하는 것이 일반적이다. [116]
  7. 강의자나 워크플로우 제작자가 작성한 가이드에 따라 특정 사이트에 접속하여 AI 모델을 다운로드 받는 것이 가장 안정적이다. [117]

2.4. 이미지 생성 원리 (외계인 비유) [118]

  1. ComfyUI에서 이미지를 생성하는 원리는 AI 이미지 생성 비즈니스를 위해 창조 행성에서 온 외계인에 비유할 수 있다. [118]
  2. 창조 행성은 레이턴트 스페이스(잠재 공간)이며, 외계인들은 만능 물질을 이용해 무엇이든 만들어낼 수 있다. [122]
  3. 외계인들은 지구(픽셀 공간)에 도착하여 AI 이미지 공장을 열어 돈을 벌 생각을 했다. [123]
  4. 외계인들은 자신들의 고향 창조 행성을 모방한 생성 장치를 활용하여 이미지를 생성한다. [125]
  5. 이미지 생성을 위한 구성 요소는 다음과 같다. [126]
    1. 외계인 (체크포인트, 디퓨전 모델, 유닛): 사실주의, 애니메이션 스타일 등 특정 분야에 능하다. [127]
    2. 지구 언어 번역기 (클립 텍스트 인코더): 지구인들의 텍스트 프롬프트를 AI 언어로 변환한다. [130]
    3. 빈 캔버스 (빈 레이턴트 이미지): 외계인들이 그림을 그리는 잠재 이미지이며, 지구인은 캔버스 크기를 정할 수 있다. [134]
    4. 이미지 생성 장치 (샘플러): 창조 행성을 모방한 장치로, 빈 캔버스를 넣어 이미지를 생성한다. [138]
    5. 이미지 출력용 포탈 (VAE 디코더): 생성된 레이턴트 이미지를 인간이 볼 수 있는 픽셀 이미지로 변경한다. [141]
  6. 이미지 방식의 이미지 생성에서는 이미지 입력 포탈 (VAE 인코더)도 필요하다. [144]
    1. 지구인들이 원본 이미지를 가져올 경우, 픽셀 이미지를 생성 장치에 넣기 위해 VAE 인코더를 통과시켜 레이턴트 이미지로 바꿔야 한다. [145]
    2. 이때 입력되는 레이턴트 이미지는 빈 이미지가 아니라 원본 이미지가 변환된 결과이다. [147]
  7. 이미지 생성의 구성 요소는 각각의 기능을 담당하는 노드이며, 입력(Input), 출력(Output), 자체 값을 설정하는 위젯(Widget)으로 구성된다. [148]
  8. 입력 데이터는 색으로 구분된다: 보라색 계열은 모델, 주황색은 프롬프트, 따뜻한 보라색은 레이턴트 이미지이다. [152]
  9. 노드와 노드의 연결은 컬러와 명칭을 보고 하며, 컬러를 보고 연결하면 모델과 모델이 연결된다. [156]
  10. 생성된 레이턴트 이미지는 샘플러로 들어가고, 샘플러에서 나온 레이턴트 이미지는 VA 디코더로 연결된다. [159]
  11. 리 아웃(Re-out) 노드는 VA와 VA를 연결할 때 노드에 가려져 오해할 수 있으므로 주의해야 한다. [160]

2.5. 노드 연결 및 위젯 활용 [161]

  1. 노드 연결 시, 명칭이 다르더라도 컬러를 보고 연결하면 된다. [157]
  2. 노드 추천 기능을 활용하여 연결할 노드를 찾을 수 있다. [165]
  3. 예를 들어, 파지티브 프롬프트에 연결할 노드를 찾기 위해 잡아당기면 다양한 노드가 나타나며, 'CLIP Text Encoder'를 불러와 네거티브 프롬프트 입력에 사용할 수 있다. [166]
  4. 노란색끼리 연결이 가능하므로, CLIP Text Encoder를 연결한다. [168]
  5. Ksampler 노드에는 'Seed' 값이 있으며, 동일한 조건으로 두 이미지를 생성하고 싶을 때 시드 값을 고정할 수 있다. [169]
  6. 위젯을 인풋으로 변경하려면 위젯 앞쪽의 동그라미를 잡아당겨 'Primitive'를 선택하면 된다. [172]
  7. 'Primitive'를 선택하면 해당 위젯의 시드 값이 무시되고 입력하는 시드 값이 사용된다. [176]
  8. 'Control after generation'이 'Fixed'일 때 'Randomize'로 변경하면 시드 값이 계속 변화하여 새로운 이미지를 생성할 수 있다. [178]
  9. 동일한 값을 다른 노드에 입력하고 싶을 때, 시드 값 옆의 작은 원을 연결하여 값을 공유할 수 있다. [179]
  10. 반대로 더블 클릭 후 'Primitive' 노드를 불러와 위젯을 인풋 값으로 변경하여 연결할 수도 있다. [182]
  11. 'Primitive' 노드는 연결하는 위젯의 특성에 따라 나타나는 데이터가 변경된다 (예: TFC 연결 시 소수점 숫자인 'Float', INT). [184]
  12. 'CFG Scale'은 자주 변경하지 않으므로 'Fixed'로 변경되었다. [188]

2.6. 텍스트-투-이미지 기본 워크플로우 구성 [189]

  1. 긍정 프롬프트: '커피숍 인테리어 아르누보 스타일'과 같이 일반적인 언어로 입력된다. [190]
  2. 부정 프롬프트: '텍스트나 워터마크'와 같이 이미지에 포함되지 않아야 할 내용을 입력한다. [192]
  3. 프롬프트는 번역되어 Ksampler (생성 장치)로 들어간다. [193]
  4. Ksampler에는 외계인인 체크포인트가 필수적으로 들어가야 한다. [196]
  5. 지구 언어 번역기(CLIP Text Encoder)는 체크포인트에 함께 있는 CLIP 모델이 들어가야 제대로 작동한다. [198]
  6. 이미지 생성 장치에는 빈 캔버스(레이턴트 이미지)가 들어가야 한다. [200]
  7. 생성된 이미지는 'Sampler'라는 이름으로 VAE 디코더를 거쳐 'Save Image'를 통해 ComfyUI 출력 폴더에 저장된다. [201]

2.7. 이미지 생성 및 오류 해결 [202]

  1. 생성된 이미지 파일명은 'ComfyUI' 접두사 뒤에 생성 순서대로 번호가 붙는다. [202]
  2. 'XL' 모델을 사용하여 이미지를 생성하면 'VAE 모델이 출력 포탈에 연결되어야 이미지를 출력할 수 있다'는 에러가 발생할 수 있다. [203]
  3. 이 경우, VAE 모델을 연결해주면 오류가 해결된다. [206]
  4. VAE 모델 연결 후 실행하면 '커피숍 인테리어 아르누보 스타일' 이미지가 생성된다. [207]

2.8. 아르누보 스타일 이미지 생성 결과 [208]

  1. 아르누보는 19세기 말부터 20세기 초 유럽과 미국에서 유행한 미술 사조로, 정교한 식물, 꽃과 같은 자연 형태에서 모티브를 가져온 것이 특징이다. [208]
  2. 생성된 이미지는 고풍스러운 19세기 말, 20세기 초의 인테리어 디자인으로 완성된다. [210]

2.9. KSampler 세팅값 설명 [211]

  1. 시드(Seed): 생성의 일관성 및 다양성을 위한 '창조의 씨앗'으로, 같은 시드를 사용하면 동일한 이미지가 나와야 하지만 다른 변수에 영향을 받는다. [211]
  2. Control after generation:
    1. 'Fixed'로 설정하면 이미지를 한 번 생성한 후 다른 변화가 없으면 다시 생성되지 않는다. [217]
    2. 마침표를 찍거나 탭을 한 단계 올리면 이미지가 생성된다. [220]
    3. 'Random'으로 설정하면 시드가 계속 변화하여 새로운 이미지를 계속 생성할 수 있다. [221]
  3. Steps: 샘플이 완성될 때까지 반복 작업 횟수로, 유화의 덧칠과 유사하다. 덧칠할수록 선명해지지만 시간이 더 걸릴 수 있다. 사실적인 이미지의 경우 20~40 정도의 값을 입력한다. [226]
  4. CFG Scale (Classifier Free Guidance): 프롬프트 내용을 이미지 생성에 얼마나 반영할지, 얼마나 엄격하게 준수할지를 결정하는 수치로, 일반적으로 5~10, 최대 15까지 사용한다. [232]
  5. Sampler: 어떤 생성 장치를 사용할지 선택하는 것으로, 샘플러 이름에 따라 이미지를 생성하는 값이 달라질 수 있다. [235]
    1. DPM++ 2M Karras 샘플러와 Karras 스케줄러를 선호한다. [238]
  6. Scheduler: 어떤 스케줄로 생성을 진행할지 결정하며, 세탁기 코스 선택에 비유할 수 있다. [239]
  7. Denoising: 얼마나 노이즈를 추가한 후 제거할지를 결정한다. 텍스트-이미지에서는 순수한 이미지를 사용하기 위해 노이즈를 100% 사용하는 것이 깨끗한 이미지를 만든다. [241]

2.10. 이미지 입력 포탈을 활용한 워크플로우 [243]

  1. 원본 이미지와 VAE 인코더를 사용하여 원본 이미지를 레이턴트 이미지로 변경한 후 이미지를 생성하는 워크플로우를 준비한다. [243]
  2. 프롬프트를 '아르데코 스타일'로 변경하고, Denoising 값을 1로 입력하면 원본 이미지를 무시하고 프롬프트 내용만 반영하여 이미지를 생성한다. [247]
  3. 아르데코는 1920~30년대 유럽과 미국에서 유행한 미술 사조로, 대량 생산에 적합한 장식적 특징을 지닌다. [248]
  4. VAE 모델을 연결하고 실행하면 원본과 비슷한 구조와 사물 위치를 가지지만, 방식은 직선적인 형태로 변경된 결과가 나온다. [250]
  5. Denoising 값을 0으로 입력하면 결과물이 원본과 차이가 없다. [253]
  6. Denoising 값을 0.8 정도로 변경하면 직선적인 장식에 약간의 곡선들이 들어간 결과물이 나온다. [255]

2.11. Flux 모델을 사용한 텍스트-이미지 워크플로우 [258]

  1. Flux Dev 최신 모델을 사용하여 '커피숍 인테리어 아르누보 스타일' 프롬프트로 작업을 진행한다. [259]
  2. 이미지 생성 모델마다 워크플로우가 다르다는 것을 보여주기 위해 준비했다. [260]
  3. XL 체크포인트는 모델 안에 CLIP과 VAE를 가지고 있지만, Flux는 CLIP을 별도로 빼주어야 하고 부정 프롬프트가 없다. [261]
  4. Flux는 Ksampler 대신 Sampler Custom Advance를 사용하며, 대부분의 위젯이 인풋으로 변경되어 있다. [265]
  5. Flux는 고유의 VAE인 AITensor를 사용한다. [270]
  6. Flux는 심 모델이기 때문에 더 좋은 결과가 나타날 것으로 예상되며, 이미지 생성 시간은 더 소요될 수 있다. [272]
  7. 동일한 해상도임에도 불구하고 훨씬 사진에 가까운 좋은 결과물이 나타난다. [275]

2.12. 텍스트-투-이미지 기본 워크플로우 구성 연습 [277]

  1. 빈 워크플로우를 만들어 진행하거나, 더블 클릭하여 시작할 수 있다. [278]
  2. Sampler부터 시작하며, 가장 기본적인 Ksampler를 사용한다. [279]
  3. 모델을 잡아당겨 Checkpoint 노드를 선택하고, 다운로드 받은 모델을 선택한다. [282]
  4. 외계인에 해당하는 Checkpoint, 이미지 생성 장치에 해당하는 Ksampler, 번역기에 해당하는 CLIP Text Encoder를 불러온다. [285]
  5. 번역기가 작동하도록 CLIP 모델을 넣어주고, 붉은색으로 변경한다 (색깔은 기능에 영향을 주지 않는다). [287]
  6. 빈 캔버스(Empty Latent Image)를 선택하고 해상도를 1024로 설정한다. [289]
  7. 레이턴트를 잡아당겨 VAE 인코더 (입력 포탈)에 연결한다. [289]
  8. 생성된 레이턴트 이미지는 VAE 디코더 (출력 포탈)를 거쳐 이미지로 변경되어 보여진다. [291]
  9. 출력 포탈은 VAE 모델이 들어가야 실제로 작동한다. [292]
  10. 프롬프트로 '커피숍 인테리어 아르누보 스타일'을 입력하고, 부정 프롬프트로 '텍스트 워터마크'를 입력한다. [293]
  11. 'Run'을 클릭하면 결과물이 나온다. [294]

3. 결론 및 추가 정보 [295]

thumbnail
  1. ComfyUI의 기본 사용법과 이론을 배웠다. [295]
  2. 처음에는 복잡해 보일 수 있지만, 하나하나 연결하다 보면 완성도 높은 자신만의 워크플로우를 만들 수 있다. [296]
  3. 영상이 마음에 들었다면 구독, 좋아요, 알림 설정을 부탁한다. [297]
  4. 추천 영상과 재생 목록도 확인해 보기를 권장한다. [298]
  5. AI를 더욱 크리에이티브하게, Cri.AItive! [299]