T-CREATOR

ComfyUI 入門チュートリアル:初めての SDXL 画像生成を 15 分で体験

ComfyUI 入門チュートリアル:初めての SDXL 画像生成を 15 分で体験

AI 画像生成の世界へようこそ。今回は、ノードベースの直感的なインターフェースで人気を集めている「ComfyUI」を使って、わずか 15 分で SDXL による高品質な画像生成を体験していただきます。

プログラミング経験がない方でも大丈夫です。この記事では、インストールから実際の画像生成まで、スクリーンショット付きで丁寧に解説していきますね。ComfyUI の魅力は、複雑な処理を視覚的に組み立てられる点にあります。ぜひ一緒に、AI アートの世界を楽しみましょう。

背景

AI 画像生成技術の進化

AI 画像生成技術は、2022 年の Stable Diffusion 登場以降、急速に進化を遂げてきました。当初はコマンドラインでの操作が主流でしたが、現在では様々な GUI ツールが開発され、誰でも簡単に高品質な画像を生成できる環境が整ってきています。

特に 2023 年にリリースされた**SDXL(Stable Diffusion XL)**は、従来モデルの約 3 倍のパラメータ数を持ち、より詳細で美しい画像生成が可能になりました。解像度も 1024×1024 ピクセルに対応し、商用利用にも耐えうる品質を実現しています。

ComfyUI の登場とその意義

こうした中で注目を集めているのがComfyUIです。ComfyUI は 2023 年初頭に登場したオープンソースのノードベース UI で、画像生成のワークフローを視覚的に構築できる革新的なツールとして人気を博しています。

以下の図は、AI 画像生成ツールの進化の流れを示しています。

mermaidflowchart LR
    cli["コマンドライン<br/>操作"]
    webui["Web UI<br/>(AUTOMATIC1111)"]
    comfy["ComfyUI<br/>(ノードベース)"]

    cli -->|"GUI化"| webui
    webui -->|"視覚化・柔軟性"| comfy

    style comfy fill:#e1f5ff

このように、ComfyUI は従来のツールから大きく進化し、柔軟性と直感性を両立させた次世代のインターフェースとなっています。

ComfyUI の主な特徴

ComfyUI には以下のような特徴があります。

#特徴説明
1ノードベース設計処理をノードで視覚的に組み立て
2軽量・高速メモリ効率が良く、低スペック PC でも動作
3カスタマイズ性ワークフローを自由に構築可能
4オープンソース無料で利用でき、コミュニティも活発

課題

従来の AI 画像生成ツールの問題点

AI 画像生成を始めたい初心者が直面する課題は、主に 3 つあります。

操作の複雑さ

従来のツール(特に AUTOMATIC1111 の Web UI)は、多機能である反面、設定項目が非常に多く、初心者には何をどう設定すればよいのか分かりにくいという問題がありました。タブやメニューが複雑に入り組んでおり、目的の機能にたどり着くまでに時間がかかってしまいます。

ワークフローの不透明性

画像生成のプロセスがブラックボックス化されており、「どのような処理が行われているのか」を理解しにくい構造になっていました。これは学習の妨げになるだけでなく、トラブルシューティングの際にも困難を生じさせます。

システム要件の高さ

高性能な GPU が必要とされるケースが多く、ハードウェアへの投資が大きな障壁となっていました。特に VRAM 使用量が最適化されていないツールでは、8GB 以上の GPU メモリが必要とされることも珍しくありませんでした。

以下は、従来ツールでの課題を図解したものです。

mermaidflowchart TD
    user["ユーザー"]
    problem1["複雑な設定画面"]
    problem2["処理が見えない"]
    problem3["高スペック要求"]
    result["挫折・導入断念"]

    user --> problem1
    user --> problem2
    user --> problem3
    problem1 --> result
    problem2 --> result
    problem3 --> result

    style result fill:#ffe0e0

図で理解できる要点:

  • 初心者が直面する 3 つの主要な障壁
  • これらが最終的に導入断念につながる構造
  • ComfyUI はこれらの課題を解決するために設計されている

解決策

ComfyUI による課題解決アプローチ

ComfyUI は、前述の課題を以下のような方法で解決しています。

ノードベースの直感的な操作性

