ComfyUIの基本的な使い方 Text-to-image編
今回はComfyUIの基本的な使い方を説明していきたいと思います。デフォルトワークフローを元に使い方を学習していきましょう。デフォルトワークフローの呼び出し方はメインメニューの「Load Default」ボタンで呼び出しができます。
【最新第13世代 Core i9 HX & RTX 4090搭載・ウルトラハイエンド】MSIゲーミングノートPC RaiderGE78HX i9HX RTX4090/17型 WQXGA/240Hz/32GB/2TB/Windows11/Raider-GE78HX-13VI-2803JP
¥368,800
ASIN:B0BVBM5T8F
【最新第13世代 Core i9 HX & RTX 4080搭載・ウルトラハイエンド】MSIゲーミングノートPC RaiderGE78HX i9HX RTX4080/17型 WQXGA/240Hz/32GB/1TB/Windows11/Raider-GE78HX-13VH-1103JP
¥579,800
ASIN:B0BVBCNBLN
【整備済み品】ゲーミングPC デスクトップ パソコン ドスパラ GALLERIA Core i7-8700 - Geforce GTX 1080 8G - 16GBメモリ - SSD 1.0TB - Windows 11 - THIRDWAVE ゲームPC VR
¥81,510
値引き¥4,290 (5%)
ASIN:B0DJ29797H
【第13世代Core i9 HX & RTX 4080搭載・ウルトラハイスペック】MSIゲーミングノートPC Vector16HX 32GB/1TB/Core i9-13980HX RTX4080/16型 WQXGA/240Hz/Windows 11/Vector-16-HX-A13VHG-1003JP
¥379,800
ASIN:B0CTKC6JYH
mouse 【 RTX4070 SUPER 搭載 / 3年保証】 ゲーミングPC デスクトップ G-Tune DG (Ryzen 7 5700X RTX4070 SUPER 32GBメモリ 1TB SSD Windows 11 ゲーム 動画編集) DGA7G7SB3SJW103AZ
¥212,330
値引き¥37,470 (15%)
ASIN:B0CYGPQJBX
MSI Trident X2 14NUF7-293JP ゲーミングデスクトップPC Windows 11 Pro/インテル Core™ i7-14700KF/NVIDIA GeForce RTX 4070 Ti / DDR5 32GB/SSD 1TB/メーカー2年保証
¥398,000
値引き¥100,400 (20%)
ASIN:B0CSSS66NH
【14インチ小型・軽量1.6kg】【第13世代Core i7 & RTX 4060搭載・スケルトンデザイン】MSIゲーミングノートPC Cyborg14 Corei7 RTX4060/14インチ WUXGA/144Hz/32GB/1TB/Windows 11/Cyborg-14-A13VF-6003JP
¥199,800
ASIN:B0CTS2PCX1
【Amazon.co.jp限定】 ASUS ゲーミングノートPC TUF Gaming A15 FA507NVR 15.6型 RTX 4060 Ryzen 7 7435HS メモリ16GB SSD1TB リフレッシュレート144Hz RGB イルミネートキーボード Windows 11 動画編集 Xbox Game Pass 3ヶ月利用権付き FA507NVR-R74R4060T
¥149,800
値引き¥40,000 (21%)
ASIN:B0CWVCYZC5
【NEWLEAGUE】ゲーミングパソコン Ryzen 7 5700X / RTX4070 / メモリ32GB / NVMe SSD 1TB / Windows11Pro / WPS Office ミドルタワー デスクトップパソコン NGR75X-RTX47650 (RTX4070 GDDR6X 12GB, G6ホワイト)
¥203,830
値引き¥35,970 (15%)
ASIN:B0D41HWK5D
mouse 【 RTX4070 SUPER 搭載 / 3年保証】 ゲーミングPC デスクトップ G-Tune DG (Core i7 14700F RTX4070 SUPER 32GBメモリ 1TB SSD Windows 11 水冷CPUクーラー ゲーム 動画編集) DGI7G7SB3SJW103AZ
¥254,830
値引き¥51,570 (17%)
ASIN:B0CSSNGZ21
GUIの使い方
まずはGUI(グラフィック ユーザー インターフェース)の使い方見ていきましょう。
キャンバス
GUIの何もない空間をキャンバスと呼びます。
グラフ
ノードをワイヤー組み合わせた一連の設計図
ワークフロー
プロジェクト全体の設計図。Json形式でファイリングされたデータ。
メインメニュー
メインメニューの基本的な使い方を説明します。
ComfyUIのメインメニューは非常にシンプルなので簡単に使うことができるでしょう。
- :::メインメニューをドラッグする持ち手。
- Queue size:現在の実行および待機中のグラフ数。
- ⚙️:ComfyUIの設定を開きます。
- Queue Prompt:現在のグラフを実行または順番待ちに追加する。
- Save:ワークフローをJsonファイルで保存します。
- Load:ワークフローをJsonファイルまたはConfyUIで生成したPNG画像より読み込みます。
- Refresh:グラフの更新。
- Clipspace:クリップスペースにコピーした画像を表示します。
- Clear:グラフを空にします。
- Load Default:デフォルトのワークフローを読み込みます。
- Reset View:キャンバスを初期状態に戻します。
Extra options
Extra optionsのチェックボックスを有効にするとBatch countが指定できます。これはQueue Promptボタンをを1回押したときに実行されるグラフの回数になります。
Auto Queue
Auto Queueのチェックボックスを有効にすると自動的にグラフを実行します。これには2つのモードがあり下記の通りに実行されます。
- instant:Queue Promptボタンを押すと永遠に実行し続けます。止めるにはAuto Queueのチェックボックスを無効化しましょう。
- change:ノードのパラメーターを変更したら自動で実行されます。バグなのか、仕様なのかが判りませんが、実行されたらAuto Queueのチェックボックスを無効化するまで止まりません。
Queue Front
このボタンは複数のグラフが順番待ちされている時、優先的に実行させたい時に使います。
View Queue
View Queueボタンを押すと現在のキュー状態を確認、操作ができます。また表示されているキューの「Load」でパラメーターを読み込み「Delete」でキューから削除できます。
- Running:現在実行中のグラフ
- Pending:待機中のグラフ一覧
- Clear Queue:待機中のグラフをすべて取り消します
- Refresh:キューリストを更新します
View History
View Historyボタンを押すとキューの履歴を確認できます。また表示されているキューの「Load」でパラメーターを読み込み「Delete」で履歴から削除できます。
- Clear History:履歴をすべて取り消します
- Refresh:履歴を更新します
ノード
ノードのUI操作方法を解説します。ノードメニュー等は難しく見えますが実際はそれほど難しくはありません。
ノードの追加
キャンバスを右クリックで出てきたメニューから「Add Node」>「ノードの種類」>「ノード」となっているので目的のノードを選択します。また、ダブル左クリックでノードのクイックサーチを開くことができます。
複数ノードの選択
Ctrl
を押しながら選択したいノードをドラッグまたはクリックで選択します。
複数ノードの移動
複数ノードを選択した状態でSHIFT
ボタンを押しながらドラッグで動かします。
ノードの大きさを変える
大きさを変えたいノードを右下にマウスポインターを持っていくとポインターが変わるのでドラッグでサイズ変更ができます。
ノードメニュー
ノードを右クリックでノードメニューが表示されます。ノードメニューは選択したノードに多少の違いはありますが今回は「Load Checkpoint」を例に基本的な使い方を解説します。
- Title:ノードのS&R変数名が表示されます。
- Inputs:無効化されている為、用途不明
- Outputs:無効化されている為、用途不明
- Convert to Groupe Node:複数選択したノードを一つのノードに変換します。
- Properties:S&R変数名を編集します。
- Properties Panel:プロパティパネルを開きます。
- Title:ノードのタイトルを変更します。変更後OKボタンを押さないと適応されません。
- Mode:モード変更します。詳細はノードモードにて説明しています。
- Resize:ノードをオリジナルの大きさに戻します。
- Collapse:ノードを最小化できます。最小化状態でクリックすれば元の大きさに戻すこともできます。
- Pin:ノードを固定できます。解除したい場合はもう一度クリックしてください。
- Colors:ノードの色を変更できます。表示された色からご希望の色を選択します。
- Shapes:ノードの形を変更できます。ボックス・ラウンド・カードの中から希望の形を選択します。
- Bypass:ノードをバイパス(スキップ)できます。またはノードを選択状態で
Ctrl + b
でも可能です。 - Copy (Clipspace):ノードのパラメーターをClipspaceにコピーします。
- Past (Clipspace):ノードのパラメーターをClipspaceからペーストします。
- Convert Widget to Input:パラメーターを外部のノードから操作したい場合にコチラから選択します。使用例としては高さ等のパラメーターを複数のノードに共通して使用する場合にPrimitiveノードを使い一元管理にできます。
- Clone:ノードのクローン(複製)を作成します。
- Remove:ノードを削除します。
ノードモード
ノードモードは以下の4つのモードがあります。
- Always:デフォルトで通常モードで常にオン状態です。
- On Event:未実装の為、用途不明
- Never:ミュートと同様の動作でNeverモードのノードで流れが止まります。
- On Trigger:未実装の為エラーが出ますがonExcutedから信号を受けたときに実行されます。
- ミュート:ミュートされたノードで流れが止まります。
- バイパス:ノードをバイパス(無視)して流れは継続されます。
グループ
Groupを使えばノードを纏めることができます。非常に便利なのでオススメです。
- 作成:キャンバスを右クリックして「Add Group」を選択します。
- エリアの調整:グループの右下をドラッグしてエリアを調整します。
- グループに追加:グループのエリア内に追加したいノードをドラッグ&ドロップします。
- エリアのフィット:グループエリアを右クリックでメニューが出てくるので「Fit Group To Nodes」でエリアを自動で調節してくれます。
- グループのバイパス:グループのメニューから「Bypass Group Nodes」をクリックするとエリア内のノードがバイパスされます。解除には「Set Group Node to Always」で解除されます。
- 編集:グループのメニューから「Edit Group」でタイトル・色フォントサイズの変更とグループエリアの削除(ノードは残ります)ができます。
ノードの基本構成
ノードは「ノードベースGUI」の名前の通り非常に重要な部分となっています。しかし構造としては非常にシンプルに構成されているので簡単に使うことができるでしょう。
各エリアの説明
- インプット:ノードの有効なインプットが表示されます。
- アウトプット:有効なアウトプットが表示されます。
- パラメーター:ノードのパラメーターを設定するエリアです。
ノードには基本的にインプット・アウトプット・パラメーターがあります。アウトプットから出たデータをワイヤーでインプットに繋いでいきグラフを組み立てましょう。
ワイヤーの種類について
インプット・アウトプットにはそれぞれ種類があり異なる種類をつなぐことはできません。
- MODEL:紫色:モデルデータ(Unet)
- CLIP:黄色:CLIPモデル
- VAE:赤色
- LATENT:ピンク色:潜在空間イメージ
- CONDITIONING:オレンジ色:エンベディングス(プロンプト)
- IMAGE:水色:ピクセル空間イメージ
また、ワイヤーを直線にしたい時はComfyUIの設定の「Link Render Mode」をStraightに変更します。
パラメーターの変更について
パラメーターの値を変更する場合は値を入力後OKボタンまたはEnterボタンで確定してください。確定をしない場合は適応されません。
ノードエラーについて
グラフにエラーがある場合該当のノードが赤枠で表示されます。エラー箇所を修正しましょう。画像のエラーはVAE Decodeにvaeワイヤーが繋がっていない状態です。
ショートカット一覧
キー | 説明 |
---|---|
Ctrl + Enter | 現在のグラフを実行または順番待ちに追加する |
Ctrl + Shift + Enter | 現在のグラフを優先的に実行する |
Ctrl + Z/Ctrl + Y | 取消/再実行 |
Ctrl + S | ワークフローを保存する |
Ctrl + O | ワークフローを読み込む |
Ctrl + A | すべてのノードを選択する |
Alt + C | 選択しているノードを最小化する/元に戻す |
Ctrl + M | 選択しているノードをミュートする/ミュートを解除する |
Ctrl + B | 選択しているノードをバイパスする/バイパスを解除する |
Delete/Backspace | 選択しているノードを削除する |
Ctrl + Backspace | キャンバスを空にする |
Space + マウス | スペースキーを押しながらマウスでキャンバスを移動する |
Ctrl/Shift + Click | ノードを複数選択します |
Ctrl + C/Ctrl + V | 選択したノードをコピー&ペーストします(ワイヤー接続は無視されます) |
Ctrl + C/Ctrl + Shift + V | 選択したノードをコピー&ペーストします(インプットも引き継がれます) |
Shift + Drag | 一度に選択された複数のノードを動かします |
Ctrl + D | デフォルトのワークフローを読み込みます |
Alt + + | キャンバスのズームイン |
Alt + - | キャンバスのズームアウト |
Ctrl + Shift + LMB + Vertical drag | キャンバスのズームイン/アウト |
Q | メニューの「View Queue」を開く |
H | メニューの「View History」を開く |
R | ワークフローを更新します |
Double-Click LMB | ノードのクイックサーチを開く |
デフォルトワークフロー各ノードの説明
ココからはtext to imageの最小構成となっているデフォルトワークフローを解説します。
Load Checkpoint
チェックポイントモデルモデルを読み込むノードです。「ckpt_name」をクリックすれば一覧よりモデルを選択できます。モデルのインストール直後など一覧にチェックポイントモデルがない場合はメインメニューの「Refresh」ボタンを押せば一覧を更新できます。
また、下記の記事ではオススメチェックポイントを紹介しています。
CLIP Text Encode (Prompt)
CLIP Text EncodeノードはCLIPモデルをUnetが理解できる形式(エンベディングス)にエンコードします。上下共に同じノードになりますがアウトプットに繋がる場所でポジティブ・ネガティブの違いを判断できます。
Empty Latent Image
空の潜在空間を作成するノードになります。高さと幅を設定します、バッチサイズは1度のQueueで生成する画像の枚数になります。
バッチサイズとバッチカウントは似ているようで少し違います。
- バッチサイズ:Empty Latent Imageより設定:一度に生成する画像の枚数を設定
- バッチカウント:メインメニューより設定:一回のQueueで実行するグラフの回数
たとえばデフォルトワークフローでバッチサイズを2・バッチカウントを3の設定で実行すると2枚の画像を生成するグラフが3回実行されるので合計6枚の画像が生成されます。
KSampler
KSamplerは入力されたmodel・positive・negative・Latent Imageを元にイラストを生成します。
- seed:生成用シード
- control_after_generate:シードの値を固定・ランダム・加算・減算の中から選択します。
- steps:サンプリングステップの回数を設定します。
- cfg:プロンプトにどれだけ忠実に画像を生成するかを設定します。
- sampler_name:サンプラーの種類を選択します。
- scheduler:ノイズスケジュールの種類を選択します。
- denoise:0に近いほど元画像に近い画像になります。しかし今回の様に元画像がない場合は1で使用します。
サンプリングなどに関して詳しく説明しているので参考にしてください。
VAE Decode
ピクセル空間イメージを潜在空間イメージに入力されたVAEを使ってデコードします。チェックポイントモデルにVAEが内臓されている場合は今回の構成で問題ありませんが、内蔵されていない場合は「Load VAE」ノードを使いVAEを読み込む必要があります。
また、VAEについて詳しく知りたい方はコチラの記事を参考にしてください。
Save Image
入力されたピクセル空間イメージを保存します。filename_prefixがファイル名の先頭につきます。今回の例だとComfyUI_00001_.png
と言うファイルが生成されます。
生成された画像はComfyUI\output
フォルダーに書き出されています。
また、PNGのメタデータにプロンプトとワークフローが保存されます。
ComfyUI特有のプロンプトの書き方
ConfyUIのプロンプトの書き方はA1111 SD WebUIとほとんど変わりませんがいくつか相違点があります。
ウェイトについて
ウェイトはA1111 SD WebUIと同様の記述方法で使えますが数値の効き具合が違います。同じ設定でも生成画像が変わるので注意が必要です。また、ComfyUIのカスタムノード「🔗Advanced CLIP Text Encodeや🔗smZNodes」を導入すれば近い画像の生成は可能になります。
ウエイトの記述方法は(prompt:waight)
となり、たとえばa girl standing with red dress
の様なプロンプトで赤いドレスの「赤い」を強調したい場合はa girl standing with (red:1.2) dress
と記述します。
ネガティブエンベディングについて
ネガティブエンベディングの記述方法はembedding:name
となりnameにはエンベディングスのファイル名が入ります。たとえば「EasyNegative.safetensors」を使用したい場合はembedding:EasyNegative
と記述します。ウェイトで調節する場合は(embedding:EasyNegative:1.2)
の様に記述する。
ランダムチョイスについて
ランダムチョイスとはA1111 SD WebUIのエクステンション「Dynamic Prompts」のように複数のプロンプトから1つをランダムに選択できます。たとえば{smile|angry|cry}, 1girl
とプロンプトに入力すると3つの中からランダムに1つを使ってくれ、笑顔・怒り・悲しみの表情の女の子がランダムで生成されます。
デフォルトワークフローを改良してみる
ここまでくればプロンプトやStep等を触って色々生成できるようになったと思います。しかし、このデフォルトワークフローの品質はそれ程良いものではありません。そこで、ComfyUIに慣れるためにもワークフローをを改良して品質を上げてみましょう。
Clip skipを適応させる
デフォルトワークフローではClipSkipの設定ノードは適応されていません。ComfyUIでClipSkipを使うには「Clip Set Last Layer」ノードを使います。AIイラストを生成している方はclip skipはよく使うので適応させましょう。
- Add Nodeよりconditioning > CLIP Set Last Layerを作成します。
- Load CheckpointのCLIPアウトプットをCLIP Set Last Layerのインプットへ繋ぎます。
- アウトプットをポジティブ・ネガティブプロンプトをれぞれに繋ぎましょう。
- A1111WebUIでClip skip2の設定と同じにしたい場合は「stop_at_clip_layer」の値を
-2
にしましょう。
LoRAを適応させる
ComfyUIでLoRAを適応させるには「Load LoRA」ノードを使います。今回はディテールを追加してくれる「add_detail」を適応させます。モデルはComfyUI\models\lora
に置きましょう。LoRAモデルについては下記の記事を参考にしてください。
- Add Nodeよりloaders > Load LoRAを作成します。
- Load CheckpointのMODELアウトプットをLoad LoRAのmodelインプットへ繋ぎます。
- CLIP Set Last LayerのCLIPアウトプットをLoad LoRAのclipインプットへ繋ぎしょう。
- MODELアウトプットをKSamplerのmodelに繋ぎます。
- CLIPアウトプットをポジティブ・ネガティブプロンプトをれぞれに繋ぎましょう。
- lora_nameに使用したいモデルを選択します。
- strangth_modelはモデルへの影響力でA1111と同じLoRAのウェイト値になります。
- strangth_modelはクリップ(プロンプト)への影響力になります。基本出来には1で使用します。
また、複数のLoRAを適応させたい場合は、Load LoRAを数珠つなぎにすれば複数のLoRAを適応できます。カスタムノードを使うなら「rgthree’s ComfyUI Nodes」のLora Loader Stack等を使えば1つのノードで複数のLoRAを適応させることができます。カスタムノードの使い方は下記のリンクを参考にしてください。
Hires. Fix(簡易版)を適応させる
Hires. Fixといっても簡易版でアップスケールモデルは使っていませんが、アップスケールしたLatentを元にディテールを追加していく処理を導入します。
- Add Nodeよりlatent > Upscale Latent Byを作成します。
- KSamplerのアウトを先ほど作成したUpscale Latent Byのインプットに繋ぎます。
- Upscale Latent Byのupscale_methodをnearest-exactに、scale_byを2.00に設定します。
- KSamplerをクローン、またはAdd Node > sampling > KSamperより作成してmodel/positive/negativeをそれぞれ繋いでいきます。(最初のKSamplerと同じ)
- Upscale Latent Byのアウトを先ほど作成したKSamplerのlatent_imageに繋ぎます。
-
KSampler(2回目)のパラメーターを下記の様に設定します。
steps: 35 cfg: 10.0 sampler_name: euler_ancestral scheduler: karras denoise: 0.55
- Add Nodeより_for_testing > VAE Decode (Tiled)を作成し、tile_sizeを512にします。
- VAE Decode (Tiled)のアウトを元からあったSave Imageにつなぎます。
- 1回目のKSamplerの後のVAE Decodeのアウトから右クリックでキャンバスにドラッグします。ドラッグを離すと適応できるノードの候補が出てくるのでPreviewImageを選択します。
KSamplerのSeedを共通させる(オプション)
この工程は後ほどseedを使って同じイラストを生成したい時などに便利な機能なので必要ない方は組み込まなくでも問題ありません。
- KSampler(1回目)を右クリックしてノードメニューを出します。
- ノードメニューよりConvert Widget to Input > Convert seed to inputを選択しseedを外部ノードが繋がるようにします。
- Add Nodeよりutils > Primitiveを作成しアウトを先ほどのKSamplerのSeedインプットに繋ぐ
- KSampler(2回目)も同様にseedインプットを作り先ほどのPrimitiveのアウトを繋ぎます。
これで各KSamplerのseed値をPrimitiveノードで管理できるようになります。
以上でデフォルトワークフローの改良の完成です。DCAIのPatrionにワークフローを置いておきますので上手くいかなかった人は参考にしてみてください。
まとめ
今回はデフォルトワークフローを通じてComfyUIの基礎を解説しました。A1111 SD WebUIと比べると複雑に感じるかもしれませんが、引き続きComfyUIに関する記事をお楽しみにしてください。
【Amazon.co.jp 限定】アイ・オー・データ IODATA モニター 23.8インチ ブラック ADSパネル 非光沢 省電力 (HDMI/アナログRGB/スピーカー付/VESA対応/土日サポート/日本メーカー/無輝点保証) EX-A241DB
¥12,580
値引き¥2,220 (15%)
ASIN:B0CPXQQLL2
【Amazon.co.jp限定】アイリスオーヤマ モニター 24インチ スピーカー内蔵 VAパネル HDMI VGA 角度調整可能 FHD 1920x1080 100Hz 14ms ブルーライト軽減 フレームレス VESA対応 DT-GF233R-B
¥11,700
値引き¥2,100 (15%)
ASIN:B0CYPWXXWM
【Amazon.co.jp限定】ASUS フレームレス モニター VZ249HR 23.8インチ/フルHD/IPS/薄さ7mm/ブルーライト軽減/フリッカーフリー/HDMI,D-sub/スピーカー/3年保証
¥13,980
ASIN:B07LH1ZDSL
PHILIPS 液晶ディスプレイ PCモニター 272E2FE/11 (27インチ/5年保証/FHD/IPS/D-Sub 15,HDMI,Display Port/昇降・高さ調節/チルト/4面フレームレス/FreeSync(HDMI,DP)ちらつき防止/ブルーライト軽減)
¥18,800
ASIN:B08PTSY9PL
【Amazon.co.jp限定】MSI モニター PRO MP2412 23.8インチ/フルHD/VAパネル/100Hz/1ms/ブルーライトカット/アンチフリッカー/HDMI/DP/VESA対応/メーカー3年保証
¥9,980
値引き¥4,820 (33%)
ASIN:B0CDBS93QZ
PHILIPS モニターディスプレイ 271E1D/11 (27インチ/IPS Technology/FHD/5年保証/HDMI/D-Sub/DVI-D/フレームレス)
¥17,800
ASIN:B07V5BHZLW
【Amazon.co.jp限定】Dell ハイスペック 23.8インチ ホワイトモニター(5年保証/FHD/IPS,非光沢/縦横回転,高さ調整/5Wx2スピーカー/HDMIx2) S2425HS-A
¥15,600
値引き¥5,200 (25%)
ASIN:B0CXXC87JK
Dell SE2222H 21.45インチ モニター ディスプレイ (3年間交換保証/FHD/VA 非光沢/HDMI D-Sub15ピン/傾き調整)
¥14,600
ASIN:B095749V5V
日本エイサー 【Amazon.co.jp限定】Acer モニター 23.8インチ フルHD VA 非光沢 100Hz 1ms HDMI ミニD-Sub15 VESAマウント対応 スピーカー内蔵 AMD FreeSync KA242YHbmix
¥11,800
値引き¥2,180 (16%)
ASIN:B0BW3PJ2TL
HP モニター V27ie G5 27インチ フルHD 75Hz 5ms IPSパネル 非光沢 HDMI DisplayPort VGA AMD FreeSync 角度調整ブルーライトカット 薄型ベゼル(型番:6D8H3AA-AAAB)
¥15,150
値引き¥851 (5%)
ASIN:B0CFXKRGN8