今回はStable Diffusionを簡単に使えるツールに関する話題で
を一通りまとめてみるという内容になっています。
Stable Diffusionを簡単に使えるツールというと既に「Stable Diffusion web UI」などがあるのですが、比較的最近登場した「ComfyUI」というツールがノードベースになっており、処理内容を視覚化できて便利だという話を聞いたので早速試してみました。
ここではこのComfyUIについて
- 概要と主な特徴
- 簡単なインストール方法
- 基本的な使い方
などを書いていきますね。
※2023/08/08追記:
ComfyUIでStable Diffusion XLモデルを動かす方法を解説した記事を書きました。
ComfyUIの概要
公式ページ
ComfyUIとは?
ComfyUIはノードベースのUIが特徴のStable Diffusion用ツールです。ノードベースというのは言葉で説明するのは難しいのですが、簡単に言えば
という感じです。百聞は一見に如かず、実際の画面をご覧ください。
初見だと何が何だかよく分からないかもしれませんが、とりあえず黒い四角がノードでそれぞれ特定の処理を示しています。そしてそれが線でつながっていることが分かると思います。ノードベースだとこのように処理の流れを視覚的に確認したり変更したりできるというメリットがあり、慣れるとかなり便利です。
ちなみにもしゲーム開発をしたことがある方であれば、ComfyUIは
- Unreal Engineのブループリント
- UnityのVisual ScriptingやShader Graph
にかなり近い操作感なのですぐに使い方を理解できると思います。
主な特徴
ComfyUIの主な特徴は次のとおりです。
- ノードベースになっており処理の流れを視覚的に確認できる
- 処理の流れを自分でカスタマイズすることができる
- 起動が速い
先ほどから書いている通り最大の特徴はノードベースのUIになっている点で、他のツールとは違って処理内容を視覚的に確認・変更することができるのが大きなメリットです。あとは地味な点ですが起動がかなり速いのが嬉しいですね。
動作に必要なスペックについて
さてお次は必要なスペックについてです。ComfyUIを動かすには、他のツールと同様に一定以上のPCスペックが必要です。
公式ページを見ても必要なスペックは特に書かれていないものの、一般的にStable Diffusionを快適に動かすには特にグラフィックボードの性能が必要で
- NVIDIAの「GeForce RTX20」シリーズ以降
- かつ、VRAM(=ビデオメモリ)容量が10GB以上あるのが望ましい
とされています。性能が足りていても古いグラフィックボードだと画像が出力されない場合があるようなので、試してみてダメなら買い替えを検討しましょう。
ちなみにStable Diffusionを快適に動かすためのグラフィックボードの選び方を下記の記事で詳しく解説しているので、ご興味があればそちらも併せてご覧ください。
一番簡単なインストール方法
ComfyUIのインストール方法は次の2通りがあります。
- 自力でインストールする方法
- 圧縮ファイルをダウンロードして展開する簡単な方法
自力でインストールする方法でもいいのですが、この記事をご覧の方の多くは初心者の方や面倒くさがりな方だと思うので、ここでは2番目の簡単なインストール方法について説明しますね。
主な手順は次のとおり。
- 公式ページから圧縮ファイルをダウンロードして展開する
- 任意のモデルファイルを所定のフォルダに入れる
- バッチファイルを実行する
それぞれ詳しく見ていきましょう。
手順1:圧縮ファイルをダウンロードして展開する
まずは下記ページからComfyUIの圧縮ファイルをダウンロードします。
圧縮形式は「7z」でありWindowsの標準機能では展開できないと思うので、解凍ソフトを入れていない方は先に好きな解凍ソフトをインストールしておきましょう(参考までに窓の杜のリンクを張っておきます)。
圧縮ファイルは好きな場所に展開してください。展開には少し時間がかかります。
手順2:任意のモデルファイルを所定のフォルダに入れる
次に、このままでは画像生成に必要なモデルファイルが何も入っていないのでそれを用意して所定のフォルダに入れる必要があります。
Stable Diffusion系のモデルは色々あるので好きなものを探して頂きたいのですが、例えば美少女イラストを生成したい場合は、下記のページでオススメのモデルをご紹介しているのでそちらも参考になさってください。
任意のモデルをダウンロードしたら、それをComfyUIのフォルダの中の
に移動させましょう。
また、モデルと一緒にVAEが配布されている場合はそのファイルを
に移動させておいてください。
手順3:バッチファイルを実行する
ここまでできたら、あとはバッチファイルを実行するだけです。フォルダの中に下記のバッチファイルがあるのでそれを実行してください。
実行するとブラウザが起動し、下記のような画面が表示されます。これでインストール完了です!
ComfyUIの基本的な使い方
ではここからComfyUIの基本的な使い方についてご説明していきます。ComfyUIは他のツールとは画面の使い方がかなり違うので最初は少し戸惑うかもしれませんが、慣れればとても便利なのでぜひマスターしてみてください。
まずはノードベースのUIに慣れよう
まず、ComfyUIはすでにご紹介している通りノードベースのUIになっているので、真っ先にこれに慣れておく必要があります。
画面を見て頂くと、ComfyUIではノード(=黒いボックス)同士が線でつながっていることが分かると思います。ノードは入出力やその他の処理を表すもので、それを繋げていくことで画像生成処理を構成します。
ノードは右クリック→「Add Node」から新しいものを追加できるので、ここでは試しに「VAEを読み込むノード」(VAELoader)を追加して接続してみましょう。
VAELoaderは「Add Node」→「loaders」→「VAELoader」と選ぶと追加することができます。
追加できたら、このノードの「VAE」ポートを「VAEDecode」ノードの「vae」ポートに接続します。接続のやり方は簡単で
- VAELoaderノードのVAEポート(ノード右側のVAEと書かれた灰色の点)をドラッグ
- VAEDecodeノードのvaeポート(ノード左側のvaeと書かれた緑の点)にドロップ
するだけです。
これで画像生成の際にVAEが読み込まれて使用されるようになります。
ComfyUIでは、このようにノードの組み合わせを変更することで処理の流れを柔軟に変えることができてとても便利です。
ちなみにカスタマイズした処理の流れは画面右側の「Save」ボタンで保存できるので、よく使う処理の場合は保存して後で使いまわせるようにしておきましょう。
txt2img(呪文から画像を生成)のやり方
さて画像生成AIの最も基本的な処理となるtxt2imgの処理については、デフォルトで処理の流れが組んであります。なので2つのテキストボックスにプロンプトとネガティブプロンプトをそれぞれ記入し、画面右側の「Queue Prompt」ボタンを押すだけで画像が生成されます。
生成した画像は下記のフォルダに出力されます。
img2img(元画像と呪文から別の画像を生成)のやり方
次にimg2imgを行うには処理の流れを自分で変更する必要があります。img2imgを行うためのノード同士の接続は次のとおりです。
具体的には主に下記のように変更を行います(その他の部分は上の画像を見て変更してください)。
- 「LoadImage」ノードと「VAEEncode」ノードを新しく追加します。
- LoadImageノードのIMAGEポートを、VAEEncodeノードのpixelsポートに接続します。
- VAEEncodeノードのLATENTポートを、KSamplerノードのlatent_imageポートに接続します。
- KSamplerノードのdenoiseを0.85くらいに変更します。
入力する元画像は予め下記のフォルダに入れておくか、LoadImageノードの「choose file to upload」ボタンから選択します。
これで元画像から別の画像を生成することができるようになります。
おわりに
以上、ComfyUIのインストール方法や基本的な使い方についてご説明しました。ComfyUIは慣れるまでが少し大変だと思いますが、慣れてくると処理の流れが視覚的に分かってとても便利なのでこの機会にぜひ使ってみてください。
この記事が何かしら参考になれば幸いです。