Stable Diffusionをもっと便利に使えないかな?
ComfyUIの移行を検討してみては?
Stable DiffusionをローカルPCで使うためのツール(インターフェース)はいくつか存在していますが、中でも有名なものは「AUTOMATIC1111」と「ComfyUI」です。
もし初めてStable Diffusionに触れるのであれば、私は「AUTOMATIC1111」をオススメします。
AUTOMATIC1111の画面は初心者にもわかりやすいからです。
一方、ComfyUIはノードベース(フローチャートベース)と呼ばれるUI画面のため、初めて見る人はギョッとすると思います(私もそうでした)💦
ぱっと見、なんか難しそう…
最近はDXの潮流の中で「MicrosoftのPower Automate」など、ワークフローを構築して業務を自動化する場面も多くなってきました。ComfyUIもまさに画像生成のワークフローを構築して実行するという方法です。
ComfyUIには自分なりの効率的・効果的なフローを構築したり、それを他人と共有したりする面白さがあります。Stable Diffusionやワークフローの考え方に慣れている人向けと言えるかもしれません。
また、Pythonプログラミングができる人なら「カスタムノード」と呼ばれる独自の拡張機能を比較的カンタンに作れるので、より自分の使い方に合ったカスタマイズをすることができるでしょう。
AUTOMATIC1111でStable Diffusionでの画像生成に慣れてきたら、ComfyUIへの移行を検討しても良いかもしれません。
本記事では主にAUTOMATIC1111などでStable Diffusionを使ったことがある人に向けて、ComfyUIの特徴やインストール方法、基本的な使い方を解説します。
※そのため、Stable Diffusionの基礎的な用語や使い方については説明を割愛しますのでご了承ください。
ComfyUIをインストールする
ComfyUIの「ポータブルスタンドアローンビルド」なら、簡単にComfyUIを使い始めることができます。ただし、この方法が使えるのは「WindowsでNVIDIA GPUまたはCPU」の環境だけなのでご注意ください。
ポータブルスタンドアローンビルド
ComfyUIの公式にアクセスします。
下にスクロールして、Installing > Windowsの項目を見つけます。そこの「Direct link to download」をクリックして、ComfyUIのzipファイルをダウンロードします。
ダウンロードしたzipファイルを7-zipで解凍しましょう。
ファイルを右クリックして、その他のオプションを確認 > 7-Zip > 展開をクリックし、任意の場所に展開します。
ファイルを展開すると、以下のようなフォルダ構成になっています。
GPUの場合は「run_nvidia_gpu.bat」をダブルクリックして実行しましょう。
CPUの場合は「run_cpu.bat」です。
するとコマンドプロンプトが起動して、ごにょごにょと処理が進んでいきます。
10秒くらいして、ブラウザが立ち上がって下のような「ComfyUI」の画面が表示されたらOKです。
ComfyUIを使ってみる
一体何なんですか、この画面は…
おそらく初めてComfyUIを使う人は、ComfyUIの画面を見てボーゼンとすると思います…💦
何やら四角い枠とそれらをつなぐ線…一体どうやって画像を生成するのか不安になるかもしれませんね。
これは一種のフローチャートと考えてください。画像生成ではいろいろな処理が行われますが、それをフローチャートで表現しているのです。
ComfyUIでは四角いブロックのことを「ノード」と言い、左から右に各ノードの処理が実行されていきます。
Text to Imageで画像生成
ComfyUIではさまざまな種類のノードを自由に組み合わせて一連の画像生成プロセスを作ることができます。
とはいえ、いきなり複雑な処理は難しいと思いますので、最も基本的な「Text to Image」のフローを理解することから始めましょう。
デフォルトの状態で「Text to Image」のフローになっているので、これを動かしながら基本的な使い方を確認していきます。
AUTOMATIC1111との対応関係を示しました。AUTOMATIC1111を使ったことがある人ならば、この対応関係を知るだけですぐに基本的な画像生成はできると思います。
では、順番に解説していきます。
Load Checkpoint:チェックポイント
左から順番に見ていきましょう。
一番左にあるのが「チェックポイントの選択」です。つまり、AIのモデルを指定するノードです。
チェックポイントのファイルは「ComfyUI > models > checkpoints」に格納しておきます。
これまでAUTOMATIC1111を使っていた場合は、以下の方法でAUTOMATIC1111のファイルを共有するのが合理的です。
CLIP Text Encode:プロンプト
「Load Checkpoint」の右にあるのが「プロンプト」と「ネガティブプロンプト」を指定するノードです。
ノード自体はまったく同じものが2つありますが、つながっている先をよく見るとpositiveとnegativeとなっていますね。
positiveにつながっているのが「プロンプト」で、negativeにつながっているのが「ネガティブプロンプト」です。
Empty Latent Image:生成画像サイズ
「CLIP Text Encode」ノードの下には「Empty Latent Image」というノードがあります。これは「生成する画像の大きさ」を指定するノードです。
KSampler:画像生成
その右のノードは「KSampler」で、画像生成を行うノードです。seedやsetpsなどStable Diffusionでおなじみのパラメータが並んでいますね。
VAE DecodeとSave Image:画像のデコードと保存
このKSamplerで生成された画像は「潜在空間の画像」なので、私たち人間の目で見てわかる画像にはなっていません。そのため、次の「VAE Decoder」というノードで、「潜在空間の画像」を「私達が目で見てわかる画像(ピクセル空間の画像)」に変換しています。
最後のノードは画像を保存するノードです。
Queue Prompt:生成開始
全体像がわかったところで、「Queue Prompt」をクリックして生成開始してみましょう。処理が左から右に実行されていきます。
生成された画像は「ComfyUI > output」に保存されます。
まとめ
ComfyUIは、ノードベースのインターフェースを採用し、画像生成のプロセスをフローチャートのように可視化して操作できるのが大きな特徴です。
AUTOMATIC1111からの移行を検討しているユーザーにとって、より柔軟で高度なカスタマイズが可能です。
初めは複雑に感じるかもしれませんが、一度慣れると効率的なワークフローを自分で作成し、独自の表現を実現できる楽しさがあります。拡張性も高く、カスタムノードを使えばさらなる操作の幅が広がります。
最初は拡張機能が入っていないので、AUTOMATIC1111に慣れていた人は不便に感じるかもしれません。拡張機能(カスタムノードの導入)やimg2imgなど詳しくは別記事で解説する予定です。
これでひとまずComfyUIデビュー✨
コメント