ComfyUI の最大の特徴は、ノードベースのインターフェースです。各処理が独立したノード(箱)として表現され、それらを線でつなぐことでワークフローを構築します。

この設計により、以下のメリットが生まれました。

  • 処理の流れが視覚的に理解できる
  • 必要な機能だけを組み合わせられる
  • 試行錯誤がしやすく、学習効率が高い
  • ワークフローを保存・共有できる

メモリ効率の最適化

ComfyUI は、メモリ管理が非常に優れています。必要なモデルだけをメモリに読み込み、使用後は自動的に解放する仕組みになっているため、VRAM が 4〜6GB の GPU でも SDXL を動作させることができます。

段階的な学習曲線

初心者向けにはデフォルトワークフローが用意されており、まずはそれを使って画像生成を体験できます。慣れてきたら徐々にノードを追加・変更していくことで、自然とスキルアップできる設計になっています。

以下の図は、ComfyUI での画像生成フローを示しています。

mermaidflowchart LR
    prompt["プロンプト入力"]
    model["SDXL モデル"]
    sampler["サンプラー処理"]
    vae["VAE デコード"]
    output["画像出力"]

    prompt -->|"テキスト"| sampler
    model -->|"モデルデータ"| sampler
    sampler -->|"潜在表現"| vae
    vae -->|"ピクセルデータ"| output

    style output fill:#d4f1d4

図で理解できる要点:

  • プロンプトからモデル、サンプラー、VAE を経て画像が生成される流れ
  • 各ステップが独立したノードとして機能
  • データの流れが明確で理解しやすい

ComfyUI と AUTOMATIC1111 の比較

両ツールの違いを表で整理してみましょう。

#項目ComfyUIAUTOMATIC1111
1インターフェースノードベースフォームベース
2学習曲線緩やか(視覚的)急(設定項目が多い)
3メモリ効率★★★★★★★★☆☆
4カスタマイズ性★★★★★★★★★☆
5初期セットアップやや複雑標準的

ComfyUI は初期セットアップがやや複雑ですが、一度環境を整えれば、その後の使い勝手と拡張性で大きなメリットを得られます。

具体例

それでは、実際に ComfyUI をインストールして、SDXL 画像生成を体験していきましょう。

事前準備

必要なシステム要件

ComfyUI を快適に動作させるための推奨環境は以下の通りです。

#項目推奨スペック最小スペック
1OSWindows 10/11, macOS, Linux同左
2GPUNVIDIA RTX 3060 (VRAM 12GB)GTX 1660 (VRAM 6GB)
3RAM16GB 以上8GB
4ストレージSSD 50GB 以上の空きHDD 50GB
5Python3.10.x3.8.x 以上

必要なファイルのダウンロード

SDXL モデルを使用するには、以下のファイルが必要です。

  1. SDXL ベースモデル (約 6.9GB)
  2. VAE ファイル (約 300MB)

これらはHugging Faceから無料でダウンロードできます。

ステップ 1:ComfyUI のインストール

Git リポジトリのクローン

まず、ComfyUI の公式リポジトリをクローンします。

bash# 任意のディレクトリに移動
cd ~/Documents

# ComfyUIをクローン
git clone https://github.com/comfyanonymous/ComfyUI.git

このコマンドで、ComfyUI のソースコードがローカルにダウンロードされます。

依存パッケージのインストール

次に、必要な Python パッケージをインストールしましょう。

bash# ComfyUIディレクトリに移動
cd ComfyUI

# 仮想環境の作成(推奨)
python -m venv venv

# 仮想環境の有効化(Windows)
venv\Scripts\activate

仮想環境を使用することで、システムの Python 環境を汚さずに済みます。

bash# 仮想環境の有効化(macOS/Linux)
source venv/bin/activate

# 依存パッケージのインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

PyTorch のインストールでは、CUDA バージョンに合わせた URL を指定します。上記は CUDA 11.8 用です。

インストールの確認

インストールが正常に完了したか確認しましょう。

bash# ComfyUIの起動
python main.py

正常に起動すると、以下のようなメッセージが表示されます。

cssStarting server
To see the GUI go to: http://127.0.0.1:8188

ブラウザで http:​/​​/​127.0.0.1:8188 にアクセスすると、ComfyUI の画面が表示されます。

