クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【Comfy UI】ガイド[インストール・更新・機能拡張・不具合と対策]

Comfy UIは、ノードベースでワークフローを作れる画像生成用インタフェースです。

UnityやTiktok EffectHouseなどを使っていると、割合イメージしやすいかと思います。いろんなパーツをつなぐことで、画像生成の流れを制御していくようになっています。

ComfyUIとは?メリットは?

オープンソースのStableDiffusionをローカルPCで、なおかつワークフローと呼ばれるノードベースで設定できるインタフェースのようです。

 

メリットとしては、起動が早いなど最適化がうまくされているようです。

 

例えばモデルファイルを入れた後のRefreshをしなくてもよかったりします。

 

 

インタフェースは好みがわかれるところですが、現在のStableDiffusionWebUIは機能を追加すればするほどどれがどこかわかりにくくなります。

 

それに対しComfyUIなら必要な機能のノードを追加するだけです。つまり必要なものだけが表示されることになります。

 

たぶんですが、多機能になればなるほどComfyのようなUIのほうが使いやすくなります。

 

使うならどっち?

ComfyUIとStableDiffusionWebUIで、使ってみて使いやすいほうを使うのがいいです。

 

StableDiffusionWebUIは、いろんなサイトに解説ページが多いのはメリット。対応機能拡張も多いです。

 

一方、ComfyUIは動作の最適化や(慣れた後の)操作性がいいかなと思います。

 

 

気になるのは開発ペースでどちらが主流になってどちらが廃れるかはちょっとわかりません。

 

個人的にはComfyUI形式のほうがメインになっていくほうに期待したいです。というのも機能拡張などが増えるにつれ、このように自分で流れをパーツでデザインするスタイルにならざるを得ないかなと思いますので。

 

 

ComfyUI

インストール

Release ComfyUI Standalone Portable Windows Build (For NVIDIA or CPU only) · comfyanonymous/ComfyUI · GitHub

 

解凍ツールは以下のものなどを使います。  

「7-Zip」7z形式などに対応した解凍・圧縮ソフト - 窓の杜

 

解凍後の「ComfyUI_windows_portable」を任意位置へ移動。モデルを「ComfyUI/models/checkpoints」へ入れておきます。

 

 

起動

「run_nvidia_gpu.bat」で起動します。

 

1つ1つのパーツは「ノード」で、その一連のつながりが「ワークフロー」となります。

 

「Load Default」でデフォルトのワークフローを表示します。

「Clear」でワークフロー全体を一度クリアします。

「Load」でワークフロー(JSONフォーマット)をロードします。

 

マウスの左ドラッグで移動、マウスホイールで拡大や縮小ができます。

 

 

 

利用の流れ

まずはシンプルなワークフローで、生成の流れだけ大雑把にでも把握しておきましょう。

 

Load Checkpoint

まずLoad Checkpointノードからは画像生成に使用するモデルを指定します。

上記にあるcheckpointフォルダに格納したモデルが表示されるので、あらかじめ使いたいモデルに切り替えます。

 

Clip

Clipにはプロンプトを書き入れます。

2種類あるのはポジティブとネガティブの2種類のプロンプトを生成するためです。

 

KSamplerとは?Vaeとは?

KSamplerは、実際に画像を生成するノードになります。生成するシード値やステップ数の設定はここで行います。

 

Vaeは変分自己符号化器(Variational Auto-Encoder)で、KSamplerによって生成した画像をよりシャープでしっかりした画像に変換します。

 

以上を経て「Save Image」つまり画像として保存するノードに最終的に接続されています。

 

画像生成

右のパネルのキューを押すと画像を生成します。

 

できあがると「Save Image」のモジュールのところに画像ができています。

 

ノードを追加するには画面上で右クリック。

 

このワークフロー(ノードの流れ)を保存するには「セーブ」から名前を付けて実行します。

 

SDXLの作成

SDXL版の作成は、まずSDXLモデルを入手します。

例:以下より「animagine-xl.safetensors」を入手。「ComfyUI/models/checkpoints」へ入れます。

Linaqruf/animagine-xl at main (huggingface.co)

 

同ページには「animagine_xl_workflow.json」があるので、ワークフローをロードします。

 

ワークフローを見ると、ClipTextEncoderSDXLというノードを経由してから作画されているのがわかります。

 

作画を実行し、きれいなイメージが出来上がればOK.

 

 

またこちらのサイトからもワークフローが入手できます。以下サイトへ行き、ボトルの画像をダウンロードしてドロップ。

SDXL Examples | ComfyUI_examples (comfyanonymous.github.io)

利用モデル:「sd_xl_base_1.0.safetensors」

sd_xl_base_1.0.safetensors · stabilityai/stable-diffusion-xl-base-1.0 at main (huggingface.co)

利用モデル:「stable-diffusion-xl-refiner-1.0 」

