ComfyUIの導入方法・使い方!画像生成をもっと快適にしよう! | romptn Magazine

ComfyUIの導入方法・使い方!画像生成をもっと快適にしよう!

ComfyUI

最近巷で話題の「ComfyUI」をご存知でしょうか?

Stable Diffusionの画像生成web UIとしては、AUTOMATIC1111が有名ですが、「ComfyUI」はSDXLへの対応の速さや、低スペックPCでもOKという性能の高さから注目を集めています。

今回は、そんな画像生成web UI「ComfyUI」の概要から導入方法、使い方まで詳しく解説していきます!

※Stable Diffusionの概要については、以下の記事で詳しく解説しています。

スポンサーリンク

ComfyUIとは?

公式GitHubより
GitHub - comfyanonymous/ComfyUI: The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface.
The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface. - GitHub - comfyanonymous/ComfyUI: The most powerful and modul...

ComfyUIは、画像生成AIであるStable Diffusionを操作するためのツールの一つです。特に、ノードベースのUIを採用しており、さまざまなパーツをつなぐことで画像生成の流れを制御します。

Stable Diffusionの画像生成web UIとしては、AUTOMATIC1111が有名ですが、「ComfyUI」はSDXLへの対応の速さや、低スペックPCでもOKという性能の高さから注目を集めています。

ComfyUIの機能

ComfyUIは、基本的なStable Diffusionの機能(画像生成、モデル、拡張機能など)のほかにも、数えきれないほどの機能がありますので、表にまとめてみました。

特徴補足
SD1.x / SD2.x / SDXL / Stable Video Diffusionのサポートさまざまな安定拡散モデルを完全にサポートしてくれる。画像やビデオの生成において、多様なオプションから選択ができる。
実行の間に変更したワークフローだけを再実行することで多くの最適化を実現する1度実行したワークフローのうちの変更された部分だけを再実行することで、全体の処理速度を上げる
非同期のキューシステムタスクが順番に処理されるのではなく、非同期で実行される。効率的なリソースの仕様ができるようになるため、待ち時間を減らすことができる。
GPUがなくてもしっかり動作する
(–cpu)
GPUを必要とせず、CPUのみで動かすことが可能。GPUを持っていないユーザーでもComfyUIが利用できる。
3GB VRAM未満の低スペックなGPUでもしっかり動作する
(–lowvram)
Hypernetworkネットワークが別のネットワークの重みを生成する構造のことを指す。モデルの柔軟性と適応性が向上する。
.ckpt / .saftensors / .diffusersのモデルやチェックポイントの読み込みが可能
unCLIPモデルCLIPモデルを逆に利用して、テキストから画像を生成する機能
TAESDテキストから画像への生成や変数に関するアプローチのこと
GLIGEN特定の生成タスクに最適化された生成モデルのこと。
LoRAに対応
(通常版 / LoCON / LoHA)
LoRA…学習済みモデルのアダプテーションを行うための技術。
新しいタスクやデータセットに対して、モデルを迅速に調整することができる。
Embedding / Textual Inversionに対応特定の画像やコンセプトを表現するために、テキストや画像ら生成された埋め込みを利用する機能が使える。
ワークフローをJSONで保存・読み込みが可能ワークフローをJSON形式で保存し、後で読み込むことができる。このため、プロジェクトの再現性が向上する。
Control Net / T2l-Adapter特定の制御構造やテキストから画像への変換を可能にするアダプターorネットワークのこと。
(Stable DiffusionのControlNetと同じ機能)
生成したPNG画像からのワークフローの読み込みが可能以前に生成したPNG画像を含んだワークフローを読み込んで、それをもとに新たな生成・編集ができる。
(Stable Diffusionのimg2imgに似た機能)
Inpainting
(通常のモデル / Inpaintingモデルどちらも対応)
画像の一部を修復or変更するための機能。
(Stable DiffusionのInpaintに似た機能)
Area Composition画像内の特定の領域に対して、異なる生成処理を行うことができる。
(Stable DiffusionのLatent Coupleに似た機能)
アップスケール機能
(ESRGAN / ESRGAN variants / SeinlR / Swin2SRなど)
生成した画像の解像度を向上させるための機能。
(Stable DiffusionのHires.fixに似た機能)
モデルのマージ機能複数のモデルの特性を組み合わせて、新しいモデルを生成する機能。
(Stable Diffusionのマージと同じ機能)
LCMモデル/ LCM LoRALCMは特定のタスクに対して最適化されたモデルのことで、LCM LoRAはLoRAの技術を用いてこれらのモデルをさらに調整する手法。
コンフィグファイルComfyUIの動作をカスタマイズできる設定できるファイルのこと。自分のニーズに合わせてツールの動作を調整することができる。

ComfyUIのメリット

ComfyUIのメリットとしては、以下の3つの点が挙げられます。

①最新技術への対応の速さ

②カスタムノードという仕組みを採用した拡張性

③処理効率の良さ

①最新技術への対応の速さ:ComfyUIは最新の技術に迅速に対応するため、ユーザーは最新の画像生成技術をすぐに試すことができます