エラーが発生した場合:

  • Error: No module named 'torch'
    • 原因: PyTorch が正しくインストールされていない
    • 解決方法: PyTorch の再インストールを試す
bashpip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • Error: CUDA out of memory
    • 原因: GPU メモリが不足している
    • 解決方法: extra_model_paths.yaml で低 VRAM モードを有効化

ステップ 2:SDXL モデルのセットアップ

モデルファイルの配置

ダウンロードした SDXL モデルファイルを適切なディレクトリに配置します。

bash# モデルディレクトリの確認
ls ComfyUI/models/checkpoints/

SDXL モデルファイル(例:sd_xl_base_1.0.safetensors)を、このディレクトリにコピーします。

VAE ファイルの配置

VAE ファイルも同様に配置しましょう。

bash# VAEディレクトリの確認
ls ComfyUI/models/vae/

VAE ファイル(例:sdxl_vae.safetensors)を、このディレクトリにコピーします。

ディレクトリ構造の確認

正しく配置されているか確認します。

cssComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── sd_xl_base_1.0.safetensors
│   └── vae/
│       └── sdxl_vae.safetensors
├── main.py
└── requirements.txt

この構造になっていれば、準備完了です。

ステップ 3:デフォルトワークフローの読み込み

ComfyUI の起動

サーバーを起動します。

bash# ComfyUIディレクトリで実行
python main.py

ブラウザで http:​/​​/​127.0.0.1:8188 にアクセスしましょう。

ワークフローの確認

初回起動時には、デフォルトのワークフローが表示されます。画面には以下のようなノードが配置されているはずです。

  • Load Checkpoint: モデルを読み込むノード
  • CLIP Text Encode (Prompt): プロンプトをエンコードするノード(ポジティブ・ネガティブ)
  • Empty Latent Image: 初期の潜在画像を生成するノード
  • KSampler: サンプリング処理を行うノード
  • VAE Decode: 潜在表現をピクセル画像に変換するノード
  • Save Image: 画像を保存するノード

以下は、ワークフローの構造を示した図です。

mermaidflowchart TB
    checkpoint["Load Checkpoint"]
    positive["Positive Prompt"]
    negative["Negative Prompt"]
    latent["Empty Latent"]
    sampler["KSampler"]
    decode["VAE Decode"]
    save["Save Image"]

    checkpoint -->|"model"| sampler
    checkpoint -->|"clip"| positive
    checkpoint -->|"clip"| negative
    positive -->|"conditioning"| sampler
    negative -->|"conditioning"| sampler
    latent -->|"latent"| sampler
    sampler -->|"latent"| decode
    checkpoint -->|"vae"| decode
    decode -->|"image"| save

図で理解できる要点:

  • チェックポイント読み込みが起点となる
  • プロンプト(ポジティブ・ネガティブ)がサンプラーに入力される
  • 潜在画像がサンプラーで処理され、VAE でデコードされる
  • 最終的に画像として保存される

ステップ 4:最初の画像生成

モデルの選択

「Load Checkpoint」ノードをクリックし、先ほど配置した SDXL モデルを選択します。

makefileckpt_name: sd_xl_base_1.0.safetensors

ドロップダウンメニューから選択できます。

プロンプトの入力

「CLIP Text Encode (Prompt)」ノードに、生成したい画像の説明を入力します。

ポジティブプロンプト(生成したい内容):

sqla beautiful sunset over the ocean,
golden hour lighting,
professional photography,
highly detailed,
8k resolution

英語で入力することで、より高精度な結果が得られます。

ネガティブプロンプト(避けたい内容):

arduinoblurry,
low quality,
distorted,
watermark,
text

ネガティブプロンプトは、生成したくない要素を指定します。

生成パラメータの設定

「KSampler」ノードで、生成パラメータを調整します。

#パラメータ推奨値説明
1seed-1(ランダム)同じ値で同じ画像を再現可能
2steps20〜30サンプリングステップ数
3cfg7.0〜9.0プロンプトへの忠実度
4sampler_nameeuler_aサンプリングアルゴリズム
5schedulernormalスケジューラータイプ

初心者は、これらの設定をデフォルトのままで問題ありません。

画像サイズの設定

「Empty Latent Image」ノードで、生成する画像のサイズを設定します。

