結論

ComfyUIは、ノードをつないで画像や動画を生成する無料のアプリです。初めてならデスクトップ版から入れます。

この記事でわかること

  • インストール4通りの選び方と手順
  • 主要ノード16個の早見表とmodels/の26フォルダ
  • /promptに送るJSONの実物とエラー13件

2026年10月22日更新|ComfyUI 0.42・comfy-cli 1.23.0で確認

ComfyUI の画像生成は、「モデルを読む → 文章を条件に変える → ノイズを除く → 画像に戻す → 保存」をノードの線でつないだものです。

flowchart TD
    A[Load Checkpoint<br>モデルを読む] -->|CLIP| B[CLIP Text Encode<br>文章を条件に変える]
    B --> C[KSampler<br>ノイズを除く]
    D[Empty Latent Image<br>白紙の潜在画像] --> C
    C --> E[VAE Decode<br>画像に戻す]
    E --> F[Save Image<br>PNGで保存]

Load Checkpoint の3つの出力のうち、CLIP は CLIP Text Encode へ、MODEL は KSampler へ、VAE は VAE Decode へつながります。

やりたいことごとの早見表です。詳しい手順は本文の各節にあります。

やりたいこと 方法 補足
すぐ始めたい(Windows・Mac) Comfy Desktop をインストール 公式アプリ。Manager も入る
Windows+NVIDIA で使う ポータブル版の7zを解凍 run_nvidia_gpu.bat で起動
Linux・細かく管理したい git clone+venv+PyTorch python main.py で起動
カスタムノードを入れる ComfyUI-Manager --enable-manager で有効
モデルを置く models/checkpoints など 種類ごとのフォルダに置く
プログラムから動かす POST /prompt API 形式の JSON を送る
GPU が無い PC で試す --cpu を付けて起動 動くが遅い
画面を日本語にする 設定 → 言語 → 日本語 標準の機能