②カスタムノードという仕組みを採用した拡張性:ComfyUIはノードベースのUIを採用しており、ユーザーが自由にワークフローを作成できます。これにより、ユーザーは自分のニーズに合わせて画像生成の流れをカスタマイズできます。さらに、生成処理の流れを可視化することもできるそうです。

③処理効率の良さ:ComfyUIは処理効率が良く、低スペックのPCでもそれなりに動作します。AUTOMATIC1111よりも操作性が軽くて使い勝手が良いです。

ただし、ComfyUIの自由度の高さから、初心者には少々とっつきにくい面もあります。しかし、一度使い方を覚えれば、その自由度と拡張性から非常に魅力的なツールとなります。

ComfyUIの使用例

「ComfyUIって大体どんな感じで利用するのかな~。」と思っている方は、ぜひ以下のリンクにアクセスしてみてください。

公式が機能別に詳しく紹介してくれています!

ComfyUI Examples
Examples of ComfyUI workflows
Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

AUTOMATIC1111との違い

ComfyUIがAUTOMATIC1111より優れている点としては、以下のようなことが挙げられます。

  • VRAMの使用効率が良いため、VRAM容量が少なめのグラフィックボードでも快適に利用でき、高容量のVRAMを搭載したグラフィックボードでは、大規模な画像生成が可能です。
  • 8GB程度のVRAMを持つグラフィックボードでも、SDXLモデルを活用できますが、12GBのVRAMが望ましいです。
  • 他のツールと比較して、生成速度が若干速いです。具体的には、コンマ数秒の差が出ることがあります。
  • インストールの過程が非常に簡単で、拡張機能を除けばコマンドプロンプトの使用は基本的に不要です。

ComfyUIがAUTOMATIC1111より劣っている点としては、以下のようなことが挙げられます。

  • UIの操作性が複雑なため、一般的な感覚では理解しにくい部分があります。
  • 利用可能な拡張機能の数が限られているものの、数100種類は存在し、基本的な機能は他のツールと同様に提供されています。
  • 日本語のドキュメントが不足しており、初心者にとっては取り組みにくい側面があります。

これらの点を踏まえると、ComfyUIというツール自体はVRAMの効率的な使用やインストールの簡単さといった強いメリットを持ちながらも、UIの使い勝手や日本語での情報の少なさの面で改善の余地があると言えそうですね。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

ComfyUIの導入方法

では、ComfyUIを導入する手順について解説していきます。

①ComfyUIのインストール

②モデル(チェックポイント)・VAEのダウンロード

③SDXL用のComfyUIを立ち上げる

では1つ1つ解説していきます!

①ComfyUIのインストール

まずは、こちらのComfyUIのGitHubページにアクセスし、『Direct link to download』というリンクをクリックして、7zファイルをダウンロードします。(大体3分程度かかります。)

ダウンロードが完了したら、解凍ツールを使用して各自お好きな場所に解凍してください!

ComfyUI_windows_portableの中身は次の通りです。

AUTOMATIC1111のwebui.batに相当するものが、run_cpurun_nvidia_gpuです。

②モデル(チェックポイント)・VAEのダウンロード

続いては、フォルダ内の\ComfyUI_windows_portable\ComfyUIを開きます。

普通はモデル・VAE・LoRAなどは、models内の該当するフォルダに配置しますが、ComfyUIではこれらをAUTOMATIC1111と共有することもできるんです。

モデルは容量が大きいため、UIごとに分割するのではなく、できるだけ共有する方が良いですよね?今回はその共有方法について解説します。

手順としては、

\ComfyUI_windows_portable\ComfyUI\extra_model_paths.yaml.exampleの赤文字部分を削除する

\ComfyUI_windows_portable\ComfyUI\extra_model_paths.yamlにする

③上記ファイルをテキストエディタで開く

base_path」にAUTOMATIC1111のフォルダパスを指定する

⑤デフォルト設定のpath/to/stable-diffusion-webui/」は、「#」をつけてコメントアウトする

「checkpoints」「vae」「loras」などのフォルダの階層に変更を加えている場合は、それに合わせて調整してください。

これでモデル・VAE・LoRAなどの共有が完了できました!

③SDXL用のComfyUIを立ち上げる

そして最後に、ComfyUIにSDXL用のワークフローを読み込ませます!

こちらにアクセスしたら、1枚目の画像を保存してください。

そうしたら、「run_cpu.bat」または「run_nvidia_gpu.bat」をクリックしてComfyUIを立ち上げましょう!

NVIDIA製GPUをお持ちの方は「run_nvidia_gpu.bat」を使用してくださいね。

ComfyUIを立ち上げたら、事前にダウンロードした画像ファイルをComfyUIの画面にドラッグ&ドロップしてください。そうしますと、画像に関連するワークフローが読み込まれ、ComfyUIの画面が変わります。

いろいろカスタマイズを行うと思いますが、基準となるワークフローですので保存しておきましょう!

ワークフローの保存方法

画面の右側にある「Save」をクリックすると、ワークフローに名前を付けるよう指示されるので、お好きなファイル名を入力してください。