yamlwidth: 1024
height: 1024
batch_size: 1

SDXL は 1024×1024 ピクセルで最高の性能を発揮します。

生成の実行

全ての設定が完了したら、画面右側の**「Queue Prompt」**ボタンをクリックします。

makefileStatus: Processing...
Progress: [██████████] 25/25 steps
Time: 45 seconds

生成が完了すると、画面に画像が表示されます。

ステップ 5:結果の確認と保存

生成画像の確認

「Save Image」ノードに、生成された画像が表示されます。画像をクリックすると、拡大表示できますよ。

保存先の確認

生成された画像は、以下のディレクトリに自動保存されます。

bash# 保存先ディレクトリ
ComfyUI/output/

ファイル名は自動的に連番で付けられます(例:ComfyUI_00001_.png)。

設定のカスタマイズ

「Save Image」ノードで、保存形式を変更できます。

makefilefilename_prefix: my_artwork
format: PNG
quality: 95

これで、ファイル名に接頭辞を付けられます。

トラブルシューティング

生成中に問題が発生した場合の対処法をご紹介します。

生成が遅い場合

現象: 1 枚の生成に 5 分以上かかる

原因:

  • GPU が正しく認識されていない
  • 他のアプリケーションが GPU を使用している

解決方法:

  1. GPU 使用状況の確認
bash# Windowsの場合
nvidia-smi

# タスクマネージャーでGPU使用率を確認
  1. ComfyUI 起動時のログを確認
yamlDevice: cuda:0 NVIDIA GeForce RTX 3060
VAE dtype: torch.float16

「cuda:0」と表示されていれば、GPU が正しく認識されています。

画像が真っ黒になる場合

エラーメッセージ: なし(画像が黒一色で生成される)

原因:

  • VAE の設定が不適切
  • CFG 値が高すぎる

解決方法:

  1. VAE ファイルを明示的に指定

「Load Checkpoint」ノードの後に「VAE Loader」ノードを追加し、sdxl_vae.safetensorsを選択します。

  1. CFG 値を下げる
makefilecfg: 7.0 → 5.0

CFG 値を低くすることで、生成の安定性が向上します。

メモリ不足エラー

エラーコード: RuntimeError: CUDA out of memory

エラーメッセージ:

sqlRuntimeError: CUDA out of memory.
Tried to allocate 2.00 GiB
(GPU 0; 6.00 GiB total capacity;
4.50 GiB already allocated)

解決方法:

  1. バッチサイズを 1 に設定
makefilebatch_size: 1
  1. 低 VRAM モードの有効化

起動オプションを追加します。

bashpython main.py --lowvram
  1. 画像サイズを小さくする
yamlwidth: 1024  768
height: 1024  768

これらの方法で、VRAM が 6GB 以下の GPU でも動作するようになります。

ワークフローの保存と共有

ワークフローの保存

作成したワークフローは、JSON 形式で保存できます。

メニュー → Save → workflow.json

保存したワークフローは、後で読み込んで再利用できますよ。

ワークフローの読み込み

メニュー → Load → workflow.jsonを選択

他の人が作成したワークフローも、同様の方法で読み込めます。

まとめ

今回は、ComfyUI を使った初めての SDXL 画像生成を体験していただきました。

この記事で学んだ内容:

  1. ComfyUI の特徴と利点 - ノードベースの直感的なインターフェースと、優れたメモリ効率
  2. 環境構築の手順 - Git クローン、依存パッケージのインストール、モデルの配置
  3. 基本的なワークフロー - チェックポイント読み込みから画像生成までの一連の流れ
  4. プロンプトの書き方 - ポジティブ・ネガティブプロンプトの使い分け
  5. トラブルシューティング - よくあるエラーと解決方法

ComfyUI の素晴らしい点は、この基本ワークフローを起点に、無限にカスタマイズできることです。慣れてきたら、ControlNet や LoRA などの高度な機能も試してみてください。ノードを追加するだけで、簡単に機能を拡張できますよ。

AI 画像生成は、技術の進化とともに、ますます身近で強力なツールになっています。ComfyUI は、その可能性を最大限に引き出すための最適なプラットフォームと言えるでしょう。

ぜひ、この記事を参考に、あなただけのオリジナル作品を生成してみてくださいね。

関連リンク