2024-02-27

既存ノードを組み合わせてオリジナルノードを作る!別ワークフローで再読み込み可能!【ComfyUI】

いつも使う組み合わせのノードの組み合わせをオリジナルノードとして保存、いつでも読み込んで使えるようにする。

Article Image

ワークフローの一部を保存して再利用したい

単体のノードではなく複数のノードをまとめておいて、あらゆるワークフロー作成時でも呼び出せたら便利じゃないだろうか?

今回はその方法。

今回の例

例えば私は次のようなノードを良く組む

バッチノード

これはComfyUIのバッチカウントを使って1枚ずつ画像を読み込んでは処理、読み込んでは処理...というときによく使う。

今回はこれをまとめて1つのオリジナルノードとして保存し、あらゆるプロジェクトで読み込めるようにしたい。

前提

ComfyUI Managerがインストールされている必要がある。

https://github.com/ltdrdata/ComfyUI-Manager

やり方

順番に解説

1. ctrl+マウスドラッグで範囲選択

ctrl+マウスドラッグでノードを範囲選択できる。

これでまとめたいノードを全部選択。

選択されている画面

2. ノードを右クリックしてConvert to Group Node

選択されているノードどれでもいいので右クリックしConvert to Group Nodeを選択

Convert to Group Nodeメニュー

そうするとこのグループに名前をつける欄が表示されるので自由に設定する。

名前例

3. オリジナルノードは保存する必要あり

オリジナルノード外観

これでオリジナルノードが完成するがこのままだと再読み込みで消えてしまう。

このノードを右クリックしてSave As Componentをクリック

Save As Component外観

するとComfyUI-Manager: Component Builderが表示される。

このときPrefix(接頭辞)とVersionは必須のようで、これらが入力されていないと保存できない。

必須項目

あとはSaveを押せばOK。

赤文字が表示されてびっくりするが、これは保存できているメッセージ。

赤文字

検索で出せるようになっている。

検索画面

ノードの設定を調整する

ここからはやらなくても良い作業。

しかし、私の場合このオリジナルノードで「使わない設定」が多数あり、これを非表示にしたい。

非表示にしたい項目

設定画面を出す

ノードを右クリックしManage Group Node

Manage Group Node外観

表示設定を変更

次の設定が表示されるはず

設定画面

  1. 縦列:このノードの中に入っているノード
  2. 横列:Inputsは左の入力ピン、Widgetsはノード内で設定する項目、Outputsは右側の出力ピン

Inputs,widget,outputs例

いらない入力のVisibleをオフにする。

非表示できない項目あり

よくわかってないのだが、非表示に出来ない項目があることを確認。

上の例ではnumber_as_textのInputを消すことができなかった。

設定の表示名を変える

表示名を変えることができる。

NumberReset Bool(INT)に変えてみる。

Reset Bool(INT)に変えた

保存に注意

最後Saveボタンで保存するのだが、上のセレクトボックスを開けるとノードが2個で認識されている。

上のセレクトボックス

よくわからないのだが、Prefixありなしで2個になるらしい。

こちら両方でSaveしておかないと設定が反映されないノードが残るので注意。

完成

これでオリジナルノードが完成した。

完成

別のワークフローでも検索から呼び出せる。

ノードを消したい

Manage group Nodes画面の左下のDelete Group Nodeボタンから削除可能。

おまけ:このノードの使い方

このノードはComfyUI側のバッチ(Queue Promptを何度もクリックしたときと同じ)で1回実行されるごとに1枚ずつ順番に画像が読み込まれる。

Reset Boolに1を入れて実行すると先頭のファイルに戻るので、やり直したい場合はこれで1回実行した後Reset Boolを0に戻してバッチ数を入れて実行する。

start-1を入れないと2枚めから読み込まれてしまうので注意。



この記事のタグ

この記事をシェア


謎の技術研究部 (謎技研)