「ComfyUIを導入したはいいけど、使い方が全く分からない…」
と困っていませんか?
モデルの設定場所や、プロンプトやネガティブプロンプトの入力場所、画像生成や画像の保存方法、その他の設定方法などなど…
よく分からないですよね。

また、img2imgなどを使用したい場合は、新しくノードと呼ばれるものを追加する必要があります。
ノードを追加したらエッジ(配線)を正しい位置に繋げないとエラーが起きてしまい、画像生成することが出来ません。

Stable Diffusion Web UI(AUTOMATIC1111)でimg2imgを使用する場合、予め機能が用意されているのですが
ComfyUIでは配線を繋げる必要があるため、少し複雑かもしれません。
そこでおすすめの方法として、「ComfyUI_examples」や、「Civitai」や「Hugging Face」などに配布されているワークフローのファイルを使用することです。
ワークフローのファイルはComfyUIに読み込ませるだけで
簡単に「img2img」や「LoRA」などを組み込むことが出来るので
すぐにそれらを使用して画像生成することが出来ます!
自分でノードを追加して配線を繋げる必要がありません!

この記事では、ComfyUIでモデルの設定方法やプロンプト、ネガティブプロントの入力方法、画像生成する方法、その他の設定や
ワークフローファイルを使用して「img2img」を簡単に導入する方法について解説するので、是非参考にしてください。
ComfyUIの導入方法について知りたい方は
こちらの記事でGoogle Colabを使ってComfyUIの導入方法について解説しているので読んでみてください。
画像生成する方法

画像生成する場合は、右上にある「Queue Prompt」か「Queue Front」をクリックすることで出来ます。

1度に連続で画像生成する方法
「Extra options」にチェックを入れてから
「Batch count」の数値を「2」にすると、1度に2回連続で画像生成することが出来ます。
画像生成したら、すぐに2回目の画像生成を開始します。

無限に画像生成する方法
「Auto Queue」にチェックを入れてから画像生成すると、無限に画像生成することが出来ます。
チェックを外すと止めることが出来ます。

キュー(待ち数)を確認する
「View Queue」をクリックすると、現在のキュー(待ち数)を確認できます。

「Running」では、画像生成中になります。
「Pending」では、待っているキューになります。

過去の履歴を確認する
「View History」では、過去の履歴を確認できます。

「View History」内にある「Load」をクリックすると
過去に生成したパラメーター情報や画像結果を確認することが出来ます。

ワークフローについて
Save | ワークフローを保存します |
Load | ワークフローを読み込みます |
Refresh | ワークフローを更新します |
Clipspace | コピーしたClipspace(生成画像)をマスクすることが出来ます。 マスクしてから一部修正ができるインペイントの時などに使用します。 |
Clear | ワークフローを全削除します |
Load Default | ワークフローを初期化します |
Reset View | ビューを初期位置にリセットします |

ワークフローとは以下の画像のように
ノードとエッジ(配線)が構成されたものを指します。

四角枠のものを「ノード」と言います。

配線のようなものを「エッジ」と言います。

ノードを追加する方法
何もない場所で右クリックしてから
「Add Node」を選択するとノードを追加することが出来ます。
ノードは「LoRA」や「img2img」などを使用するときに使用します。

Checkpointモデルを設定する
「Load Checkpoint」では、導入したCheckpointモデルを設定することが出来ます。

プロンプトやネガティブプロンプトについて
上部にある「CLIP Text Encode (Prompt)」は、プロンプトを入力する場所となっているので、生成したい内容を英語で入力してください。
下部にある「CLIP Text Encode (Prompt)」は、ネガティブプロンプトを入力する場所となっているので、生成したくない内容を入力してください。

画像サイズを変更する
「Empty Latent Image」にある、「width」と「height」では画像サイズを変更できます。

1度に画像生成する枚数を変更する
「batch_size」では、例えば「3」に設定した場合、1度に連続で3枚画像生成することが出来ます。

KSamplerについて
「KSampler」では、次の変更をすることが出来ます。
・seed
・control_after_generate
・steps
・cfg
・sampler_name
・scheduler
・denoise
ここでは、上記について1つずつ解説します。

