T-CREATOR

ComfyUI チートシート:よく使うノード 50 個の役割と接続例早見表

ComfyUI チートシート:よく使うノード 50 個の役割と接続例早見表

ComfyUI でワークフローを組む際、どのノードをどう繋げばいいのか迷ったことはありませんか?本記事では、ComfyUI で頻繁に使用される 50 個のノードをカテゴリ別に整理し、それぞれの役割と接続例を一覧にまとめました。初心者の方でもすぐに参照できる早見表形式でご紹介します。

ノード早見表

以下の表は、ComfyUI でよく使用される 50 個のノードを機能別に分類したものです。各ノードの基本的な役割と主な接続先を確認できます。

基本入力ノード

#ノード名役割主な出力主な接続先
1Load Checkpointモデルファイルを読み込むMODEL, CLIP, VAEKSampler, CLIP Text Encode
2CLIP Text Encode (Prompt)プロンプトをエンコードCONDITIONINGKSampler(positive)
3CLIP Text Encode (Negative)ネガティブプロンプトをエンコードCONDITIONINGKSampler(negative)
4Empty Latent Image空の潜在空間画像を生成LATENTKSampler
5Load Image画像ファイルを読み込むIMAGE, MASKVAE Encode, Image Scale

サンプリング・生成ノード

#ノード名役割主な入力主な出力
6KSampler画像生成のメイン処理MODEL, CONDITIONING, LATENTLATENT
7KSampler Advanced詳細設定が可能なサンプラーMODEL, CONDITIONING, LATENTLATENT
8KSampler (Efficient)効率化されたサンプラーMODEL, CONDITIONING, LATENTLATENT
9SamplerCustomカスタムサンプリング設定MODEL, NOISE, SIGMASLATENT
10VAE Decode潜在空間から画像へデコードLATENT, VAEIMAGE

VAE 関連ノード

#ノード名役割主な入力主な出力
11VAE Encode画像を潜在空間へエンコードIMAGE, VAELATENT
12VAE Encode (for Inpainting)インペイント用エンコードIMAGE, VAE, MASKLATENT
13VAE LoaderVAE ファイルを個別に読み込む-VAE
14VAE Decode (Tiled)タイル分割でデコードLATENT, VAEIMAGE

LoRA・モデル拡張ノード

#ノード名役割主な入力主な出力
15Load LoRALoRA モデルを読み込むMODEL, CLIPMODEL, CLIP
16LoRA Stacker複数の LoRA を積み重ねるMODEL, CLIPMODEL, CLIP
17Apply ControlNetControlNet を適用CONDITIONING, CONTROL_NET, IMAGECONDITIONING
18Load ControlNet ModelControlNet モデルを読み込む-CONTROL_NET
19Apply IPAdapterIPAdapter を適用MODEL, IPADAPTER, IMAGEMODEL
20Load IPAdapter ModelIPAdapter モデルを読み込む-IPADAPTER

画像処理・変換ノード

#ノード名役割主な入力主な出力
21Image Scale画像のサイズを変更IMAGEIMAGE
22Image Resize指定サイズにリサイズIMAGEIMAGE
23Image Crop画像を切り抜くIMAGEIMAGE
24Image Pad画像に余白を追加IMAGEIMAGE
25Image Flip画像を反転IMAGEIMAGE
26Image Rotate画像を回転IMAGEIMAGE
27Image Blur画像をぼかすIMAGEIMAGE
28Image Sharpen画像をシャープにするIMAGEIMAGE

マスク・領域処理ノード

#ノード名役割主な入力主な出力
29Mask Editorマスクを手動で編集IMAGEMASK
30Grow Maskマスク領域を拡大MASKMASK
31Invert Maskマスクを反転MASKMASK
32Mask to Imageマスクを画像に変換MASKIMAGE
33Image to Mask画像をマスクに変換IMAGEMASK
34Mask Composite複数マスクを合成MASK, MASKMASK

条件付け・コントロールノード

#ノード名役割主な入力主な出力
35Conditioning Combine複数の条件を結合CONDITIONING, CONDITIONINGCONDITIONING
36Conditioning Average条件を平均化CONDITIONING, CONDITIONINGCONDITIONING
37Conditioning Set Area条件の適用範囲を設定CONDITIONINGCONDITIONING
38Conditioning Set Maskマスクで条件を制限CONDITIONING, MASKCONDITIONING
39GLIGEN LoaderGLIGEN モデルを読み込む-GLIGEN
40GLIGEN Text Box Applyテキストボックスを適用CONDITIONING, GLIGENCONDITIONING

バッチ・複数画像処理ノード