そして「OK」をクリックすると、.json形式のファイルがダウンロードされます。

このワークフローを各自わかりやすい場所に保存して、必要な時には「Save」の下の「Load」から読み込むことで、いつでもこのワークフローを使用できますよ!

ComfyUIの使い方

では、ComfyUIの導入が完了したところで、実際に画像を生成してみましょう。

ComfyUIの基本的な操作

  • 画面やノード(1つ1つの枠のこと)を動かしたい時は、マウスの左ボタンを押したままドラッグしてください。
  • 画面のズームイン・ズームアウトは、マウスホイールを回転させるとできます。
  • 右クリックメニューからはさまざまなオプションを利用でき、画面やノード上で実行できます。
  • ノードを探したい場合、左ボタンでダブルクリックすると検索ウィンドウが開きます。ここから新しいノードの追加も可能です。
  • 複数のノードを一度に選択して移動させたい場合は、Shiftキーを押しながらそれぞれのノードをクリックします。

ComfyUIで使えるショートカットキー

ComfyUIは以下のショートカットキーが使えますので、ぜひ活用してみてくださいね!

ショートカットキー意味
Ctrl+Enter選択中のグラフをキューに追加し、生成を開始する
Ctrl+Shift+Enter選択中のグラフをキューの先頭におき、優先的に生成を開始する
Ctrl+Delete
/Backspace
現在あるグラフ全体を削除する
Rグラフの内容を更新する
Ctrl+S作業中のワークフローを保存する
Ctrl+O保存されたワークフローを開く
Ctrl+Dデフォルトのグラフを読み込む
Ctrl+Aグラフ内の全ノードを一括で選択する
Delete/Backspace選択中のノードを削除する
Ctrl/Shift+Click個別にノードを選択し、選択範囲に追加する
Shift+Drag複数選択したノードをまとめて移動する
Double-Click LMBノードの迅速な検索メニューを開く
Alt+C選択したノードを折りたたむor展開する
Ctrl+M選択したノードのミュート状態を切り替える
Ctrl+B選択したノードをバイパスし、そのノードをグラフから省略する
Ctrl+C / Ctrl+Vノードをコピー&ペーストする。接続は選択されたノードのみに保持される。
Ctrl+C / Ctrl+Shift+Vノードをコピー&ペーストし、非選択ノードからの接続も維持する。
Spaceドラッグ操作でキャンバスを移動する
Qキューの表示を切り替える
H履歴パネルの表示を切り替える

テキストから画像を生成する方法(txt2img)

グラフの中の「CLIP Text Encoder」にプロンプトを入力し、「Load Checkpoint」にモデルを指定します。

最後に「Queue Prompt」をクリックするとグラフが実行されて、画像が生成されます。(処理中のノードは緑枠になっています。)

プロンプト

masterpiece, 8k, 1woman, long hair, upper body

保存された画像は、Googleドライブの「outputフォルダ」にあります。

何枚か画像を生成してみましたが、どれもクオリティが高く1枚約1~2秒で画像生成ができました。

どちらも約2秒で出来たとは思えないほど、クリアで美しい画像ですよね~!

【応用編】ComfyUIの活用方法

テキストから画像以外にも、たくさんの機能がありますのでComfyUIの活用方法についてご紹介していきますね。

ComfyUIでControlNetを使う方法

現在編集中です。

ComfyUIで拡張機能を使う方法

現在編集中です。

拡張機能を管理するComfyUI-Managerを使う方法

こちらの記事で詳しく解説しています!

ComfyUIでLoRAを使う方法

こちらの記事で詳しく解説しています!

ComfyUIでアップスケール(高解像度化)する方法

現在編集中です。

まとめ

いかがでしたでしょうか?

Google Colab版ComfyUIについて詳しく解説してきました。

今回のポイントをまとめると、以下のようになります。

  • ComfyUI」とは、画像生成AIであるStable Diffusionを操作するためのツールの一つ。特に、ノードベースのUIを採用しており、さまざまなパーツをつなぐことで画像生成の流れを制御する。
    • Stable Diffusionの画像生成web UIとしては、AUTOMATIC1111が有名だが、「ComfyUI」はSDXLへの対応の速さや、低スペックPCでもOKという性能の高さから注目を集めている。
  • ComfyUIの機能は、基本的なStable Diffusionの機能(画像生成、モデル、拡張機能など)のほかにも、数えきれないほどの機能がある。
  • ComfyUIのメリット
    • ①最新技術への対応の速さ
    • ②カスタムノードという仕組みを採用した拡張性
    • ③処理効率の良さ
  • 【結論】ComfyUIというツール自体はVRAMの効率的な使用やインストールの簡単さといった強いメリットを持ちながらも、UIの使い勝手や日本語での情報の少なさの面で改善の余地がある

ComfyUIはとっつきにくいと思われがちですが、1つ1つ手順を踏んで丁寧に操作していけば綺麗な画像が超高速で生成できることが分かったのではないでしょうか?

本記事が皆さんの画像生成の助けとなれば幸いです。

今後も、ComfyUIに関する記事を公開していきますので、ぜひチェックをお願い致します!

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。