ComfyUI は活発に開発中であるため、ここでの一部の詳細は古くなっている可能性があります。変更点に気づかれた場合は、ドキュメントの更新にご協力ください。
ノードは操作を実行する
コンピュータサイエンスにおいて、ノード は情報のコンテナであり、通常は何らかのタスクを実行するためのプログラムされた命令を含みます。ノードが孤立して存在することはほとんどなく、ネットワーク化されたグラフ内で他のノードと接続されていることがほとんどです。ComfyUI では、ノードは互いに接続されたボックスの視覚的な形を取ります。 ComfyUI ノードは通常関数演算子です。これは、何らかのデータを操作して関数を実行することを意味します。関数は入力データを受け取り、それに対して何らかの操作を実行し、出力データを生成するプロセスです。つまり、ノードは何らかの作業を行い、画像生成などのタスクの完了に貢献します。したがって、ComfyUI ノードはほとんど常に少なくとも 1 つの入力または出力を持ち、通常は複数の入力と出力を持ちます。異なるノードの状態
ComfyUI では、ノードには複数の状態があります。以下にいくつかの一般的なノードの状態を示します:- 通常状態 (Normal State): デフォルトの状態
- 実行中状態 (Running State): 実行中の状態。通常、ワークフローの実行を開始した後、ノードが実行されているときに表示されます
- エラー状態 (Error State): ノードエラー。通常、ワークフロー実行後にノードの入力に問題がある場合に表示され、エラーのある入力ノードが赤色でマークされます。ワークフローが正しく実行されるように、問題のある入力を修正する必要があります
- 欠落状態 (Missing State): この状態は通常、ワークフローをインポートした後に表示され、2 つの可能性があります:
- Comfy Core ネイティブノードの欠落:これは通常、ComfyUI が更新されたが、古いバージョンの ComfyUI を使用しているために発生します。この問題を解決するには ComfyUI を更新する必要があります
- カスタムノードの欠落:ワークフローがサードパーティ製作者によって開発されたカスタムノードを使用していますが、ローカルの ComfyUI バージョンにこれらのカスタムノードがインストールされていません。ComfyUI Manager を使用して欠落ノードを見つけてインストールできます。または カスタムノードのインストール方法 でその他の方法もご確認ください
ノード間の接続
ComfyUI では、ノードはリンクを通じて接続され、同じタイプのデータが異なる処理ユニット間を流れて最終結果を達成できます。 各ノードは何らかの入力を受け取り、そのモジュールを通じて処理し、対応する出力に変換します。異なるノード間の接続はデータタイプの要件に準拠する必要があります。ComfyUI では、異なる色を使用してノードのデータタイプを区別します。以下にいくつかの基本的なデータタイプを示します:
ComfyUI の進化に伴い、より多くのシナリオのニーズに応えるために、より多くのデータタイプに拡張する可能性があります。
ノードの接続と切断
接続: 1 つのノードの出力ポイントから、別のノードの同じ色の入力にドラッグして接続します 切断: 入力エンドポイントをクリックしてマウスの左ボタンをドラッグして切断するか、リンクの中点メニューを通じて接続をキャンセルしますノードの外観
ノードの外観をカスタマイズするためのさまざまなスタイル設定を提供しています:- スタイルの変更
- ノードタイトルをダブルクリックしてノード名を変更
- 任意の角をドラッグしてノードのサイズを変更
ノードバッジ
複数のノードバッジ表示機能を提供しています。例えば:- ノード ID
- ノードソース
ノードのコンテキストメニュー
ノードのコンテキストメニューは主に 2 つのタイプに分かれています:- ノード自体のコンテキストメニュー
- 入力/出力のコンテキストメニュー
ノードのコンテキストメニュー
ノードを右クリックすることで、対応するノードのコンテキストメニューを展開できます: ノードの右クリックコンテキストメニューでは、以下が可能です:- ノードのカラースタイルを調整
- タイトルを変更
- ノードをクローン、コピー、または削除
- ノードのモードを設定
- モード (Mode): ノードのモードを設定:Always、Never、Bypass
モード
モードについては、現在提供されているものが:Always、Never、On Event、On Trigger - の 4 つのモードであることに気づくかもしれませんが、実際にはAlwaysとNeverのみが有効です。On EventとOn Triggerは、この機能を完全に実装していないため、現在は無効です。さらに、Bypassもモードとして理解できます。以下に利用可能なモードの説明を示します:- Always: デフォルトのノードモード。ノードは、初めて実行される場合、または最後の実行以降に入力のいずれかが変更された場合に実行されます
- Never: ノードはいかなる状況下でも実行されず、削除されたかのように動作します。後続のノードはそこからデータを読み取ったり受け取ったりできません
- Bypass: ノードはいかなる状況下でも実行されませんが、後続のノードはこのノードによって処理されていないデータを取得しようとすることができます
NeverモードとBypassモードの比較です:
この比較例では、両方のワークフローが同時に 2 つの LoRA モデルを適用していることがわかります。違いは、一方のLoad LoRAノードがNeverモードに設定され、もう一方がBypassモードに設定されていることです。
Neverモードに設定されたノードは、後続のノードが入力データを受け取らないため、エラーを表示しますBypassモードに設定されたノードは、後続のノードが未処理のデータを受け取ることができるため、最初のLoad LoRAノードからの出力データを読み込み、後続のワークフローが正常に実行され続けます
入力/出力のコンテキストメニュー
このコンテキストメニューは、対応する入力/出力のデータタイプと主に関連しています: ノードの入力/出力をドラッグする際、接続が表示されますが、他のノードの入力または出力に接続していない場合、マウスを離すと入力/出力のコンテキストメニューがポップアップ表示され、関連するタイプのノードをすばやく追加するために使用されます。 設定でノードの提案数を調整できます:ノード選択ツールボックス
ノード選択ツールボックス (Node Selection Toolbox) は、ノードのクイック操作を提供するフローティングツールです。ノードを選択すると、選択されたノードの上にホバーします。このツールボックスを通じて、以下が可能です:- ノードの色を変更
- ノードを Bypass モードにすばやく設定(実行時に実行しない)
- ノードをロック
- ノードを削除
サブグラフ
選択したノード群をひとつの再利用可能なサブグラフノードにまとめることができます。複雑なキャンバスを整理したり、同じ構造を複数のワークフローで使い回すのに便利です。サブグラフ
サブグラフの作成・編集、ネスト、ノードライブラリへのブループリント公開について
カスタムノード
ComfyUI には基本インストールに多数の Comfy Core ノードが含まれています。コミュニティは カスタムノードのカタログ でさまざまな用途向けの拡張ノードを公開しています。 カスタムノードのインストール方法(ComfyUI Manager、Git クローン、ZIP ダウンロード、依存関係の処理、安全に関するヒントなど)の概要については、カスタムノードのインストール方法 を参照してください。ComfyUI Manager
日常的なカスタムノード管理には ComfyUI Manager が便利です。レジストリからの検索・インストール、パッケージの更新や無効化、インポートしたワークフローの欠落ノード検出、モデルやスナップショットの管理などが行えます。デスクトップ版は通常デフォルトで有効になっています。ポータブル版や手動インストール環境では、先に有効化する手順が必要な場合があります。ComfyUI Manager
機能概要・有効化手順・ノードインストールのワークフロー