#ノード名役割主な入力主な出力
41Batch Images複数画像をバッチ化IMAGE, IMAGEIMAGE
42Image Batch画像をバッチにまとめるIMAGEIMAGE
43Repeat Latent Batch潜在空間をバッチ複製LATENTLATENT
44Latent From Batchバッチから潜在空間を抽出LATENTLATENT

出力・保存ノード

#ノード名役割主な入力主な出力
45Save Image画像を保存IMAGE-
46Preview Image画像をプレビュー表示IMAGE-
47Save Latent潜在空間を保存LATENT-
48Load Latent保存した潜在空間を読み込む-LATENT

ユーティリティノード

#ノード名役割主な入力主な出力
49Reroute配線を整理するための中継点任意任意
50Noteワークフローにメモを追加--

背景

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 生成

最もシンプルな画像生成ワークフローです。テキストから画像を生成します。

使用するノード:

  1. Load Checkpoint(#1)
  2. CLIP Text Encode - Positive(#2)
  3. CLIP Text Encode - Negative(#3)
  4. Empty Latent Image(#4)
  5. KSampler(#6)
  6. VAE Decode(#10)
  7. 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 モデルを追加して、特定のスタイルやキャラクターを生成します。

追加するノード:

  1. 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 を使って、参照画像の構図やポーズを再現します。

追加するノード:

  1. Load Image(#5)
  2. Apply ControlNet(#17)
  3. 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 による部分修正

画像の一部分だけを修正するインペイント処理です。

使用するノード:

  1. Load Image(#5)
  2. VAE Encode(#11)または VAE Encode for Inpainting(#12)
  3. Mask Editor(#29)
  4. KSampler(#6)
  5. 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:バッチ処理で複数画像を一度に生成

同じ設定で複数枚の画像を生成します。

使用するノード:

  1. Empty Latent Image(#4)
  2. 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 が不足している

解決方法:

  1. 画像サイズを小さくする(1024×1024 → 512×512)
  2. batch_size を減らす
  3. モデルを軽量なものに変更
  4. --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:ラフスケッチ

使用の流れ:

  1. Load ControlNet Model でモデルを読み込む
  2. Load Image で参照画像を読み込む
  3. Apply ControlNet で条件に適用
  4. 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

役割: マスクを手動で作成・編集します。

使用方法:

  1. Load Image で元画像を読み込む
  2. Mask Editor に接続
  3. ブラシで編集したい領域を塗る
  4. マスクを 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

役割: 配線を整理するための中継点です。機能的な処理はしません。

使用例:

  • 長い配線を見やすく整理
  • 複数のノードに同じ出力を分配

使用方法:

  1. Reroute ノードを配置
  2. 入力を接続
  3. Reroute の出力を複数のノードに接続

#50 Note

役割: ワークフローにメモを追加します。

使用例:

  • ワークフローの説明を記載
  • 設定値のメモ
  • TODO リスト

接続時のよくあるエラーと対処法

ComfyUI でワークフローを構築する際によく遭遇するエラーとその解決方法をまとめました。

エラー 1:型の不一致

エラーコード: TypeError: Cannot connect LATENT to IMAGE

エラーメッセージ:

textTypeError: Cannot connect output of type 'LATENT' to input of type 'IMAGE'

発生条件: 互換性のない型同士を接続しようとした

解決方法:

  1. LATENT と IMAGE 間には VAE Decode を挿入
  2. IMAGE と LATENT 間には VAE Encode を挿入
  3. 接続元と接続先の型を確認

エラー 2:必須入力が未接続

エラーコード: ValueError: Required input 'model' is not connected

エラーメッセージ:

textValueError: Node 'KSampler' - Required input 'model' is not connected

発生条件: 必須の入力端子が接続されていない

解決方法:

  1. エラーメッセージで指定されたノードを確認
  2. 必須入力(通常は太字または*マーク)をすべて接続
  3. KSampler の場合:MODEL, positive, negative, latent_image が必須

エラー 3:モデルファイルが見つからない

エラーコード: FileNotFoundError: Model file not found

エラーメッセージ:

textFileNotFoundError: [Errno 2] No such file or directory: 'models/checkpoints/model.safetensors'

発生条件: 指定したモデルファイルが存在しない

解決方法:

  1. ファイルが正しいフォルダに配置されているか確認
    • Checkpoint → ComfyUI​/​models​/​checkpoints​/​
    • LoRA → ComfyUI​/​models​/​loras​/​
    • ControlNet → ComfyUI​/​models​/​controlnet​/​
    • VAE → ComfyUI​/​models​/​vae​/​
  2. ファイル名のスペルを確認
  3. 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 の倍数でない、またはモデルと不一致

解決方法:

  1. Empty Latent Image の width/height を 8 の倍数にする
  2. Load Image の画像を Image Resize で調整
  3. 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 メモリ)が不足している

解決方法:

  1. 画像サイズを小さくする
  2. batch_size を 1 に減らす
  3. ComfyUI を --lowvram オプションで起動
    bashpython main.py --lowvram
    
  4. ブラウザのタブを閉じて他の VRAM 使用を減らす
  5. より軽量なモデルを使用

ワークフロー設計のベストプラクティス

効率的で保守しやすいワークフローを構築するためのヒントをご紹介します。

ヒント 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 つずつ変更して効果を確認しましょう。

調整順序の例:

  1. まず basic 設定で動作確認(steps: 20, cfg: 7)
  2. seed を固定して他のパラメータを調整
  3. sampler_name を変更して比較
  4. steps を増やして品質向上を試す
  5. 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 処理を重ねることで、細かい部分を段階的に修正できます。

手順:

  1. 全体を生成
  2. 顔部分を Inpaint で修正
  3. 手部分を Inpaint で修正
  4. 背景を Inpaint で調整

テクニック 3:ControlNet と IPAdapter の併用

構図とスタイルを両方制御できます。

textApply ControlNet (構図制御)
└─ CONDITIONING → Conditioning Combine
                    ↑
Apply IPAdapter (スタイル制御)
└─ MODEL → KSampler

テクニック 4:領域別プロンプト

Conditioning Set Area を使って、画像の領域ごとに異なるプロンプトを適用できます。

例:

  • 左半分:「森の風景」
  • 右半分:「都市の風景」

テクニック 5:段階的なアップスケール

大きな画像を生成する際、一度に大きくするのではなく、段階的にアップスケールします。

手順:

  1. 512×512 で生成
  2. Image Scale で 1024×1024 に拡大
  3. VAE Encode で潜在空間に変換
  4. denoise: 0.3-0.5 で KSampler 実行(軽く再生成)
  5. VAE Decode で画像化

この方法により、大きなサイズでも破綻しにくい画像が生成できます。

トラブルシューティング集

問題 1:生成画像がぼやける

原因:

  • VAE の品質が低い
  • サンプリングステップ数が少ない
  • CFG 値が低すぎる

解決策:

  1. 高品質な VAE(vae-ft-mse-840000 など)を使用
  2. steps を 30-40 に増やす
  3. cfg を 8-10 に上げる
  4. Image Sharpen を適用

問題 2:プロンプト通りに生成されない

原因:

  • CFG 値が低い
  • プロンプトが曖昧
  • ネガティブプロンプトが強すぎる

解決策:

  1. cfg を 10-15 に上げる
  2. プロンプトをより具体的に記述
  3. 重要なキーワードを強調(例:(keyword:1.5))
  4. ネガティブプロンプトの strength を調整

問題 3:画像に artifacts(ノイズ・歪み)が出る

原因:

  • サンプラーとの相性
  • steps 数が不適切
  • 画像サイズが不適切

解決策:

  1. sampler_name を変更(euler → dpmpp_2m_sde)
  2. scheduler を karras に変更
  3. steps を 25-30 に調整
  4. 画像サイズを 8 の倍数、かつモデル推奨サイズに

問題 4:Inpainting で境界が不自然

原因:

  • マスクの境界が急峻
  • denoise が強すぎる

解決策:

  1. Grow Mask で境界を拡大(10-20 ピクセル)
  2. denoise を 0.4-0.7 に調整
  3. Image Blur でマスクをぼかす
  4. feather パラメータを調整(可能な場合)

問題 5:生成が遅い

原因:

  • 画像サイズが大きすぎる
  • steps 数が多すぎる
  • 重いサンプラーを使用

解決策:

  1. 画像サイズを小さくする
  2. steps を 20-25 に減らす
  3. 高速なサンプラーに変更(euler_a, dpm_2 など)
  4. batch_size を減らす

まとめ

本記事では、ComfyUI でよく使用される 50 個のノードを機能別に分類し、それぞれの役割と接続方法を早見表形式でまとめました。

記事のポイント:

  • カテゴリ別分類で目的のノードをすぐに見つけられます
  • 表形式で役割・入出力・接続先を一目で確認できます
  • 具体例で実際のワークフロー構築方法が分かります
  • エラー対処法で問題が発生しても解決できます
  • ベストプラクティスで効率的なワークフローを構築できます

ComfyUI は非常に強力なツールですが、その柔軟性ゆえに初心者には難しく感じることもあるでしょう。しかし、基本的なノードの使い方さえマスターすれば、複雑なワークフローも構築できるようになります。

この早見表を手元に置いて、ぜひ様々なワークフローに挑戦してみてください。最初は基本的な Text-to-Image から始めて、徐々に LoRA や ControlNet などの拡張機能を追加していくことをお勧めします。

ノードの組み合わせは無限大です。あなた独自のワークフローを見つけて、理想の画像生成を実現してください。

関連リンク