確認環境:Ubuntu 24.04・Python 3.12.3。ComfyUI 本体は GitHub の Comfy-Org/ComfyUI を clone し(master、comfyui_version.py は 0.42.0。安定版の最新タグは v0.42.4)、フォルダ構成・default_workflow.json・extra_model_paths.yaml.example・requirements.txt と、ソースの server.py・execution.py・folder_paths.py・nodes.py・comfy/cli_args.py を読んで確かめました。comfy-cli 1.23.0 と comfyui_manager 4.2.2 は venv に入れて実行し、API への送信は、ComfyUI の /prompt と同じ形で応答する擬似サーバー(Python の標準ライブラリで作成)で、届いた URL・ヘッダー・JSON を記録しました。インストール手順・必要なスペック・画面の文言・Manager の使い方は docs.comfy.org(日本語版)と GitHub の README、Comfy Cloud の料金は comfy.org の料金ページで確かめています(確認日 2026年10月22日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「ComfyUIとは|インストール・使い方・Manager・APIを解説」

ComfyUIとは(できること・仕組み)

この節では、ComfyUI が何をするソフトで、ほかの画像生成ツールと何が違うのかが分かります。

ComfyUI(コンフィーユーアイ)は、画像・動画・音声・3D などを生成する AI モデルを、ノード(箱)と線(つながり)の図で組み立てて動かすオープンソースのアプリです。 ブラウザで画面を開き、自分の PC の GPU で生成します。ライセンスは GPL-3.0 で、本体は無料です。開発は Comfy Org が行い、ソースは GitHub で公開されています。

「Stable Diffusion」は画像生成の AI モデルの名前で、ComfyUI はそのモデルを動かすためのソフトです。README には、Stable Diffusion 1.5・SDXL・SD3.5・Flux.1・Flux.2・Qwen Image などの画像生成、Wan 2.1/2.2・LTX-Video などの動画生成、ACE-Step などの音声生成、Hunyuan3D などの 3D 生成のモデルが、標準で対応するものとして挙げられています。生成した動画の形式を変えたり圧縮したりする作業は、関連記事「ffmpegの使い方|MOV→MP4変換・圧縮・切り出しを実測で解説」で扱っています。

1処理の流れが見える

モデルの読み込み・プロンプト・サンプラー・保存が1つずつノードになっていて、どこで何をしているかが図で分かる。

2ワークフローを保存・共有できる

つないだ図は JSON で保存できる。生成した PNG にもワークフローが埋め込まれ、画面にドラッグすると同じ図が開く。

3変えた部分だけ再実行する

同じ図をもう一度実行すると、変わったノードと、その先だけが動く。前の結果は使い回される。

4プログラムから呼べる

サーバーとして動いているので、API 形式の JSON を /prompt に送れば、画面を使わずに生成できる。

README の「Notes」には、実行のしくみとして次の2点が書かれています。

  • 出力(Save Image など)につながり、入力がすべてそろっている部分だけが実行される。
  • 前回と変わった部分だけが実行される。同じ図を2回送ると、実行されるのは1回目だけ。

ノード・ワークフロー・モデルの関係

用語 意味 例
ノード 1つの処理をする箱。入力と出力の口を持つ KSampler、VAE Decode
リンク(線) ノードの出力を、別のノードの入力につなぐもの MODEL、CLIP、LATENT
ワークフロー ノードとリンクの図全体。JSON で保存する テキストから画像を作る図
モデル 学習済みの重みのファイル。ノードが読み込む .safetensors のチェックポイント
カスタムノード 有志が作った追加のノード。custom_nodes/ に入れる ControlNet の前処理ノードなど

ComfyUIの必要スペック(GPU・VRAM・RAM・ストレージ)

この節では、自分の PC で ComfyUI が動くかを、公式の記載で判断できます。

4GBREADME が挙げる VRAM の下限の目安「4GB vram + 8GB ram」でも大きなモデルが動くと記載
4.85GBデスクトップ版の推奨空き容量インストール1つあたり。モデルは別
3.13推奨の Python の版3.14 も動くが一部のカスタムノードに問題が出る場合がある
項目 公式の記載(2026年10月22日時点) 出典
OS Windows・Linux・macOS(Apple シリコン) docs.comfy.org システム要件
NVIDIA GPU CUDA 13.0 向けの PyTorch。20シリーズ以降は cu130 以上が必須 README
NVIDIA 10シリーズ以前 10シリーズ以前は CUDA 12.6・Python 3.12 のポータブル版 README
AMD GPU Linux は ROCm 7.2、Windows は ROCm 10.0(RDNA 2〜4) README
Intel GPU Arc シリーズ(PyTorch の XPU) README
Mac Apple シリコン(M1〜M4)。デスクトップ版は macOS 13 以降 README・docs
GPU なし --cpu で動くが遅い README・docs
VRAM・RAM 4GB の VRAM と 8GB の RAM でも動かせると記載 README
PyTorch 2.7 以上。新しい版を強く推奨 README
ブラウザ Google Chrome 143 以降を推奨 docs.comfy.org

VRAM が足りるかどうかは、使うモデルで大きく変わります。 README の「4GB」は、非同期で重みを読み込む仕組みを使ったときの下限の目安です。モデルのファイルは1つで数 GB あることが多く、docs.comfy.org のモデルの説明でも、ディスクの空きと時間に余裕を持つよう書かれています。

ComfyUIのインストール方法の選び方

この節では、4通りのインストール方法から、自分に合うものを1つ選べます。

方法 向いている人 対応 OS 起動のしかた
Comfy Desktop(公式アプリ) 初めて使う人。README と docs が推奨 Windows・macOS スタートメニュー・アプリ
Windows ポータブル版 解凍してすぐ使いたい Windows の人 Windows run_nvidia_gpu.bat など
手動インストール(git+venv) Linux の人、版や依存を自分で管理したい人 Windows・Linux・macOS python main.py
comfy-cli コマンドでインストールから起動・管理までしたい人 Windows・Linux・macOS comfy launch

README は、新しく使う人にはデスクトップ版を最も簡単な方法として勧め、ポータブル版は「通常の利用者には勧めない」と書いています。Linux 向けのデスクトップ版は無いので、Linux は手動インストールか comfy-cli になります。 このほか、有料の Comfy Cloud(後の節で料金を記載)を使えば、自分の PC に入れずにブラウザだけで使えます。

Comfy Desktop(Windows・Mac)

項目 Windows macOS
要件 Windows 10 以降(x64 または ARM64) macOS 13(Ventura)以降、Apple シリコン
GPU NVIDIA・AMD の専用 GPU を推奨(必須ではない) Apple シリコンの GPU(Metal)
入れ方 .exe のインストーラーを実行 .dmg を開き Applications へドラッグ
ComfyUI の置き場所 %LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Installs アプリが管理
ログ %APPDATA%\Comfy Desktop\logs の app.log アプリが管理

初回起動時に、Comfy Cloud を使うか、この PC にインストールするかを選びます。デスクトップ版は ComfyUI-Manager を入れて --enable-manager 付きで起動するので、Manager の準備は要りません。Mac で初回にセキュリティの警告が出たときは、docs では「システム設定 → プライバシーとセキュリティ」の「このまま開く」で開く手順が案内されています。

Windowsポータブル版のインストール

この節では、ポータブル版をダウンロードして最初の画面を開くまでの手順が分かります。

ポータブル版は、Python と PyTorch を同梱した 7z ファイルです。GPU の種類でファイルが違います。

GPU ファイル名 中身
NVIDIA(20シリーズ以降) ComfyUI_windows_portable_nvidia.7z Python 3.13・PyTorch CUDA 13.0
NVIDIA(10シリーズ以前) ComfyUI_windows_portable_nvidia_cu126.7z Python 3.12・PyTorch CUDA 12.6。新しい GPU には使わない
AMD ComfyUI_windows_portable_amd.7z AMD GPU 用
Intel ComfyUI_windows_portable_intel.7z Intel GPU 用
1

GitHub のリリースから 7z をダウンロード

README の「Windows Portable」の節にある直接リンクから、GPU に合うファイルを選びます。

配布元は GitHub の公式リリース

2

7-Zip かエクスプローラーで解凍

解凍できないときは、ファイルを右クリック →「プロパティ」→「ブロックの解除」をしてからやり直します。

パスが短い場所に置くと扱いやすい

3

モデルを置く

小さいモデルなら、チェックポイント(数 GB の .safetensors)を ComfyUI\models\checkpoints に置きます。大きいモデルはファイルが複数に分かれ、置くフォルダも決まっています。

後の「モデルの置き場所」の表を参照

4

run_nvidia_gpu.bat を実行

CPU だけで動かすときは run_cpu.bat。起動しないときは NVIDIA のドライバーを更新します。

黒い画面に起動のログが流れる

5

ブラウザで開く

ログに To see the GUI go to: http://127.0.0.1:8188 と出たら、そのアドレスを開きます。

既定のポートは 8188

解凍後のフォルダは次の形です(docs と comfyui-wiki の説明をもとにした主な部分)。

ComfyUI_windows_portable/
├─ ComfyUI/              ← 本体(models・custom_nodes・input・output・user など)
├─ python_embeded/       ← 同梱の Python
├─ update/               ← 更新用の bat(後の「アップデート」の節)
├─ run_cpu.bat
└─ run_nvidia_gpu.bat

python_embeded は同梱の Python で、ポータブル版で pip を使うときは .\python_embeded\python.exe -m pip … の形で、この Python を指定します(ComfyUI-Manager の節で使います)。

手動インストール(Windows・Linux)とMac

この節では、git と Python の仮想環境で ComfyUI を入れる手順が、GPU の種類ごとに分かります。

手動インストールは次の4段です。仮想環境(venv)は、ほかの Python の環境と混ざらないように ComfyUI 専用に作ります。

# 1. 取得して仮想環境を作る(Linux・Mac の例)
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
python3.13 -m venv venv
source venv/bin/activate          # Windows は venv\Scripts\activate

# 2. GPU に合う PyTorch を入れる(下の表から1行選ぶ)
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130

# 3. ComfyUI の依存を入れる
pip install -r requirements.txt

# 4. 起動する
python main.py

PyTorch は requirements.txt より先に、GPU に合うものを入れます。 先に requirements.txt を入れると、GPU に合わない PyTorch が入ることがあります。README に載っている PyTorch のコマンドは次のとおりです。

GPU PyTorch を入れるコマンド(README の記載)
NVIDIA pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
AMD(Linux) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2
AMD(Windows) AMD の multi-architecture パッケージ(torch[device-all]==2.13.0+rocm10.0.0 など)
Intel Arc pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
Apple シリコン Apple の「Accelerated PyTorch training on Mac」の手順で PyTorch nightly

clone した直後の ComfyUI フォルダの中身です(master、2026年10月22日に取得)。

$ ls
AGENTS.md               blueprints             extra_model_paths.yaml.example  output
CODEOWNERS              comfy                  folder_paths.py                 protocol.py
CONTRIBUTING.md         comfy_api              hook_breaker_ac10a0.py          pyproject.toml
LICENSE                 comfy_api_nodes        input                           pytest.ini
QUANTIZATION.md         comfy_config           latent_preview.py               requirements.txt
README.md               comfy_execution        main.py                         script_examples
SECURITY.md             comfy_extras           manager_requirements.txt        server.py
agent_requirements.txt  comfyui_version.py     middleware                      tests
alembic.ini             cuda_malloc.py         models                          tests-unit
alembic_db              custom_nodes           node_helpers.py                 utils
api_server              default_workflow.json  nodes.py
app                     execution.py           openapi.yaml

よく触るのは、models(モデルを置く)・custom_nodes(カスタムノードを置く)・input(読み込む画像)・output(生成した画像)・main.py(起動)・extra_model_paths.yaml.example(モデルの場所の設定例)です。

requirements.txt の先頭には、画面(フロントエンド)・テンプレート・組み込みのノード説明が、別の pip パッケージとして版を固定して書かれています。

comfyui-frontend-package==1.57.1
comfyui-workflow-templates==0.11.94
comfyui-embedded-docs==0.5.14
torch
torchsde
torchvision
numpy>=1.25.0
...

画面を更新するときも pip install -r requirements.txt を流し直す必要があるのは、このためです。Python の仮想環境の作り方は、関連記事「Python venvの使い方|仮想環境の作成・有効化・削除をOS別にコピペ」で扱っています。

comfy-cliで入れる

comfy-cli は、ComfyUI のインストール・起動・カスタムノードやモデルの管理を1つのコマンドで行う公式の CLI です。pip で入れて、comfy install で ComfyUI と ComfyUI-Manager をまとめて入れます。

pip install comfy-cli
comfy install          # GPU を聞かれる。--nvidia・--amd・--m-series・--cpu で指定もできる
comfy launch           # 起動

実際に入れた comfy-cli 1.23.0 の comfy install --help の主なオプションです(出力から抜粋)。

$ comfy --version
{"schema": "envelope/1", "type": "envelope", "ok": true, "command": "version", "version": "1.23.0", "where": null, "data": {"version": "1.23.0"}, "error": null}

$ comfy install --help
 Usage: comfy install [OPTIONS]
 Download and install ComfyUI and ComfyUI-Manager
│ --version          Specify version of ComfyUI to install. ... Other options include: latest, which
│                    is the latest stable release. Or a specific version number, eg. 0.2.0
│ --skip-manager     Skip installing the manager component
│ --nvidia           Install for Nvidia gpu
│ --cuda-version     <13.0|12.9|12.8|12.6|12.4|12.1|11.8>
│ --rocm-version     <7.2|7.1|7.0|6.3|6.2|6.1>  [default: 7.2]
│ --amd              Install for AMD gpu
│ --m-series         Install for Mac M-Series gpu
│ --cpu              Install for CPU
│ --fast-deps        Use uv instead of pip for dependency resolution

端末につながっていないところで comfy --version を実行すると、JSON で結果が返りました。 ヘルプには --json(JSON で出す)と --no-json(人が読む形で出す)の切り替えがあり、スクリプトから使う前提の作りになっています。

ComfyUIの起動と画面の見方(日本語化・ショートカット)

この節では、起動したあと画面のどこを触ればよいかと、日本語への切り替え方が分かります。

起動するとサーバーのログが流れ、最後に URL が出ます。ソースの server.py と comfy/model_management.py が出すログの主な行は次のとおりです。

ログの行 意味
Total VRAM … MB, total RAM … MB 見つけた GPU のメモリと PC のメモリ
pytorch version: … 使っている PyTorch の版
Device: … 生成に使う装置(GPU の名前、CPU など)
Import times for custom nodes: カスタムノードごとの読み込み時間。失敗は (IMPORT FAILED)
Starting server サーバーの起動開始
To see the GUI go to: http://127.0.0.1:8188 ブラウザで開く URL
got prompt 実行の依頼を受け取った
Prompt executed in … seconds 1回の実行が終わった時間

ブラウザの画面は、中央のキャンバス(ノードを並べる場所)、上の Run(実行)ボタン、左のサイドバー(Node Library・Model Library・Workflows など)でできています。画面を日本語にするには、設定(歯車のアイコンか Ctrl + ,)→「言語設定」→「言語」で「日本語」を選びます。 以前は日本語化のカスタムノードを入れる方法がありましたが、現在は標準の設定で切り替えられます。既定はブラウザの言語の自動検出です。

よく使うショートカット

キー 動き
Ctrl + Enter 今の図を実行の列(キュー)に入れる
Ctrl + Shift + Enter 列の先頭に入れる
Ctrl + Alt + Enter 実行中の生成を取り消す
ダブルクリック ノードを検索して追加する
Ctrl + S / Ctrl + O ワークフローを保存する/開く
Ctrl + Z / Ctrl + Y 元に戻す/やり直す
Ctrl + M 選んだノードを無効にする(ミュート)
Ctrl + B 選んだノードを飛ばす(バイパス。線はつながったまま)
Ctrl + G 選んだノードをグループにする
Ctrl + D 既定のワークフローを読み込む
. 選んだノード(無ければ図全体)に表示を合わせる
Space を押しながらドラッグ キャンバスを動かす

Mac では Ctrl の代わりに Cmd を使います(README の Shortcuts の表より)。

最初の画像を生成する(基本のワークフロー)

この節では、テキストから画像を作る基本の図を、ノードごとの役割と合わせて組めます。

画面を開くと既定のワークフローが表示されます(表示されないときは Ctrl + D)。テンプレートから「テキストから画像」の図を開くこともできます。SD1.5 のような1ファイルのチェックポイントを使う基本の図は、次の7ノードです。

順番 ノード すること 主に変える値
1 Load Checkpoint モデルを読み、MODEL・CLIP・VAE の3つを出す ckpt_name(モデルのファイル名)
2 CLIP Text Encode(2つ) プロンプトとネガティブプロンプトを条件に変える text
3 Empty Latent Image 白紙の潜在画像を作る width・height・batch_size
4 KSampler ノイズを少しずつ除いて絵を作る seed・steps・cfg・sampler_name
5 VAE Decode 潜在画像を普通の画像に戻す なし
6 Save Image output フォルダに PNG で保存する filename_prefix
1

Load Checkpoint でモデルを選ぶ

models/checkpoints に置いたファイルが一覧に出ます。出ないときは ComfyUI を再起動します。

一覧が空だと実行時にエラーになる

2

プロンプトを書く

上の CLIP Text Encode に描きたいもの、下の CLIP Text Encode に避けたいもの(ぼやけ・低画質など)を書きます。

KSampler の positive と negative につながっている方を確かめる

3

画像の大きさを決める

Empty Latent Image の width・height を、モデルに合う大きさにします。SD1.5 は 512、SDXL は 1024 が基本です。

既定値は 1024×1024

4

Run を押す

上の Run ボタンか Ctrl + Enter。実行中のノードが順に光り、Save Image に画像が出ます。

画像は ComfyUI/output に保存される

実行ボタンの名前

以前の画面・解説記事Queue Prompt
→
現在の画面Run(キャンバス上部の Run バー)

どちらも「今の図を実行の列に入れる」ボタン。ショートカットは同じ Ctrl + Enter

生成した PNG には、使ったワークフローと seed が埋め込まれます。PNG を画面にドラッグすると、その画像を作った図がそのまま開きます。 人から受け取った画像でも同じで、ワークフローの共有によく使われる方法です。

ComfyUIの主要ノードの早見表

この節では、よく使うノードの意味と、何をつなげばよいか(入力と出力の型)が分かります。

線の色と口の名前は「型」を表し、同じ型どうしだけがつながります。表の「出力」は nodes.py の定義(RETURN_TYPES)です。

画面の名前 class_type すること 入力 → 出力
Load Checkpoint CheckpointLoaderSimple 1ファイルのモデルを読む ファイル名 → MODEL・CLIP・VAE
Load Diffusion Model UNETLoader 拡散モデルだけを読む(Flux 等) ファイル名 → MODEL
Load CLIP CLIPLoader 文章用のモデル(テキストエンコーダー)を読む ファイル名 → CLIP
Load VAE VAELoader VAE だけを読む ファイル名 → VAE
Load LoRA (Model and CLIP) LoraLoader LoRA で絵柄などを足す MODEL・CLIP → MODEL・CLIP
CLIP Text Encode (Prompt) CLIPTextEncode プロンプトを条件に変える CLIP・文章 → CONDITIONING
Empty Latent Image EmptyLatentImage 白紙の潜在画像を作る 幅・高さ → LATENT
KSampler KSampler ノイズを除いて絵を作る MODEL・条件・LATENT → LATENT
KSampler (Advanced) KSamplerAdvanced 開始・終了の段を細かく決める 同上 → LATENT
VAE Decode VAEDecode 潜在画像を画像に戻す LATENT・VAE → IMAGE
VAE Encode VAEEncode 画像を潜在画像にする(img2img) IMAGE・VAE → LATENT
Load Image LoadImage input の画像を読む ファイル名 → IMAGE・MASK
Save Image SaveImage output に保存する(出力ノード) IMAGE → 保存
Preview Image PreviewImage 保存せずに表示だけする(出力ノード) IMAGE → 表示
Load ControlNet Model ControlNetLoader ControlNet のモデルを読む ファイル名 → CONTROL_NET
Apply ControlNet ControlNetApplyAdvanced 線画・ポーズ等で構図を指定する 条件・CONTROL_NET・IMAGE → 条件

画像から画像(img2img)は、Empty Latent Image の代わりに Load Image → VAE Encode をつなぎ、KSampler の denoise を 1.0 より小さくする形です。 denoise を下げるほど、元の画像の形が残ります。

KSamplerの設定値

項目 意味 既定値・範囲(docs)
seed 乱数の種。同じ値なら同じ画像になる 0(0〜18446744073709551615)
control_after_generate 実行のたびに seed をどう変えるか ランダム・増加・減少・固定
steps ノイズを除く回数。多いほど遅い 20(1〜10000)
cfg プロンプトにどれだけ従うか 8.0(0.0〜100.0)。docs は 6〜8 を推奨
sampler_name ノイズの除き方の計算方法 euler・dpmpp_2m など
scheduler ノイズを減らしていく配分 normal・karras など
denoise どれだけノイズを除くか 1.0(0.0〜1.0)

sampler_name と scheduler の選択肢は、ソースの comfy/samplers.py に並んでいます。scheduler は simple・sgm_uniform・karras・exponential・ddim_uniform・beta・normal・linear_quadratic・kl_optimal の9種類、sampler は euler・euler_ancestral・heun・dpmpp_2m・dpmpp_2m_sde・dpmpp_3m_sde・lcm・res_multistep・ddim・uni_pc など40種類近くあります。モデルの配布ページに推奨の組み合わせが書かれていることが多いので、まずそれに合わせます。

プロンプトの書き方(強調・ワイルドカード・embedding)

README の Notes に書かれている、CLIP Text Encode の書き方です。

書き方 意味
(good code:1.2) その語を 1.2 倍に強める。(bad code:0.8) で弱める
(word) 1.1 倍に強める(既定の倍率)
// コメント・/* コメント */ 書いても生成には使われない
embedding:ファイル名 models/embeddings の埋め込みを使う(拡張子は省略できる)
\(・\{ ( や { を文字としてそのまま使う

{day|night} のように波かっこの中を縦線で区切ると、実行のたびに画面側がどれか1つをランダムに選んで置き換えます(ワイルドカード)。

ComfyUIのモデルの置き場所(models/以下の表)

この節では、ダウンロードしたモデルをどのフォルダに置けばノードの一覧に出るかが分かります。

clone した直後の models には、26個のフォルダがあります。

$ ls models
audio_encoders      controlnet           geometry_estimation    optical_flow    vae
background_removal  detection            gligen                 photomaker      vae_approx
checkpoints         diffusers            hypernetworks          style_models
clip                diffusion_models     latent_upscale_models  text_encoders
clip_vision         embeddings           loras                  unet
configs             frame_interpolation  model_patches          upscale_models

よく使うものと、読み込むノードの対応です。folder_paths.py で、どのフォルダをどの名前で探すかが決まっています。

置くもの フォルダ 読み込むノード
チェックポイント(1ファイルのモデル) models/checkpoints Load Checkpoint
LoRA models/loras Load LoRA
VAE models/vae Load VAE
拡散モデル(分割配布のもの) models/diffusion_models(unet も可) Load Diffusion Model
テキストエンコーダー models/text_encoders(clip も可) Load CLIP
ControlNet models/controlnet(t2i_adapter も可) Load ControlNet Model
アップスケーラー models/upscale_models Load Upscale Model
embedding(Textual Inversion) models/embeddings プロンプトに embedding: で書く
CLIP Vision models/clip_vision Load CLIP Vision
高画質プレビュー用(TAESD) models/vae_approx --preview-method taesd で使う

読み込める拡張子は .safetensors・.ckpt・.pt・.pt2・.pth・.bin・.pkl・.sft です(folder_paths.py の supported_pt_extensions)。GGUF 形式は標準では読めず、docs ではカスタムノード(ComfyUI-GGUF など)が必要と説明されています。

分割配布のモデルを checkpoints に置いたとき

よくある置き間違い拡散モデル・テキストエンコーダー・VAE を全部 checkpoints に入れる
→
正しい置き場所diffusion_models・text_encoders・vae に分けて置く

既定のワークフロー(Z-Image Turbo)も、3つのファイルをそれぞれのフォルダから読む形になっている

モデルの入手先

モデルは、作った組織や Comfy Org が公開している配布ページから入手します。clone したリポジトリの default_workflow.json には、必要なモデルのファイル名・入手先の URL・置くフォルダが、ノードごとに書かれていました。

"models": [
  {
    "name": "qwen_3_4b.safetensors",
    "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b.safetensors",
    "directory": "text_encoders"
  }
]

テンプレートのワークフローを開くと、この情報をもとに足りないモデルが案内されます。モデルごとに利用条件(ライセンス)が違うので、商用で使うときは配布ページの条件を確かめます。 ComfyUI 本体のライセンス(GPL-3.0)と、生成に使うモデルのライセンスは別のものです。

別の場所のモデルを使う(extra_model_paths.yaml)

Stable Diffusion web UI(AUTOMATIC1111)など、ほかのツールのモデルフォルダをそのまま使うときは、extra_model_paths.yaml.example を extra_model_paths.yaml に名前を変えて、# を外します。リポジトリに入っている例のうち、AUTOMATIC1111 用の部分です。

a1111:
     base_path: path/to/stable-diffusion-webui/
     checkpoints: models/Stable-diffusion
     configs: models/Stable-diffusion
     vae: models/VAE
     loras: |
          models/Lora
          models/LyCORIS
     upscale_models: |
                   models/ESRGAN
                   models/RealESRGAN
                   models/SwinIR
     embeddings: embeddings
     hypernetworks: models/hypernetworks
     controlnet: models/ControlNet

base_path を自分の web UI のフォルダに書き換え、ComfyUI を再起動すると読み込まれます。別の場所のファイルを指定するときは、起動オプション --extra-model-paths-config でも渡せます。

ComfyUI-Managerのインストールと使い方

この節では、カスタムノードを管理する ComfyUI-Manager の入れ方と、カスタムノードを入れる手順が分かります。

ComfyUI-Manager は、カスタムノードのインストール・更新・削除・無効化と、ワークフローに足りないノードの検出を行う拡張機能です。 現在は ComfyUI 本体とは別の pip パッケージ(comfyui_manager)になっていて、本体の manager_requirements.txt で版が固定されています。

$ cat manager_requirements.txt
comfyui_manager==4.2.2

インストール方法(版ごと)

使っている ComfyUI 手順
デスクトップ版 何もしない。最初から --enable-manager で起動している
ポータブル版 .\python_embeded\python.exe -m pip install -r ComfyUI\manager_requirements.txt のあと、--enable-manager を付けて起動
手動インストール venv を有効にして pip install -r manager_requirements.txt、python main.py --enable-manager
comfy-cli comfy install で一緒に入る(--skip-manager で外せる)

ポータブル版で毎回 Manager 付きで起動するには、docs の例のように bat の起動行を次の形にします。

.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --enable-manager
pause
起動オプション 意味
--enable-manager ComfyUI-Manager を有効にする
--enable-manager-legacy-ui 以前の Manager の画面を使う(--enable-manager も有効になる)
--disable-manager-ui 画面とエンドポイントを止め、裏の機能(安全チェックなど)だけ残す

以前は custom_nodes に Manager のリポジトリを git clone する方法が主流でした。docs ではこれを「レガシーなインストール方法」として残し、置き場所は ComfyUI/custom_nodes/comfyui-manager にすること、ComfyUI-Manager-main のような名前や二重のフォルダにしないことを注意しています。

カスタムノードを入れる・足りないノードを入れる

新しい画面での操作は docs の「パック管理」の説明のとおりです。

1

Manager を開いて検索する

上の検索バーで、ノードパック(Node Pack)か個別のノード(Node)を検索します。

左のフィルターで「インストール済み」「Update available」なども選べる

2

Install を押す

カードを選んで Install。版を選ぶときは Version から選びます。

新しい画面は registry に登録されたノードだけを入れられる

3

ComfyUI を再起動する

カスタムノードは起動時に読み込まれます。ログの Import times for custom nodes: で読み込めたかを確かめます。

失敗したものには (IMPORT FAILED) と出る

人からもらったワークフローを開いて、使われているノードが入っていないときは、知らせが出ます。Install All で足りないノードをまとめて入れるか、Open Manager で中身を確かめてから入れます。 削除はノードを選んで Uninstall です。

よく名前が挙がるカスタムノードの例です(各リポジトリの README の説明)。

ノードパック 何をするものか
ComfyUI-Impact-Pack 検出(Detector)・部分の描き直し(Detailer)・拡大などで画像を整える
comfyui_controlnet_aux ControlNet に渡す線画・深度・ポーズなどの画像を作る前処理
ComfyUI-GGUF GGUF 形式に量子化したモデルを読み込み、VRAM を節約する
rgthree-comfy 図の整理や操作を楽にするノードと画面の改良

カスタムノードを入れる前のチェック

カスタムノードは、ComfyUI の中で動く Python のプログラムです。Manager は危険度で操作を分け、config.ini の security_level で許す範囲を決めています。

  • 1配布元のリポジトリと、更新が続いているかを見るManager の詳細パネルで説明とノードの一覧を確かめられる
  • 2入れる前の状態を残すManager のスナップショットや comfy node save-snapshot で戻せるようにする
  • 3git の URL から入れるのは危険度「高」の操作security_level が normal 以上だと拒否される。pip install・ノードの修正も同じ扱い
  • 4--listen で他の端末に公開するときは、強めの設定にするnormal- は、127. 以外で待ち受けるとき危険度「高」を拒否する
  • 5おかしくなったら全部外して起動して切り分ける--disable-all-custom-nodes で、カスタムノードなしで起動できる
security_level 拒否するもの(docs の説明)
strong 危険度「高」と「中」
normal 危険度「高」
normal- --listen で 127. 以外を待ち受けるとき、危険度「高」
weak 何も拒否しない

docs では、危険度「高」は git URL からのインストール・pip install・既定のチャンネル外のノードのインストール・ノードの修正、「中」はアンインストール・更新・既定のチャンネルのノードのインストール・スナップショットの復元と削除・再起動とされています。config.ini の場所は、ComfyUI v0.3.76 以降は <USER_DIRECTORY>/__manager/config.ini です。

ComfyUIのワークフローJSON(UI形式とAPI形式)

この節では、ワークフローを保存した JSON の2つの形の違いと、読み方が分かります。

UI 形式(保存形式)

File → Save(Ctrl + S)で保存する形

ノードの位置・大きさ・グループ・線の一覧まで入る。画面で開き直すための形

API 形式

File → Export Workflow (API) で出す形

ノード ID ごとに class_type と inputs だけ。/prompt に送るための形

UI形式の中身(default_workflow.json)

リポジトリに入っている既定のワークフロー(10,184 バイト)は、nodes と links の2つの配列が中心です。ノードには位置(pos)・大きさ(size)・ウィジェットの値(widgets_values)が入り、線は links に [線のID, 出元のノード, 出元の口, 行き先のノード, 行き先の口, 型] の6つ組で並びます。

"links": [
  [72, 66, 0, 69, 0, "MODEL"],
  [73, 70, 0, 65, 0, "LATENT"],
  [74, 63, 0, 65, 1, "VAE"],
  [75, 69, 0, 70, 0, "MODEL"],
  [76, 67, 0, 70, 1, "CONDITIONING"],
  [78, 68, 0, 70, 3, "LATENT"],
  [79, 62, 0, 67, 0, "CLIP"],
  [80, 65, 0, 9, 0, "IMAGE"],
  [81, 62, 0, 71, 0, "CLIP"],
  [82, 71, 0, 70, 2, "CONDITIONING"]
]

KSampler(ID 70)の widgets_values は [42, "fixed", 8, 1, "res_multistep", "simple", 1] で、seed・control_after_generate・steps・cfg・sampler_name・scheduler・denoise の順です。UI 形式は値が名前ではなく並び順で入るので、プログラムで書き換えるなら API 形式のほうが扱いやすい形です。

API形式の中身

基本の7ノードの図を API 形式で書いたものです(858 バイト)。この記事の後の節で、この JSON を /prompt に送ります。

{
  "4": {"class_type": "CheckpointLoaderSimple", "inputs": {"ckpt_name": "v1-5-pruned-emaonly.safetensors"}},
  "5": {"class_type": "EmptyLatentImage", "inputs": {"width": 512, "height": 512, "batch_size": 1}},
  "6": {"class_type": "CLIPTextEncode", "inputs": {"text": "a cat sitting on a desk, watercolor", "clip": ["4", 1]}},
  "7": {"class_type": "CLIPTextEncode", "inputs": {"text": "blurry, low quality", "clip": ["4", 1]}},
  "3": {"class_type": "KSampler", "inputs": {"seed": 42, "steps": 20, "cfg": 7.0, "sampler_name": "euler", "scheduler": "normal", "denoise": 1.0,
        "model": ["4", 0], "positive": ["6", 0], "negative": ["7", 0], "latent_image": ["5", 0]}},
  "8": {"class_type": "VAEDecode", "inputs": {"samples": ["3", 0], "vae": ["4", 2]}},
  "9": {"class_type": "SaveImage", "inputs": {"filename_prefix": "cat", "images": ["8", 0]}}
}

["4", 1] は「ノード 4 の、1番目の出力」という意味です。 Load Checkpoint(ノード 4)の出力は MODEL・CLIP・VAE の順なので、["4", 0] が MODEL、["4", 1] が CLIP、["4", 2] が VAE です。

ComfyUI は、出力ノード(Save Image)からつながりをさかのぼって、必要なノードを先に動かします。同じことをする小さなスクリプトで、この JSON の実行の順番を出しました。

"""API 形式のワークフローを読み、出力ノードからさかのぼって実行の順番を出す。"""
import json, sys

wf = json.load(open(sys.argv[1], encoding="utf-8"))
OUTPUT = {"SaveImage", "PreviewImage"}
order, seen = [], set()

def visit(nid):
    if nid in seen:
        return
    seen.add(nid)
    for v in wf[nid]["inputs"].values():
        if isinstance(v, list) and len(v) == 2:      # ["ノードID", 出力の番号] がつながり
            visit(v[0])
    order.append(nid)

for nid, n in wf.items():
    if n["class_type"] in OUTPUT:
        visit(nid)

print(f"ノード {len(wf)} 個 / つながり {sum(isinstance(v, list) for n in wf.values() for v in n['inputs'].values())} 本")
for i, nid in enumerate(order, 1):
    n = wf[nid]
    links = [f"{k}<-{v[0]}[{v[1]}]" for k, v in n["inputs"].items() if isinstance(v, list)]
    print(f"{i}. #{nid} {n['class_type']:<22} {' '.join(links)}")
$ python3 order.py workflow_api.json
ノード 7 個 / つながり 9 本
1. #4 CheckpointLoaderSimple 
2. #6 CLIPTextEncode         clip<-4[1]
3. #7 CLIPTextEncode         clip<-4[1]
4. #5 EmptyLatentImage       
5. #3 KSampler               model<-4[0] positive<-6[0] negative<-7[0] latent_image<-5[0]
6. #8 VAEDecode              samples<-3[0] vae<-4[2]
7. #9 SaveImage              images<-8[0]

JSON のキーの順(4・5・6・7・3・8・9)とは関係なく、つながりで順番が決まりました。Save Image につながっていないノードは、この順番に入らないので実行されません。JSON の読み書きは、関連記事「Python JSON 読み書き|コピペレシピと実行結果・3.14対応」で扱っています。

ComfyUIをAPIで実行する(/promptとWebSocket)

この節では、プログラムから ComfyUI に生成を依頼し、結果の画像を受け取るまでの流れと、実際に送られる中身が分かります。

ComfyUI を起動すると、画面と同じサーバーが HTTP の API も受け付けます。ポート 8188 のサーバーに、画面を開かずに JSON を送るだけで生成を依頼できます。

flowchart LR
    A[自分の<br>プログラム] -->|POST /prompt| B[ComfyUI<br>サーバー]
    B -->|/ws で進み具合| A
    A -->|GET /history<br>GET /view| B

JSON を送ると prompt_id が返り、WebSocket(/ws)で進み具合を受け取り、終わったら /history で出力のファイル名を調べて /view で画像を取ります。

エンドポイント メソッド すること
/prompt POST ワークフローを実行の列に入れる
/ws?clientId=… WebSocket 実行の進み具合(status・executing・progress・executed など)を受け取る
/history/{prompt_id} GET 終わった実行の結果(出力の画像のファイル名など)を返す
/view?filename=…&subfolder=…&type=output GET 画像そのものを返す
/queue GET・POST 列の状態を返す/列を空にする
/interrupt POST 実行中の生成を止める
/object_info GET 全ノードの入力・出力の定義を返す
/system_stats GET Python の版・装置・VRAM などを返す
/upload/image POST img2img などに使う画像を input に上げる
/free POST モデルをメモリから外す

Pythonから/promptに送る

標準ライブラリだけで、前の節の JSON のプロンプトと seed を差し替えて送るスクリプトです。リポジトリの script_examples/basic_api_example.py と同じ形に、client_id と prompt_id を足しています。

"""API 形式のワークフローを ComfyUI の /prompt に送る(標準ライブラリだけ)。"""
import json, sys, uuid, urllib.request

SERVER = sys.argv[2] if len(sys.argv) > 2 else "127.0.0.1:8188"
wf = json.load(open(sys.argv[1], encoding="utf-8"))
wf["6"]["inputs"]["text"] = "a dog running on the beach, watercolor"   # プロンプトを差し替える
wf["3"]["inputs"]["seed"] = 12345                                       # seed を差し替える

body = {"prompt": wf, "client_id": str(uuid.uuid4()), "prompt_id": str(uuid.uuid4())}
req = urllib.request.Request(f"http://{SERVER}/prompt", data=json.dumps(body).encode(),
                             headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req) as r:
    print(r.status, r.read().decode())

/prompt と同じ形で応答する擬似サーバー(ポート 28900)に向けて実行し、届いたリクエストを記録しました。

$ python3 queue.py workflow_api.json 127.0.0.1:28900
200 {"prompt_id": "398f3e52-e58c-4315-bada-dc6d2d89c5a8", "number": 0, "node_errors": {}}
POST /prompt
Content-Type: application/json
Content-Length: 957
User-Agent: Python-urllib/3.11

{"prompt": {"4": {"class_type": "CheckpointLoaderSimple", ...},
            "6": {"class_type": "CLIPTextEncode", "inputs": {"text": "a dog running on the beach, watercolor", "clip": ["4", 1]}},
            "3": {"class_type": "KSampler", "inputs": {"seed": 12345, ...}}, ...},
 "client_id": "0adf3918-d2c3-474a-8158-d1d182d333d3",
 "prompt_id": "398f3e52-e58c-4315-bada-dc6d2d89c5a8"}

(本文は長いので一部を「...」で省いています。)

送る本文の決まりは、ソースの server.py の post_prompt に書かれています。

キー 意味
prompt API 形式のワークフロー(必須。無いと 400 の no_prompt)
client_id WebSocket の clientId と同じ値にすると、その接続に進み具合が届く
prompt_id 自分で決める ID。省くとサーバーが UUID を作る。UUID でないと 400 の invalid_prompt_id
front true で列の先頭に入れる
extra_data 追加の情報。有料の API ノードを使うときの API キー(api_key_comfy_org)もここに入れる

検証に通ると {"prompt_id": …, "number": …, "node_errors": {}} が返り、通らないと HTTP 400 で {"error": …, "node_errors": …} が返ります。200 が返った時点では「列に入った」だけで、画像はまだできていません。 終わったかどうかは、WebSocket で executing の node が null になる知らせを待つか、/history/{prompt_id} を見て確かめます(script_examples/websockets_api_example.py がこの形です)。

comfy-cliのcomfy runで送る

comfy-cli の comfy run でも、同じ JSON を送れます。同じ擬似サーバーに向けた結果です(ホームのパスは ~ に置き換えています)。

$ comfy --no-json run --workflow workflow_api.json --host 127.0.0.1 --port 28900
⏳ queued f33dbb13-7cb8-42b8-b215-c3605220b02d
  workflow ~/comfy-api/workflow_api.json
  watch    comfy jobs watch f33dbb13-7cb8-42b8-b215-c3605220b02d
  state    ~/.config/comfy-cli/jobs/f33dbb13-7cb8-42b8-b215-c3605220b02d.json
  ⏳ queued · still in flight — track: comfy jobs ls --watch

擬似サーバーに届いた順番は、GET /history(起動しているかの確認)→ GET /object_info(ノード定義の取得)→ POST /prompt でした。/prompt には Comfy-Usage-Source: comfy-cli のヘッダーと、"extra_data": {"comfy_usage_source": "comfy-cli/agent"} が付いていました。

試したこと 結果
サーバーが無いポートに comfy run ComfyUI not running on specified address (127.0.0.1:28901) と → run: comfy launch
UI 形式の JSON を --workflow に渡す Detected UI-format workflow, converting to API format... と出て、変換のために /object_info を取りに行った
/object_info が 404 のサーバーに UI 形式を渡す Failed to fetch /object_info (HTTP 404) で止まった

UI 形式から API 形式への変換には、各ノードの入力の名前(ノード定義)が要ります。そのため comfy-cli は、動いている ComfyUI から定義を取ってから変換していました。

ComfyUIの起動オプション早見表

この節では、python main.py に付けるオプションのうち、よく使うものの意味が分かります。全部の一覧は python main.py --help で出ます。表はソースの comfy/cli_args.py の定義から選んだものです。

オプション 意味 既定
--listen [IP] 待ち受ける IP。値を省くと 0.0.0.0,::(全部) 127.0.0.1
--port 待ち受けるポート 8188
--cpu すべて CPU で動かす(遅い) 無効
--lowvram・--novram VRAM が少ないときの動かし方 無効
--highvram・--gpu-only モデルを GPU のメモリに置いたままにする 無効
--reserve-vram OS やほかのアプリのために残す VRAM(GB) 自動
--preview-method 生成中のプレビューの方法(auto・taesd など) プレビューなし
--output-directory・--input-directory 画像の保存先・読み込み元を変える ComfyUI の中
--extra-model-paths-config 追加のモデルの場所を書いた yaml を読む なし
--enable-manager ComfyUI-Manager を有効にする 無効
--disable-all-custom-nodes カスタムノードを読み込まない 無効
--offline 画面がインターネットにつながらないようにし、有料の API ノードを止める 無効
--auto-launch 起動時にブラウザを開く 無効
--tls-keyfile・--tls-certfile HTTPS で待ち受ける なし
--multi-user ユーザーごとに保存場所を分ける 無効

--lowvram のヘルプには「dynamic vram が有効なときは何もしない」と書かれています。docs のトラブルシューティングでは、メモリ不足のときに解像度やバッチ数を下げたうえで --lowvram・--reserve-vram を試し、--cpu は最後の手段としています。

ComfyUIのアップデート方法

この節では、入れ方ごとの更新のしかたが分かります。

入れ方 更新のしかた
デスクトップ版 アプリは自動で更新。ComfyUI 本体は管理パネルの「アップデート」タブ(既定は安定版)
ポータブル版 update フォルダの update_comfyui_stable.bat(最新の安定版)か update_comfyui.bat(最新の開発版)
手動インストール venv を有効にして git pull → pip install -r requirements.txt → 再起動
comfy-cli comfy update comfy(カスタムノードは comfy node update)
ComfyUI-Manager 本体を更新しても自動では上がらない。pip install -r manager_requirements.txt を流し直す

ポータブル版の update_comfyui_and_python_dependencies.bat は依存も入れ直すもので、docs は競合を起こすことがあるので必要なときだけ使うよう書いています。README によると、安定版はおよそ2週間ごとに出て、タグの付いていない開発中のコミットはカスタムノードが動かなくなることがあります。仕事で使う環境は安定版のタグに合わせ、更新の前に Manager のスナップショットを取っておくと戻せます。

手動インストールで安定版に合わせるときの例です(docs の手順)。

git fetch --tags
git checkout v0.42.4        # 2026年10月22日時点の最新の安定版タグ
pip install -r requirements.txt

ComfyUIのよくあるエラーと直し方

この節では、起動・実行・Manager でよく出るメッセージの意味と直し方が分かります。メッセージは ComfyUI のソース(execution.py・server.py・nodes.py)と docs、comfy-cli の実行結果から集めたものです。

メッセージ(原文) 原因 直し方
Torch not compiled with CUDA enabled GPU 向けでない PyTorch が入っている pip uninstall torch のあと、cu130 の PyTorch を入れ直す。Intel GPU は XPU 版を入れる
Prompt execution failed(メモリ不足) VRAM か RAM が足りない 解像度とバッチ数を下げる、--lowvram・--reserve-vram、ほかのアプリを閉じる
Value not in list: ckpt_name: '…' not in [...] 指定したモデルのファイルが、そのフォルダに無い ファイル名とフォルダを確かめ、置いたら再起動する
Node '…' not found. The custom node may not be installed. ワークフローが使うカスタムノードが入っていない Manager の Install All(足りないノードを入れる)
Prompt has no outputs Save Image などの出力ノードが無い 出力ノードを足してつなぐ
Required input is missing つなぐべき入力が空いている 赤く表示された入力に線をつなぐ
Return type mismatch between linked nodes 型の違う口どうしがつながっている(API 形式の手書きで起きやすい) ["ノードID", 出力の番号] の番号を直す
Prompt outputs failed validation 上の検証エラーがあって、実行できる出力が無い 続けて出るノードごとの理由を直す
prompt_id must be a valid UUID API で送った prompt_id が UUID の形でない UUID を渡すか、prompt_id を省く
(IMPORT FAILED)(起動ログ) カスタムノードの依存が足りない・本体の版と合わない 依存を入れ直す。--disable-all-custom-nodes で切り分ける
Failed to connect to server ファイアウォール・VPN・プロキシで接続が止められている 設定を確かめ、ポート 8188〜8190 を試す
This action is not allowed with this security level configuration Manager の security_level が操作を許していない 操作の危険度を確かめ、必要なら config.ini の security_level を変える
ComfyUI not running on specified address (…) comfy-cli が、指定の場所で ComfyUI を見つけられない comfy launch で起動するか、--host・--port を直す

画面が真っ白になる、既定のワークフローが出ないときは、Ctrl + D(既定のワークフローを読み込む)を試し、ブラウザを新しい Chrome にします。docs は Chrome 142 以前に表示の不具合があると書いています。

PyTorch を入れる順番

エラーになりやすい順requirements.txt を先に入れる → GPU に合わない torch が入る
→
README の順GPU に合う torch を先に入れる → requirements.txt

「Torch not compiled with CUDA enabled」の多くは、この順番の違いで起きる

pip で PyTorch の版が見つからないときのエラーは、関連記事「pip No matching distribution foundの直し方」で扱っています。

Stable Diffusion web UIとの違いと料金(Comfy Cloud)

この節では、よく比べられる Stable Diffusion web UI(AUTOMATIC1111)との違いと、ComfyUI の料金の考え方が分かります。

観点 ComfyUI web UI(AUTOMATIC1111)
画面の形 ノードを線でつなぐ図 タブと入力欄(txt2img・img2img など)
作り 独自のサーバー+フロントエンド Gradio で作られた Web 画面
設定の保存 ワークフローを JSON で保存。PNG にも埋め込む 生成の設定を PNG(JPEG は EXIF)に埋め込む
拡張 カスタムノード(ComfyUI-Manager で管理) 拡張機能(Extensions)
対応するモデル 画像・動画・音声・3D の新しいモデルを標準で多数 Stable Diffusion 系の画像生成が中心
最新の版(タグ) v0.42.4 v1.10.1

どちらも無料のオープンソースで、自分の PC で動かします。web UI のモデルは、前の節の extra_model_paths.yaml で ComfyUI からも読めるので、両方を入れてモデルを共有する使い方もできます。Gradio の仕組みは、関連記事「Gradioとは|使い方・API呼び出し・Spaces公開をPythonで実演」で扱っています。

ComfyUIの料金

ComfyUI 本体・デスクトップ版・ポータブル版は無料です。お金がかかるのは、GPU を借りる公式のクラウド「Comfy Cloud」と、画面から呼べる他社の有料モデル(Partner Nodes、以前の名前は API ノード)を使うときです。

プラン(Comfy Cloud) 月額(月払い) 1回の実行の上限
Free 無料(実 GPU での実行5回など) —
Standard $20 30分
Creator $35 30分
Pro $100 1時間

料金は comfy.org の料金ページの表示で、2026年10月22日時点のものです。年払いにすると月あたりの額が下がり、課金されるのはワークフローを実行している GPU の時間と Partner Nodes の分だけと書かれています。チーム向けのプランもあります。Partner Nodes を使わないなら、起動オプション --disable-partner-nodes で読み込まないようにできます。

よくある質問

Q. ComfyUIとは何ですか? A. 画像・動画・音声などを生成する AI モデルを、ノードをつないだ図で動かすオープンソースのアプリです。ブラウザで画面を開き、自分の PC の GPU で生成します。「ComfyUIとは(できること・仕組み)」で詳しく説明しています。

Q. ComfyUIは無料ですか?商用利用できますか? A. 本体は GPL-3.0 のオープンソースで無料です。生成した画像を商用で使えるかは、使ったモデルのライセンスで決まるので、モデルの配布ページの条件を確かめます。有料なのは Comfy Cloud と Partner Nodes です。

Q. GPUなし(CPUだけ)でも動きますか? A. --cpu を付けると CPU だけで動きますが、遅くなります。ポータブル版なら run_cpu.bat で起動します。

Q. 必要なVRAMはどれくらいですか? A. README には、4GB の VRAM と 8GB の RAM でも大きなモデルを動かせると書かれています。ただし速さや扱える解像度はモデルで大きく変わるので、モデルの配布ページの目安も確かめます。

Q. MacでComfyUIは使えますか? A. Apple シリコン(M1 以降)の Mac で使えます。デスクトップ版は macOS 13 以降が対象です。手動インストールでは、Apple の手順で PyTorch nightly を入れてから ComfyUI を入れます。

Q. ComfyUIを日本語化するには? A. 設定(Ctrl + ,)→「言語設定」→「言語」で「日本語」を選びます。標準の機能なので、カスタムノードは要りません。

Q. ComfyUI-Managerのボタンが表示されません。 A. 現在の ComfyUI では、Manager は --enable-manager を付けて起動したときだけ有効になります。ポータブル版・手動インストールでは、先に manager_requirements.txt を pip で入れてから、このオプションを付けて起動します。

Q. ComfyUIのモデルはどこに置きますか?どこから入手しますか? A. 1ファイルのモデルは models/checkpoints、LoRA は models/loras、VAE は models/vae です。分割配布のモデルは diffusion_models・text_encoders・vae に分けます。入手は、モデルを作った組織や Comfy Org の公式の配布ページからです。テンプレートを開くと必要なモデルが案内されます。

Q. Stable Diffusion web UIとComfyUIはどちらを使えばよいですか? A. 入力欄に値を入れて生成する形が合うなら web UI、処理の流れを自分で組み替えたい・動画や新しいモデルを使いたい・API から呼びたいなら ComfyUI が向いています。モデルは extra_model_paths.yaml で共有できます。

Q. ComfyUIをアップデートするには? A. ポータブル版は update フォルダの update_comfyui_stable.bat、手動インストールは git pull と pip install -r requirements.txt、デスクトップ版は管理パネルの「アップデート」タブです。Manager は別に更新します。

Q. ComfyUIをAPIで動かせますか? A. 動かせます。API 形式で書き出したワークフローの JSON を POST /prompt に送り、WebSocket か /history で完了を確かめて、/view で画像を受け取ります。「ComfyUIをAPIで実行する」で実物の中身を載せています。

Q. ワークフローを人と共有するには? A. File → Save で保存した JSON を渡すか、生成した PNG をそのまま渡します。PNG を画面にドラッグすると、図と seed がそのまま開きます。足りないカスタムノードは Manager の Install All で入れられます。

まとめ

  • ComfyUI は、ノードをつないだ図で画像・動画などを生成する無料のアプリ。基本の図は Load Checkpoint → CLIP Text Encode → KSampler → VAE Decode → Save Image。
  • 初めてならデスクトップ版(Windows・Mac)。Windows で解凍して使うならポータブル版、Linux は手動インストールか comfy-cli。手動では GPU に合う PyTorch を先に入れる。
  • モデルは models/ の26フォルダのうち、種類に合うフォルダに置く。分割配布のモデルは checkpoints ではなく diffusion_models・text_encoders・vae に分ける。
  • ComfyUI-Manager は別の pip パッケージになり、manager_requirements.txt を入れて --enable-manager で起動する。カスタムノードは Python のプログラムなので、security_level とスナップショットで守る。
  • API は API 形式の JSON を POST /prompt に送る。["4", 1] は「ノード 4 の1番目の出力」。200 は列に入っただけで、完了は WebSocket か /history で確かめる。

参考・出典

確認日はいずれも 2026年10月22日です。

  • ComfyUI(GitHub・README):https://github.com/Comfy-Org/ComfyUI
  • ComfyUI 公式ドキュメント:システム要件:https://docs.comfy.org/ja/installation/system_requirements
  • ComfyUI 公式ドキュメント:手動インストール:https://docs.comfy.org/ja/installation/manual_install
  • ComfyUI 公式ドキュメント:Windows デスクトップ版:https://docs.comfy.org/ja/installation/desktop/windows
  • ComfyUI 公式ドキュメント:macOS デスクトップ版:https://docs.comfy.org/ja/installation/desktop/macos
  • ComfyUI 公式ドキュメント:ComfyUI の更新:https://docs.comfy.org/ja/installation/update_comfyui
  • ComfyUI 公式ドキュメント:ComfyUI-Manager のインストール:https://docs.comfy.org/ja/manager/install
  • ComfyUI 公式ドキュメント:パック管理:https://docs.comfy.org/ja/manager/pack-management
  • ComfyUI 公式ドキュメント:Manager のトラブルシューティング:https://docs.comfy.org/ja/manager/troubleshooting
  • ComfyUI 公式ドキュメント:モデル:https://docs.comfy.org/ja/development/core-concepts/models
  • ComfyUI 公式ドキュメント:KSampler:https://docs.comfy.org/ja/built-in-nodes/KSampler
  • ComfyUI 公式ドキュメント:サーバーのルート:https://docs.comfy.org/ja/development/comfyui-server/comms_routes
  • ComfyUI 公式ドキュメント:ワークフローの API 形式:https://docs.comfy.org/ja/development/api-development/workflow-api-format
  • ComfyUI 公式ドキュメント:インターフェース:https://docs.comfy.org/ja/interface/overview
  • ComfyUI 公式ドキュメント:設定:https://docs.comfy.org/ja/interface/settings/comfy
  • ComfyUI 公式ドキュメント:トラブルシューティング:https://docs.comfy.org/ja/troubleshooting/overview
  • comfy-cli(PyPI):https://pypi.org/project/comfy-cli/
  • Comfy Cloud 料金:https://www.comfy.org/cloud/pricing
  • Stable Diffusion web UI(GitHub・README):https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • ComfyUI-Impact-Pack:https://github.com/ltdrdata/ComfyUI-Impact-Pack
  • comfyui_controlnet_aux:https://github.com/Fannovel16/comfyui_controlnet_aux
  • ComfyUI-GGUF:https://github.com/city96/ComfyUI-GGUF
  • rgthree-comfy:https://github.com/rgthree/rgthree-comfy

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「ComfyUIとは|インストール・使い方・Manager・APIを解説」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?