ComfyUI チートシート:よく使うノード 50 個の役割と接続例早見表
ComfyUI でワークフローを組む際、どのノードをどう繋げばいいのか迷ったことはありませんか?本記事では、ComfyUI で頻繁に使用される 50 個のノードをカテゴリ別に整理し、それぞれの役割と接続例を一覧にまとめました。初心者の方でもすぐに参照できる早見表形式でご紹介します。
ノード早見表
以下の表は、ComfyUI でよく使用される 50 個のノードを機能別に分類したものです。各ノードの基本的な役割と主な接続先を確認できます。
基本入力ノード
| # | ノード名 | 役割 | 主な出力 | 主な接続先 |
|---|---|---|---|---|
| 1 | Load Checkpoint | モデルファイルを読み込む | MODEL, CLIP, VAE | KSampler, CLIP Text Encode |
| 2 | CLIP Text Encode (Prompt) | プロンプトをエンコード | CONDITIONING | KSampler(positive) |
| 3 | CLIP Text Encode (Negative) | ネガティブプロンプトをエンコード | CONDITIONING | KSampler(negative) |
| 4 | Empty Latent Image | 空の潜在空間画像を生成 | LATENT | KSampler |
| 5 | Load Image | 画像ファイルを読み込む | IMAGE, MASK | VAE Encode, Image Scale |
サンプリング・生成ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 6 | KSampler | 画像生成のメイン処理 | MODEL, CONDITIONING, LATENT | LATENT |
| 7 | KSampler Advanced | 詳細設定が可能なサンプラー | MODEL, CONDITIONING, LATENT | LATENT |
| 8 | KSampler (Efficient) | 効率化されたサンプラー | MODEL, CONDITIONING, LATENT | LATENT |
| 9 | SamplerCustom | カスタムサンプリング設定 | MODEL, NOISE, SIGMAS | LATENT |
| 10 | VAE Decode | 潜在空間から画像へデコード | LATENT, VAE | IMAGE |
VAE 関連ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 11 | VAE Encode | 画像を潜在空間へエンコード | IMAGE, VAE | LATENT |
| 12 | VAE Encode (for Inpainting) | インペイント用エンコード | IMAGE, VAE, MASK | LATENT |
| 13 | VAE Loader | VAE ファイルを個別に読み込む | - | VAE |
| 14 | VAE Decode (Tiled) | タイル分割でデコード | LATENT, VAE | IMAGE |
LoRA・モデル拡張ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 15 | Load LoRA | LoRA モデルを読み込む | MODEL, CLIP | MODEL, CLIP |
| 16 | LoRA Stacker | 複数の LoRA を積み重ねる | MODEL, CLIP | MODEL, CLIP |
| 17 | Apply ControlNet | ControlNet を適用 | CONDITIONING, CONTROL_NET, IMAGE | CONDITIONING |
| 18 | Load ControlNet Model | ControlNet モデルを読み込む | - | CONTROL_NET |
| 19 | Apply IPAdapter | IPAdapter を適用 | MODEL, IPADAPTER, IMAGE | MODEL |
| 20 | Load IPAdapter Model | IPAdapter モデルを読み込む | - | IPADAPTER |
画像処理・変換ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 21 | Image Scale | 画像のサイズを変更 | IMAGE | IMAGE |
| 22 | Image Resize | 指定サイズにリサイズ | IMAGE | IMAGE |
| 23 | Image Crop | 画像を切り抜く | IMAGE | IMAGE |
| 24 | Image Pad | 画像に余白を追加 | IMAGE | IMAGE |
| 25 | Image Flip | 画像を反転 | IMAGE | IMAGE |
| 26 | Image Rotate | 画像を回転 | IMAGE | IMAGE |
| 27 | Image Blur | 画像をぼかす | IMAGE | IMAGE |
| 28 | Image Sharpen | 画像をシャープにする | IMAGE | IMAGE |
マスク・領域処理ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 29 | Mask Editor | マスクを手動で編集 | IMAGE | MASK |
| 30 | Grow Mask | マスク領域を拡大 | MASK | MASK |
| 31 | Invert Mask | マスクを反転 | MASK | MASK |
| 32 | Mask to Image | マスクを画像に変換 | MASK | IMAGE |
| 33 | Image to Mask | 画像をマスクに変換 | IMAGE | MASK |
| 34 | Mask Composite | 複数マスクを合成 | MASK, MASK | MASK |
条件付け・コントロールノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 35 | Conditioning Combine | 複数の条件を結合 | CONDITIONING, CONDITIONING | CONDITIONING |
| 36 | Conditioning Average | 条件を平均化 | CONDITIONING, CONDITIONING | CONDITIONING |
| 37 | Conditioning Set Area | 条件の適用範囲を設定 | CONDITIONING | CONDITIONING |
| 38 | Conditioning Set Mask | マスクで条件を制限 | CONDITIONING, MASK | CONDITIONING |
| 39 | GLIGEN Loader | GLIGEN モデルを読み込む | - | GLIGEN |
| 40 | GLIGEN Text Box Apply | テキストボックスを適用 | CONDITIONING, GLIGEN | CONDITIONING |
バッチ・複数画像処理ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 41 | Batch Images | 複数画像をバッチ化 | IMAGE, IMAGE | IMAGE |
| 42 | Image Batch | 画像をバッチにまとめる | IMAGE | IMAGE |
| 43 | Repeat Latent Batch | 潜在空間をバッチ複製 | LATENT | LATENT |
| 44 | Latent From Batch | バッチから潜在空間を抽出 | LATENT | LATENT |
出力・保存ノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 45 | Save Image | 画像を保存 | IMAGE | - |
| 46 | Preview Image | 画像をプレビュー表示 | IMAGE | - |
| 47 | Save Latent | 潜在空間を保存 | LATENT | - |
| 48 | Load Latent | 保存した潜在空間を読み込む | - | LATENT |
ユーティリティノード
| # | ノード名 | 役割 | 主な入力 | 主な出力 |
|---|---|---|---|---|
| 49 | Reroute | 配線を整理するための中継点 | 任意 | 任意 |
| 50 | Note | ワークフローにメモを追加 | - | - |
背景
ComfyUI は、Stable Diffusion などの画像生成 AI をノードベースで操作できる強力なツールです。GUI でドラッグ&ドロップしながらワークフローを構築できるため、柔軟性が高く、複雑な画像生成プロセスも視覚的に理解できます。
しかし、その柔軟性の高さゆえに、初心者の方にとっては「どのノードを使えばいいのか」「どう繋げばいいのか」が分かりにくいという課題があります。
以下の図は、ComfyUI の基本的なワークフロー構造を示しています。
mermaidflowchart TB
input["入力ノード<br/>(モデル・プロンプト)"] --> process["処理ノード<br/>(サンプリング・変換)"]
process --> output["出力ノード<br/>(保存・プレビュー)"]
subgraph enhancement["拡張機能"]
lora["LoRA"]
controlnet["ControlNet"]
ipadapter["IPAdapter"]
end
enhancement -.->|強化| process
図で理解できる要点:
- 基本的なワークフローは「入力 → 処理 → 出力」の 3 段階
- 拡張機能(LoRA、ControlNet など)は処理を強化する役割
- ノードを組み合わせることで複雑な処理も実現可能
課題
ComfyUI を使い始めた方が直面する主な課題は以下の通りです。
課題 1:ノードの種類が多すぎる
ComfyUI には標準で数十種類のノードがあり、カスタムノードを含めると数百種類に及びます。どのノードが何をするのか、一つ一つ調べるのは時間がかかります。
課題 2:接続方法が分からない
ノードの入出力端子には型があり、互換性のない接続はできません。しかし、どの端子とどの端子を繋げばいいのか、初見では判断が難しいでしょう。
課題 3:エラーメッセージが技術的
接続ミスや設定ミスをすると、技術的なエラーメッセージが表示されます。例えば以下のようなエラーです。
textError: TypeError: 'NoneType' object is not subscriptable
このようなエラーは、プログラミング経験がないと理解しにくく、どこを修正すればいいのか分かりません。
課題 4:参考情報が散在している
公式ドキュメントやコミュニティの情報は英語が中心で、日本語の情報は断片的です。必要な情報を探すのに時間がかかります。
以下の図は、初心者が遭遇する典型的な課題を示しています。
mermaidflowchart LR
user["初心者ユーザー"] -->|直面| prob1["ノードが<br/>多すぎる"]
user -->|直面| prob2["接続方法が<br/>不明"]
user -->|直面| prob3["エラーが<br/>難解"]
prob1 --> result["作業効率<br/>低下"]
prob2 --> result
prob3 --> result
解決策
これらの課題を解決するため、本記事では以下のアプローチを採用しました。
解決策 1:カテゴリ別分類
50 個のノードを機能別に分類することで、目的に応じて必要なノードをすぐに見つけられるようにしました。
カテゴリ一覧:
- 基本入力ノード(モデル読み込み、プロンプト入力など)
- サンプリング・生成ノード(画像生成の中核)
- VAE 関連ノード(エンコード・デコード処理)
- LoRA・モデル拡張ノード(モデルの機能拡張)
- 画像処理・変換ノード(リサイズ、回転など)
- マスク・領域処理ノード(部分的な編集)
- 条件付け・コントロールノード(生成条件の制御)
- バッチ・複数画像処理ノード(一括処理)
- 出力・保存ノード(結果の保存)
- ユーティリティノード(補助機能)
解決策 2:早見表形式
表形式で「ノード名」「役割」「主な入出力」「接続先」を一目で確認できるようにしました。作業中にすぐ参照できるチートシートとして活用いただけます。
解決策 3:接続例の明示
各ノードの主な接続先を記載することで、どのノードと組み合わせるべきかが分かるようにしました。
解決策 4:日本語による丁寧な説明
すべての情報を日本語で、初心者にも分かりやすい表現で記載しました。技術用語には簡潔な説明を添えています。
以下の図は、本記事が提供する解決策の全体像を示しています。
mermaidflowchart TB
solution1["カテゴリ別<br/>分類"] --> benefit["素早い<br/>参照"]
solution2["早見表<br/>形式"] --> benefit
solution3["接続例<br/>明示"] --> benefit
solution4["日本語<br/>説明"] --> benefit
benefit --> goal["効率的な<br/>ワークフロー<br/>構築"]
図で理解できる要点:
- 4 つの解決策が相互補完的に機能
- すべての解決策が「素早い参照」に貢献
- 最終的に効率的なワークフロー構築を実現
具体例
実際のワークフローで、どのノードをどう組み合わせるのか、具体例を見ていきましょう。
例 1:基本的な Text-to-Image 生成
最もシンプルな画像生成ワークフローです。テキストから画像を生成します。
使用するノード:
- Load Checkpoint(#1)
- CLIP Text Encode - Positive(#2)
- CLIP Text Encode - Negative(#3)
- Empty Latent Image(#4)
- KSampler(#6)
- VAE Decode(#10)
- Save Image(#45)
接続の流れ:
textLoad Checkpoint
├─ MODEL → KSampler
├─ CLIP → CLIP Text Encode (Positive)
├─ CLIP → CLIP Text Encode (Negative)
└─ VAE → VAE Decode
CLIP Text Encode (Positive)
└─ CONDITIONING → KSampler (positive)
CLIP Text Encode (Negative)
└─ CONDITIONING → KSampler (negative)
Empty Latent Image
└─ LATENT → KSampler (latent_image)
KSampler
└─ LATENT → VAE Decode
VAE Decode
└─ IMAGE → Save Image
この接続により、プロンプトに基づいた画像が生成され、保存されます。
以下の図は、基本的な Text-to-Image 生成の処理フローを示しています。
mermaidflowchart LR
model["Load<br/>Checkpoint"] -->|MODEL| sampler["KSampler"]
model -->|CLIP| pos["Positive<br/>Prompt"]
model -->|CLIP| neg["Negative<br/>Prompt"]
model -->|VAE| decode["VAE<br/>Decode"]
pos -->|CONDITIONING| sampler
neg -->|CONDITIONING| sampler
empty["Empty<br/>Latent"] -->|LATENT| sampler
sampler -->|LATENT| decode
decode -->|IMAGE| save["Save<br/>Image"]
例 2:LoRA を使用した画像生成
LoRA モデルを追加して、特定のスタイルやキャラクターを生成します。
追加するノード:
- Load LoRA(#15)
接続の変更:
textLoad Checkpoint
├─ MODEL → Load LoRA
└─ CLIP → Load LoRA
Load LoRA
├─ MODEL → KSampler
└─ CLIP → CLIP Text Encode (Positive/Negative)
Load Checkpoint と KSampler の間に Load LoRA を挟むことで、モデルに LoRA の特徴が追加されます。
例 3:ControlNet を使用した構図制御
ControlNet を使って、参照画像の構図やポーズを再現します。
追加するノード:
- Load Image(#5)
- Apply ControlNet(#17)
- Load ControlNet Model(#18)
接続の流れ:
textLoad ControlNet Model
└─ CONTROL_NET → Apply ControlNet
Load Image
└─ IMAGE → Apply ControlNet
CLIP Text Encode (Positive)
└─ CONDITIONING → Apply ControlNet
Apply ControlNet
└─ CONDITIONING → KSampler (positive)
ControlNet を適用することで、参照画像の構造情報が条件として追加されます。
以下の図は、ControlNet を使用した高度なワークフローを示しています。
mermaidflowchart TB
ref["Load Image<br/>(参照画像)"] -->|IMAGE| apply["Apply<br/>ControlNet"]
cn_model["Load ControlNet<br/>Model"] -->|CONTROL_NET| apply
prompt["Positive<br/>Prompt"] -->|CONDITIONING| apply
apply -->|CONDITIONING| sampler["KSampler"]
model["Load<br/>Checkpoint"] -->|MODEL| sampler
latent["Empty<br/>Latent"] -->|LATENT| sampler
sampler -->|LATENT| decode["VAE<br/>Decode"]
decode -->|IMAGE| save["Save<br/>Image"]
図で理解できる要点:
- ControlNet は条件付けの段階で適用
- 参照画像の構造情報が生成プロセスに反映
- 基本ワークフローに追加する形で実装可能
例 4:Inpainting による部分修正
画像の一部分だけを修正するインペイント処理です。
使用するノード:
- Load Image(#5)
- VAE Encode(#11)または VAE Encode for Inpainting(#12)
- Mask Editor(#29)
- KSampler(#6)
- VAE Decode(#10)
接続の流れ:
textLoad Image
├─ IMAGE → VAE Encode (for Inpainting)
└─ MASK → Mask Editor
Mask Editor
└─ MASK → VAE Encode (for Inpainting)
VAE Encode (for Inpainting)
└─ LATENT → KSampler (latent_image)
マスクで指定した領域のみが再生成されます。
例 5:バッチ処理で複数画像を一度に生成
同じ設定で複数枚の画像を生成します。
使用するノード:
- Empty Latent Image(#4)
- Repeat Latent Batch(#43)
設定変更:
textEmpty Latent Image
└─ batch_size: 4 に設定
または
Empty Latent Image
└─ LATENT → Repeat Latent Batch (amount: 4)
└─ LATENT → KSampler
batch_size を増やすか、Repeat Latent Batch を使うことで、一度の実行で複数画像を生成できます。
よく使うノード詳細解説
各カテゴリの代表的なノードについて、より詳しく解説します。
基本入力ノード
#1 Load Checkpoint
役割: Stable Diffusion のモデルファイル(.safetensors、.ckpt など)を読み込みます。
出力:
- MODEL:画像生成の核となるモデル
- CLIP:テキストをエンコードするモデル
- VAE:潜在空間と画像を変換するモデル
使用時の注意:
- モデルファイルは
ComfyUI/models/checkpoints/フォルダに配置 - 大きなモデルは読み込みに時間がかかる場合があります
#2, #3 CLIP Text Encode
役割: テキストプロンプトをモデルが理解できる形式(CONDITIONING)に変換します。
入力:
- CLIP:Load Checkpoint から取得
- text:プロンプト文字列
出力:
- CONDITIONING:KSampler で使用される条件情報
使用時のヒント:
- Positive には生成したい内容を記述
- Negative には避けたい要素を記述(例:low quality, blurry)
#4 Empty Latent Image
役割: 空の潜在空間画像を生成します。これが画像生成の「キャンバス」になります。
設定項目:
- width:画像の幅(ピクセル)
- height:画像の高さ(ピクセル)
- batch_size:一度に生成する枚数
推奨サイズ:
- SD 1.5 系:512×512、512×768、768×512
- SDXL 系:1024×1024、1024×1536 など
サンプリング・生成ノード
#6 KSampler
役割: 画像生成のメイン処理を行います。ノイズから徐々に画像を形成していきます。
主な設定項目:
- seed:乱数シード(同じ値で同じ画像を再現可能)
- steps:サンプリングステップ数(20-30 が一般的)
- cfg:プロンプトへの忠実度(7.0 前後が標準)
- sampler_name:サンプリングアルゴリズム(euler、dpmpp_2m など)
- scheduler:スケジューラー(normal、karras など)
入力:
- MODEL:生成に使用するモデル
- positive:ポジティブ条件
- negative:ネガティブ条件
- latent_image:Empty Latent Image など
出力:
- LATENT:生成された潜在空間画像
よくあるエラーと解決方法:
エラーコード: RuntimeError: CUDA out of memory
エラーメッセージ:
textRuntimeError: CUDA out of memory. Tried to allocate 2.00 GiB
発生条件: 画像サイズが大きすぎる、または VRAM が不足している
解決方法:
- 画像サイズを小さくする(1024×1024 → 512×512)
- batch_size を減らす
- モデルを軽量なものに変更
--lowvramまたは--medvramオプションで ComfyUI を起動
#10 VAE Decode
役割: 潜在空間(LATENT)から実際の画像(IMAGE)に変換します。
入力:
- samples:KSampler からの LATENT
- vae:Load Checkpoint または VAE Loader からの VAE
出力:
- IMAGE:表示・保存可能な画像データ
VAE 関連ノード
#11 VAE Encode
役割: 実際の画像を潜在空間に変換します。img2img や Inpainting で使用します。
入力:
- pixels:Load Image からの画像
- vae:VAE モデル
出力:
- LATENT:潜在空間表現
使用例: 既存の画像を読み込んで、それをベースに新しい画像を生成する
#13 VAE Loader
役割: VAE モデルを個別に読み込みます。Checkpoint に含まれる VAE とは別の VAE を使いたい場合に使用します。
使用理由:
- より高品質な VAE(例:vae-ft-mse-840000)を使用
- 特定のモデルに最適化された VAE を使用
配置場所: ComfyUI/models/vae/
LoRA・モデル拡張ノード
#15 Load LoRA
役割: LoRA(Low-Rank Adaptation)モデルを読み込み、ベースモデルに追加の特徴を与えます。
入力:
- model:ベースモデル
- clip:CLIP モデル
設定:
- lora_name:使用する LoRA ファイル
- strength_model:モデルへの影響度(0.0-1.0、標準は 0.8-1.0)
- strength_clip:CLIP への影響度(0.0-1.0)
出力:
- MODEL:LoRA が適用されたモデル
- CLIP:LoRA が適用された CLIP
使用例:
- キャラクター LoRA:特定のキャラクターを生成
- スタイル LoRA:特定の画風を適用
- コンセプト LoRA:特定の概念や表現を追加
#17, #18 ControlNet 関連
役割: 参照画像の構造情報(エッジ、深度、ポーズなど)を生成条件として使用します。
ControlNet の種類:
- Canny:エッジ検出
- Depth:深度情報
- OpenPose:人物のポーズ
- Lineart:線画
- Scribble:ラフスケッチ
使用の流れ:
- Load ControlNet Model でモデルを読み込む
- Load Image で参照画像を読み込む
- Apply ControlNet で条件に適用
- KSampler で生成
#19, #20 IPAdapter 関連
役割: 参照画像のスタイルや雰囲気を生成画像に反映させます。
ControlNet との違い:
- ControlNet:構造・形状を再現
- IPAdapter:スタイル・雰囲気を再現
使用例:
- 特定のイラストのタッチを再現
- 写真の色調や雰囲気を適用
画像処理・変換ノード
#21 Image Scale
役割: 画像のサイズを変更します。
設定:
- upscale_method:拡大方法(nearest-exact、bilinear、area、bicubic など)
- scale_by:倍率指定
使用例:
- 生成画像をアップスケール
- ControlNet 用の参照画像をリサイズ
#27 Image Blur
役割: 画像にぼかし効果を適用します。
使用例:
- 背景をぼかして被写界深度を表現
- ノイズ軽減
#28 Image Sharpen
役割: 画像をシャープにします。
使用例:
- 生成画像のディテールを強調
- ぼやけた画像を修正
マスク・領域処理ノード
#29 Mask Editor
役割: マスクを手動で作成・編集します。
使用方法:
- Load Image で元画像を読み込む
- Mask Editor に接続
- ブラシで編集したい領域を塗る
- マスクを VAE Encode (for Inpainting)に接続
#30 Grow Mask
役割: マスク領域を拡大します。
設定:
- expand:拡大ピクセル数
使用例:
- Inpainting 時に境界を滑らかにする
- マスク領域を微調整
#31 Invert Mask
役割: マスクを反転します(白黒を入れ替え)。
使用例:
- マスクの対象領域を逆にする
条件付け・コントロールノード
#35 Conditioning Combine
役割: 複数の条件を結合します。
使用例:
- ControlNet と IPAdapter を同時に使用
- 複数のプロンプトを組み合わせ
#37 Conditioning Set Area
役割: 条件の適用範囲を画像の特定領域に限定します。
設定:
- x, y:領域の開始位置
- width, height:領域のサイズ
- strength:強度
使用例:
- 画像の左半分と右半分で異なるプロンプトを適用
- 領域ごとに異なるスタイルを適用
#38 Conditioning Set Mask
役割: マスクで条件の適用領域を制限します。
使用例:
- マスクした部分にのみ特定のプロンプトを適用
バッチ・複数画像処理ノード
#41 Batch Images
役割: 複数の個別画像を 1 つのバッチにまとめます。
使用例:
- 複数の画像を同時に処理
- 画像比較のためのグリッド作成
#43 Repeat Latent Batch
役割: 同じ潜在空間を複数回複製します。
設定:
- amount:複製回数
使用例:
- 同じ設定で複数のバリエーションを生成
- seed を変えて複数パターンを試す
出力・保存ノード
#45 Save Image
役割: 生成した画像をファイルとして保存します。
設定:
- filename_prefix:ファイル名の接頭辞
保存場所: ComfyUI/output/
ファイル形式: PNG(メタデータ含む)
#46 Preview Image
役割: 画像をプレビュー表示します(保存はしない)。
使用例:
- 中間結果の確認
- テスト時の一時的な表示
ユーティリティノード
#49 Reroute
役割: 配線を整理するための中継点です。機能的な処理はしません。
使用例:
- 長い配線を見やすく整理
- 複数のノードに同じ出力を分配
使用方法:
- Reroute ノードを配置
- 入力を接続
- Reroute の出力を複数のノードに接続
#50 Note
役割: ワークフローにメモを追加します。
使用例:
- ワークフローの説明を記載
- 設定値のメモ
- TODO リスト
接続時のよくあるエラーと対処法
ComfyUI でワークフローを構築する際によく遭遇するエラーとその解決方法をまとめました。
エラー 1:型の不一致
エラーコード: TypeError: Cannot connect LATENT to IMAGE
エラーメッセージ:
textTypeError: Cannot connect output of type 'LATENT' to input of type 'IMAGE'
発生条件: 互換性のない型同士を接続しようとした
解決方法:
- LATENT と IMAGE 間には VAE Decode を挿入
- IMAGE と LATENT 間には VAE Encode を挿入
- 接続元と接続先の型を確認
エラー 2:必須入力が未接続
エラーコード: ValueError: Required input 'model' is not connected
エラーメッセージ:
textValueError: Node 'KSampler' - Required input 'model' is not connected
発生条件: 必須の入力端子が接続されていない
解決方法:
- エラーメッセージで指定されたノードを確認
- 必須入力(通常は太字または*マーク)をすべて接続
- KSampler の場合:MODEL, positive, negative, latent_image が必須
エラー 3:モデルファイルが見つからない
エラーコード: FileNotFoundError: Model file not found
エラーメッセージ:
textFileNotFoundError: [Errno 2] No such file or directory: 'models/checkpoints/model.safetensors'
発生条件: 指定したモデルファイルが存在しない
解決方法:
- ファイルが正しいフォルダに配置されているか確認
- Checkpoint →
ComfyUI/models/checkpoints/ - LoRA →
ComfyUI/models/loras/ - ControlNet →
ComfyUI/models/controlnet/ - VAE →
ComfyUI/models/vae/
- Checkpoint →
- ファイル名のスペルを確認
- ComfyUI を再起動してモデルリストを更新
エラー 4:画像サイズの問題
エラーコード: RuntimeError: Size mismatch
エラーメッセージ:
textRuntimeError: The size of tensor a (64) must match the size of tensor b (128) at non-singleton dimension 3
発生条件: 画像サイズが 8 の倍数でない、またはモデルと不一致
解決方法:
- Empty Latent Image の width/height を 8 の倍数にする
- Load Image の画像を Image Resize で調整
- SD 1.5 は 512 基準、SDXL は 1024 基準を推奨
エラー 5:メモリ不足
エラーコード: RuntimeError: CUDA out of memory
エラーメッセージ:
textRuntimeError: CUDA out of memory. Tried to allocate 2.00 GiB (GPU 0; 8.00 GiB total capacity)
発生条件: VRAM(GPU メモリ)が不足している
解決方法:
- 画像サイズを小さくする
- batch_size を 1 に減らす
- ComfyUI を
--lowvramオプションで起動bash
python main.py --lowvram - ブラウザのタブを閉じて他の VRAM 使用を減らす
- より軽量なモデルを使用
ワークフロー設計のベストプラクティス
効率的で保守しやすいワークフローを構築するためのヒントをご紹介します。
ヒント 1:Reroute で配線を整理
複雑なワークフローでは、配線が交差して見づらくなります。Reroute ノードを使って整理しましょう。
整理前:
- 配線が交差して接続関係が分かりにくい
- どのノードがどこに繋がっているか追いにくい
整理後:
- Reroute で中継することで配線がスッキリ
- 視覚的に追いやすい
ヒント 2:Note で説明を追加
ワークフローが複雑になったら、Note ノードで説明を追加しましょう。
記載する内容:
- このワークフローの目的
- 重要な設定値とその理由
- カスタマイズポイント
- 作成日や作成者
ヒント 3:グループ化で整理
関連するノードをまとめて配置し、機能ごとにグループ化します。
推奨グループ:
- モデル読み込みグループ(Checkpoint, LoRA, ControlNet など)
- プロンプトグループ(CLIP Text Encode など)
- 生成グループ(KSampler, VAE Decode など)
- 後処理グループ(Image Scale, Sharpen など)
- 保存グループ(Save Image など)
ヒント 4:よく使う組み合わせをテンプレート化
頻繁に使うノードの組み合わせは、テンプレートとして保存しましょう。
テンプレート例:
- 基本的な Text-to-Image
- LoRA 使用版
- ControlNet 使用版
- Inpainting 用
- アップスケール用
ヒント 5:パラメータを段階的に調整
一度に多くのパラメータを変更せず、1 つずつ変更して効果を確認しましょう。
調整順序の例:
- まず basic 設定で動作確認(steps: 20, cfg: 7)
- seed を固定して他のパラメータを調整
- sampler_name を変更して比較
- steps を増やして品質向上を試す
- cfg を調整してプロンプトへの忠実度を調整
応用テクニック
基本的なワークフローをマスターしたら、以下の応用テクニックに挑戦してみましょう。
テクニック 1:複数 LoRA の組み合わせ
Load LoRA ノードを複数連結することで、複数の LoRA を同時に適用できます。
textLoad Checkpoint
└─ Load LoRA (Character)
└─ Load LoRA (Style)
└─ Load LoRA (Detail Enhancer)
└─ KSampler
注意点:
- LoRA が多すぎると互いに干渉する可能性があります
- 各 LoRA の strength を調整してバランスを取りましょう
テクニック 2:階層的な Inpainting
複数回の Inpainting 処理を重ねることで、細かい部分を段階的に修正できます。
手順:
- 全体を生成
- 顔部分を Inpaint で修正
- 手部分を Inpaint で修正
- 背景を Inpaint で調整
テクニック 3:ControlNet と IPAdapter の併用
構図とスタイルを両方制御できます。
textApply ControlNet (構図制御)
└─ CONDITIONING → Conditioning Combine
↑
Apply IPAdapter (スタイル制御)
└─ MODEL → KSampler
テクニック 4:領域別プロンプト
Conditioning Set Area を使って、画像の領域ごとに異なるプロンプトを適用できます。
例:
- 左半分:「森の風景」
- 右半分:「都市の風景」
テクニック 5:段階的なアップスケール
大きな画像を生成する際、一度に大きくするのではなく、段階的にアップスケールします。
手順:
- 512×512 で生成
- Image Scale で 1024×1024 に拡大
- VAE Encode で潜在空間に変換
- denoise: 0.3-0.5 で KSampler 実行(軽く再生成)
- VAE Decode で画像化
この方法により、大きなサイズでも破綻しにくい画像が生成できます。
トラブルシューティング集
問題 1:生成画像がぼやける
原因:
- VAE の品質が低い
- サンプリングステップ数が少ない
- CFG 値が低すぎる
解決策:
- 高品質な VAE(vae-ft-mse-840000 など)を使用
- steps を 30-40 に増やす
- cfg を 8-10 に上げる
- Image Sharpen を適用
問題 2:プロンプト通りに生成されない
原因:
- CFG 値が低い
- プロンプトが曖昧
- ネガティブプロンプトが強すぎる
解決策:
- cfg を 10-15 に上げる
- プロンプトをより具体的に記述
- 重要なキーワードを強調(例:(keyword:1.5))
- ネガティブプロンプトの strength を調整
問題 3:画像に artifacts(ノイズ・歪み)が出る
原因:
- サンプラーとの相性
- steps 数が不適切
- 画像サイズが不適切
解決策:
- sampler_name を変更(euler → dpmpp_2m_sde)
- scheduler を karras に変更
- steps を 25-30 に調整
- 画像サイズを 8 の倍数、かつモデル推奨サイズに
問題 4:Inpainting で境界が不自然
原因:
- マスクの境界が急峻
- denoise が強すぎる
解決策:
- Grow Mask で境界を拡大(10-20 ピクセル)
- denoise を 0.4-0.7 に調整
- Image Blur でマスクをぼかす
- feather パラメータを調整(可能な場合)
問題 5:生成が遅い
原因:
- 画像サイズが大きすぎる
- steps 数が多すぎる
- 重いサンプラーを使用
解決策:
- 画像サイズを小さくする
- steps を 20-25 に減らす
- 高速なサンプラーに変更(euler_a, dpm_2 など)
- batch_size を減らす
まとめ
本記事では、ComfyUI でよく使用される 50 個のノードを機能別に分類し、それぞれの役割と接続方法を早見表形式でまとめました。
記事のポイント:
- カテゴリ別分類で目的のノードをすぐに見つけられます
- 表形式で役割・入出力・接続先を一目で確認できます
- 具体例で実際のワークフロー構築方法が分かります
- エラー対処法で問題が発生しても解決できます
- ベストプラクティスで効率的なワークフローを構築できます
ComfyUI は非常に強力なツールですが、その柔軟性ゆえに初心者には難しく感じることもあるでしょう。しかし、基本的なノードの使い方さえマスターすれば、複雑なワークフローも構築できるようになります。
この早見表を手元に置いて、ぜひ様々なワークフローに挑戦してみてください。最初は基本的な Text-to-Image から始めて、徐々に LoRA や ControlNet などの拡張機能を追加していくことをお勧めします。
ノードの組み合わせは無限大です。あなた独自のワークフローを見つけて、理想の画像生成を実現してください。
関連リンク
articleComfyUI チートシート:よく使うノード 50 個の役割と接続例早見表
articleComfyUI のインストール完全ガイド:Windows/Mac/Linux 別・最短手順
articleComfyUI とは?ノードベースで組む最新画像生成ワークフローを完全解説【2025 年版】
articleGit の依存取り込み比較:subtree vs submodule — 運用コストと安全性の実態
articleComfyUI チートシート:よく使うノード 50 個の役割と接続例早見表
articleGemini CLI と OpenAI CLI を横並び比較:フラグ体系・入出力・コストの違い
articleFFmpeg 静的ビルド完全版:x264/x265/aom/opus/fdk-aac 対応のフル装備手順
articleCodex を安全に使うアーキテクチャ設計:境界づけ・サンドボックス・権限分離
articleAstro でレイアウト崩れが起きる原因を特定する手順:スロット/スコープ/スタイル隔離
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来