search
  1. ソフト・サービス
  2. ComfyUI
  3. ComfyUIのモデルとカスタムノード
  4. ComfyUIのカスタムノードの仕組みと入れ方|入れる前の注意

ComfyUI

ComfyUIのカスタムノードの仕組みと入れ方|入れる前の注意

編集部 読了 約10分

*2026年9月29日に確認した内容です。ComfyUI の公式ドキュメント「カスタムノード」「ComfyUI でのカスタムノードのインストール方法」「ComfyUI-Manager のインストール」「ComfyUI-Manager のトラブルシューティング」と、ComfyUI の公式リポジトリの nodes.py によります。画面は、編集部の PC(Windows 11)のポータブル版(Python ごと1つのフォルダに入った Windows 向けの ComfyUI。ComfyUI v0.37.0・フロントエンド 1.52.7・ComfyUI-Manager 4.2.2・画面の表示は日本語)で撮りました。

カスタムノードは、ComfyUI に初めから入っているノードに無い機能を足す、コミュニティの作者が作ったノードです。入れ方は、ComfyUI-Manager(カスタムノードを探して入れる道具)・Git・ZIP の3つで、どれもノードのプログラムを ComfyUI/custom_nodes のフォルダに置き、要る Python のパッケージを入れます。ほかの人が作ったプログラムを動かすことになるので、公式ドキュメントは、入れる前に作者と中身を確かめるよう注意しています。

カスタムノードは組み込みに無い機能を足すノード

ComfyUI を入れると、初めから多くのノードが入っています。公式ドキュメントでは、これらを Comfy Core のノードと呼び、ComfyUI の公式が手入れしているとしています。

カスタムノードは、ComfyUI のコミュニティのいろいろな作者が作ったノードです。公式ドキュメントでは、高度な画像の処理・機械学習のファインチューニング(学習し直して調整すること)・色の調整などの新しい機能を足す拡張としています。公開されているカスタムノードは、公式のレジストリ(公開されているカスタムノードを登録した一覧。registry.comfy.org)で探せます。

カスタムノードは、ComfyUI/custom_nodes のフォルダに、1つのカスタムノードにつき1つのフォルダで置きます。ComfyUI は起動するときにこのフォルダを読み、中のノードをノードの一覧に足します。

入れる前に確かめること

公式ドキュメントは、カスタムノードを入れる前に慎重に確かめるよう注意しています。ComfyUI はオープンソースで、悪意のあるプログラムをカスタムノードとして配ることもできるからです。公式ドキュメントが挙げている注意は、次の3つです。

  1. 信頼できる作者のものや、コミュニティで広く使われているカスタムノードだけを入れる
  2. 入れる前にカスタムノードの機能を知り、出どころの分からないものを避ける
  3. はっきりしないものや疑わしいものを入れない。確かめられていないものは、PC の安全が損なわれる危険につながることがある

公式ドキュメントは、入れる前に、カスタムノードの README(使い方を書いたファイル)を読み、入れ方・使い方・要るモデル・パッケージの版・よくある問題の直し方を知っておくことも勧めています。

ComfyUI-Manager には、危険のある操作を止めるセキュリティのレベルがあります。公式ドキュメントでは、レベルと、操作ごとの危険の度合いを次のように分けています。

レベル止める操作
strong危険が高い操作と中くらいの操作
normal危険が高い操作
normal-起動の引数 --listen に 127. で始まらないアドレスを付けて起動しているときだけ、危険が高い操作
weak止めない
危険の度合い操作
高いGit の URL から入れる・pip install・既定のチャンネルに無いカスタムノードを入れる・カスタムノードを直す
中くらい外す・更新する・既定のチャンネルのカスタムノードを入れる・スナップショット(入れているものの状態を保存したもの)を戻す・消す・再起動する
低いComfyUI を更新する

レベルは、ComfyUI-Manager の設定のファイル config.ini の security_level に書かれています。編集部のポータブル版では、ComfyUI\user\__manager\config.ini にあり、security_level = normal でした。公式ドキュメントによると、Git の URL から入れようとして「This action is not allowed with this security level configuration」のエラーが出るのは、このレベルで止められたときです。

ComfyUI-Managerで入れる

公式ドキュメントは、カスタムノードを ComfyUI-Manager で入れることを勧めています。入れる作業が自動で進み、要るパッケージも入り、画面で操作できるからです。ただし、レジストリに無いカスタムノードは、ComfyUI-Manager では探せません。

Comfy Desktop(ComfyUI のデスクトップアプリ)では、ComfyUI-Manager は初めから有効です。ポータブル版では、ComfyUI-Manager の使うパッケージを入れ、起動の引数(起動のコマンドの後ろに付ける指定)--enable-manager を付けて起動すると有効になります。手順は、「ComfyUI-Manager|カスタムノードの管理」の記事で解説しています。

編集部のポータブル版では、有効にしたあと、画面の上に「拡張機能の管理」のボタンが出ました。押すと「カスタムノードマネージャ」の画面が開き、上の検索の欄にカスタムノードの名前を入れると、当てはまるノードパック(1つのカスタムノードのまとまり)が並びます。

カスタムノードマネージャの画面で「GGUF」と検索し、ComfyUI-GGUFなどのノードパックのカードに「インストール」のボタンが並んだところ
「GGUF」で探したところ。カードに、ノードの数・版・更新日・作者・ダウンロード数が出る(ComfyUI-Manager 4.2.2・v0.37.0)

カードの「インストール」を押すと、カスタムノードが入ります。公式ドキュメントによると、入れたあとは ComfyUI を再起動します。ComfyUI-Manager の画面の使い方は、「ComfyUI-Manager|カスタムノードの管理」の記事で解説しています。