sd_xl_refiner_1.0.safetensors · stabilityai/stable-diffusion-xl-refiner-1.0 at main (huggingface.co)

実行結果:

 

 

ComfyUIのアップデート

Comfyをインストールすると、「Update」というフォルダが作られています。

 

ここに「update_comfyui_and_pythorn_dependencies.bat」があるので実行。

 

キーを押して作業を進め、終わったらComfyを起動、または再起動します。

 

 

ComfyUIのカスタムノード(機能拡張)

管理マネージャーのインストール

ComfyUIでは、「カスタムノード」としていろんな機能拡張を利用できます。カスタムノードのインストールの管理をするため、「ComfyUI-Manager」をあらかじめ入れておきましょう。

GitHub - ltdrdata/ComfyUI-Manager

 

ComfyUIだけをインストールした場合は以下のメニューです。

 

インストールするには、ターミナルでComfyUIのフォルダ内の「custom_nodes」に
移動。以下コマンドでダウンロードします(まずgitを入れておく必要はあります)

git clone https://github.com/ltdrdata/ComfyUI-Manager.git

 

このあと、再度ComfyUIを起動し、以下のように「Manager」という項目が追加されていればOK。

 

「Manager」を起動すると以下の画面となり「Install Custome Nodes」ボタンからインストールしたいカスタムノードを選びます。

 

InstallModelsでモデルも入手できますが、どのぐらいダウンロードが進んでいいるかはわかりません。「Instalation was successful」が表示されるまで待った方がいいです。

 

 

 

便利なカスタムノード

主な機能拡張は以下のようなものがあります。

img2img

【Comfy UI】Img2Imgの仕方は? - AI教科書

 

アップスケール(高品質で拡大)

【Comfy UI】アップスケールの仕方は? - AI教科書

 

LoRAの利用

【Comfy UI】Loraの使い方は?複数使うには? - AI教科書

 

動画生成

【Comfy UI】Animatie Diff、導入方法・メリット・使い方 エラーの場合は? - AI教科書

 

コントロールネット

【Comfy UI】コントロールネットを使うには? - AI教科書

 

ADetailer

【Comfy UI】ADetailerの代わり「Facedetailer」を使うには? - AI教科書

 

 

Comfy UIの不具合

起動しない?

まずFor NVIDIA or CPU onlyとあるように、Nvidia用のバッチとCPU用のバッチがあります。

Nvidiaユーザは「run_nvidia_gpu.bat」から、それ以外は「run_cpu.bat」のほうで起動してみましょう。

 

うちでは7Zの解凍がうまくいかずにだめなようでした。

解凍ソフトを別のものにしたら、起動するようになりました。

 

 

ワークフローが開かない?

ダウンロードしたJSONをドロップしてもワークフローが表示されない場合、ファイルを確認してみましょう。

 

JSONファイルであれば通用は以下のようなフォーマットでデータが書かれています。一般的なテキストエディタからひらくことができます。

 

ノードがUndefined

ノードが見つからないと「Undefined」として赤く表示されます。

たいていは、利用している機能拡張のノードがないことに起因します。

 

機能拡張を確認し、追加忘れがないかチェックしてみましょう。

Managerを入れていれば「Install Missing Custom Nodes(みつからないカスタムノードをインストール)」を試してみましょう。

 

 

起動引数一覧

以下の引数が利用できます。

main.py

[-h]

[--listen [IP]]

[--port PORT]

[--enable-cors-header [ORIGIN]]

[--max-upload-size MAX_UPLOAD_SIZE]

[--extra-model-paths-config PATH [PATH ...]]

[--output-directory OUTPUT_DIRECTORY]

[--temp-directory TEMP_DIRECTORY]

[--input-directory INPUT_DIRECTORY]

[--auto-launch]

[--disable-auto-launch]

[--cuda-device DEVICE_ID]

[--cuda-malloc | --disable-cuda-malloc]

[--dont-upcast-attention]

[--force-fp32 | --force-fp16]

[--bf16-unet | --fp16-unet | --fp8_e4m3fn-unet |--fp8_e5m2-unet]

[--fp16-vae | --fp32-vae | --bf16-vae]

[--cpu-vae]

[--fp8_e4m3fn-text-enc |--fp8_e5m2-text-enc |--fp16-text-enc | --fp32-text-enc]

[--directml [DIRECTML_DEVICE]]

[--disable-ipex-optimize]

[--preview-method [none, auto, latent2rgb, taesd]]

[--use-split-cross-attention | --use-quad-cross-attention | --use-pytorch-cross-attention] [--disable-xformers]

[--gpu-only | --highvram | --normalvram |--Lowvram | --novram | --cpu]

[--disable-smart-memory]

[--deterministic]

[--dont-print-server]

[--quick-test-for-ci]

[--windows-standalone-build]

[--disable-metadata]

[--multi-user]

[--verbose]

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