seedとcontrol_after_generateについて
「control_after_generate」では、「seed」の数値を固定したりランダムにしたりすることが出来ます。
fixed | seedを固定します |
increment | 画像生成する度にseedを+1にします |
decrement | 画像生成する度にseedを-1にします |
randomize | 画像生成する度にseedをランダムにします |

seedは数値が違うことで、異なった画像生成結果に出来ます。
ですから、画像生成する度に毎回違った画像生成をしたい場合は
「control_after_generate」を「randomize」に設定しましょう。

「fixed」に設定すると、seedの数値が固定されるので、何度生成しても全く同じ画像生成結果になります。(他のパラメータ情報を変えていない場合)
ほとんど使用する場合はないのですが、生成した画像と全く同じ画像生成結果にしたい場合などに使用します。

steps
「steps」では、ノイズを除去する回数を変更できます。
ノイズ除去回数を多くするほど高品質になります。

以下の画像のように
「steps」の数値が小さくなるほど、品質が低くなります。
数値が大きくなるほど、品質が高くなります。

cfg
「cfg」では、プロンプトに従う影響度を調整することが出来ます。

以下の画像のように
数値が小さいほど、プロンプトに従いにくく柔らかい印象になります。
数値が大きいほど、プロンプトに従いやすくシャープな印象になります。
(大き過ぎると品質が劣化します)
推奨値として「8〜20」くらいに設定するといいです。

sampler_name
「sampler_name」では、ノイズ除去する方法(アルゴリズム)を変更できます。

以下の画像では、seedの数値を固定して「sampler_name」を「euler」「euler_ancestral」「dpmpp_2m」で生成した結果になります。
それぞれ異なった画像生成結果にすることが出来ます。
生成する特徴が変わるため
変更したことで生成できなかったことが生成できるようになったり
体が崩れにくくなったりします。

scheduler
「scheduler」では、少しだけ違った画像生成結果にすることが出来ます。

以下の画像では、seedの数値を固定して「normal」「karras」「exponential」で生成した結果になります。
「sampler_name」よりは大きく違った生成結果にならないのですが、少しだけ違った画像生成結果になっています。
惜しい画像生成がされた場合などに使用するといいと思います。

denoise
「denoise」では、ノイズ除去の強さを調整できます。

以下の画像では、「denoise」を「0.01」「0.5」「1」で生成した結果になります。
「0.01」では、ほとんどノイズを除去できていません。
「0.5」では、ある程度ノイズ除去できてはいるのですが、まだノイズがしっかりと除去できていない感じがありますね。品質が低く感じます。
「1」では、しっかりノイズ除去しており品質が一番高いので、そのまま「1」の設定の方がいいです。
「denoise」は最大「1」まで設定できます。

Save Imageについて
「Save Image」は、画像生成した結果を表示します。

画像の場所で右クリックしてから
「Save Image」をクリックすると画像を保存できます。

Img2ImgやLoRAを簡単に導入して使う方法
ワークフローのファイルは、「ComfuUI_examples」や、「Civitai」「Hugging Face」などで配布されており、
使用することで簡単に「Img2Img」や「LoRA」を導入できます。
通常であれば、ComfyUI内で自分でノードを追加してエッジ(配線)を繋いだりするのですが、その必要がなくなるので便利です!
この例では、「ComfyUI_examples」からimg2imgの機能を簡単に導入する方法について解説します。
「ComfyUI_examples」にアクセスしてください。
「Img2Img」をクリックしてください。

下にスクロールすると画像があるので、ComfyUI内に画像をドラッグ&ドロップしてください。

これだけで「Img2Img」の機能が利用できるワークフローを構築できます。

以下の画像のように、「CIVITAI」でも多くのワークフローがあるので是非利用してみてください。

まとめ

「ComfyUI」の使い方について解説しました。
ComfyUIは、Stable Diffusion Web UI(AUTOMATIC1111)と比較すると少し複雑かもしれません。
Img2ImgやLoRAなどを使用したい場合に、自分でノードを追加してエッジを組むのは面倒なので、
「ComfyUI_examples」からImg2ImgやLoRAからワークフローを使用した方がいいです。
そこからエッジの構築を参考にして、別のものも追加していくといいでしょう。
是非記事を参考にしてComfyUIを使用してみてください。
以下の記事では、ComfyUIでLoRAの使い方について解説しているので興味ある方は読んでみてください。