Gitで入れる

レジストリに無いカスタムノードや、決まった版が要るときは、Git(プログラムの版を管理する道具)で入れます。PC に Git が入っている必要があり、ターミナル(コマンドを打つ画面)で git --version を実行すると、入っているかを確かめられます。公式ドキュメントの手順は、次のとおりです。

  1. カスタムノードの GitHub のページで「Code」のボタンを押し、HTTPS のリンクをコピーする
  2. ターミナルで、ComfyUI の custom_nodes のフォルダに移る。ポータブル版を D:\ComfyUI_windows_portable に置いたときは、次のとおり
    cd D:\ComfyUI_windows_portable\ComfyUI\custom_nodes
    
  3. コピーしたリンクで git clone を実行する
    git clone <コピーしたリンク>
    
  4. 要るパッケージを入れる(次の「依存するパッケージを入れる」の見出しの手順)
  5. ComfyUI を再起動し、ブラウザの画面を読み込み直す。起動の記録に import failed のエラーが出ていないかを見る

公式ドキュメントでは、Git で入れる方法の欠点を、Git の知識が要ること、パッケージを手で入れること、入れるときの危険があること、としています。

ZIPで入れる

Git も ComfyUI-Manager も使えないときは、ZIP のファイルで入れます。公式ドキュメントでは、この方法は Git の版の記録が無くなり、あとで版を変えられないため、勧めないとしています。手順は、次のとおりです。

  1. カスタムノードの GitHub のページで「Code」→「Download ZIP」を押す
  2. ダウンロードした ZIP のファイルを展開する
  3. 展開したフォルダを、ComfyUI の custom_nodes のフォルダにコピーする
  4. 要るパッケージを入れる(次の見出しの手順)
  5. ComfyUI を再起動し、ブラウザの画面を読み込み直す

編集部の PC には Git が入っていないため、ComfyUI-GGUF(GGUF のモデルを読むカスタムノード)は、この方法でポータブル版に入れました。展開したフォルダを ComfyUI\custom_nodes\ComfyUI-GGUF に置き、次の見出しの手順でパッケージを入れました。再起動すると、ノードの一覧に ComfyUI-GGUF のノードが出ました。

依存するパッケージを入れる

カスタムノードの多くは、動くのに要る Python のパッケージ(部品)の一覧を、フォルダの中の requirements.txt に書いています。ComfyUI-Manager で入れたときは、このパッケージも自動で入ります。Git や ZIP で入れたときは、手で入れます。

公式ドキュメントによると、ComfyUI は、ほかと分けた自分の Python の環境で動いています。ふつうのターミナルで pip install -r requirements.txt を実行すると、PC に入っている別の Python にパッケージが入ることがあります。そうなると、ComfyUI の側ではパッケージが足りないままになり、カスタムノードが動きません。そこで、ComfyUI の Python で入れます。

ポータブル版では、ComfyUI のフォルダと並ぶ python_embeded のフォルダの Python を使います。ComfyUI_windows_portable のフォルダでターミナルを開き(フォルダの中の右クリックのメニューから開ける)、次のコマンドを実行します。

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\<カスタムノードのフォルダ名>\requirements.txt

Comfy Desktop では、アプリの中のターミナルで、次のコマンドを実行します。

pip install -r .\custom_nodes\<カスタムノードのフォルダ名>\requirements.txt

編集部は、ポータブル版で ComfyUI-GGUF の requirements.txt を入れました。入れる前と後のパッケージの一覧を比べると、増えたのは gguf と protobuf の2つでした。パッケージの版どうしがぶつかったときに起きることは、「ComfyUIの依存関係|PythonとPyTorchのパッケージ」の記事で解説しています。

止める・外す・版を変える

ComfyUI のプログラム(v0.37.0 の nodes.py)では、custom_nodes の中で、名前が .disabled で終わるフォルダを読まずに飛ばします。編集部は、ComfyUI-GGUF のフォルダの名前を ComfyUI-GGUF.disabled に変えて ComfyUI を再起動し、ComfyUI-GGUF のノードが一覧から消えることを確かめました。

公式ドキュメントでは、カスタムノードを外す方法と一時的に止める方法の項目は、2026年9月29日の時点で「更新予定」で、中身がまだ書かれていません。ComfyUI-Manager では、画面からカスタムノードを外したり止めたりできます。

Git で入れたカスタムノードは、Git で版を変えられます。公式ドキュメントの手順は、次のとおりです。

  1. ターミナルで、カスタムノードのフォルダに移る
    cd <ComfyUI のフォルダ>/ComfyUI/custom_nodes/<カスタムノードのフォルダ名>
    
  2. git tag を実行して、版の一覧を出す
  3. git checkout <版の名前> を実行して、その版に変える。決まったコミット(Git が記録した変更の1回分)に変えるときは、git checkout <コミットのハッシュ> を実行する
  4. 版によって要るパッケージが変わることがあるので、上の「依存するパッケージを入れる」の手順でパッケージを入れ直す

ComfyUI-Manager でも版を変えられます。公式ドキュメントによると、要るパッケージの更新も ComfyUI-Manager がします。変えたあとは、ふつう ComfyUI の再起動が要ります。ZIP で入れたカスタムノードは、この方法では版を変えられません。

カスタムノードを入れたあとに ComfyUI が動かなくなったときの調べ方は、「ComfyUIがうまく動かないときの切り分け|カスタムノードを外した確認」の記事で解説しています。自分でカスタムノードを作る方法は、公式ドキュメントの「カスタムノードの開発」にあります。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい