単体のノードではなく複数のノードをまとめておいて、あらゆるワークフロー作成時でも呼び出せたら便利じゃないだろうか?
今回はその方法。
例えば私は次のようなノードを良く組む
これはComfyUIのバッチカウントを使って1枚ずつ画像を読み込んでは処理、読み込んでは処理...というときによく使う。
今回はこれをまとめて1つのオリジナルノードとして保存し、あらゆるプロジェクトで読み込めるようにしたい。
ComfyUI Managerがインストールされている必要がある。
https://github.com/ltdrdata/ComfyUI-Manager
順番に解説
ctrl+マウスドラッグでノードを範囲選択できる。
これでまとめたいノードを全部選択。
選択されているノードどれでもいいので右クリックしConvert to Group Node
を選択
そうするとこのグループに名前をつける欄が表示されるので自由に設定する。
これでオリジナルノードが完成するがこのままだと再読み込みで消えてしまう。
このノードを右クリックしてSave As Component
をクリック
するとComfyUI-Manager: Component Builder
が表示される。
このときPrefix
(接頭辞)とVersion
は必須のようで、これらが入力されていないと保存できない。
あとはSave
を押せばOK。
赤文字が表示されてびっくりするが、これは保存できているメッセージ。
検索で出せるようになっている。
ここからはやらなくても良い作業。
しかし、私の場合このオリジナルノードで「使わない設定」が多数あり、これを非表示にしたい。
ノードを右クリックしManage Group Node
次の設定が表示されるはず
いらない入力のVisible
をオフにする。
表示名を変えることができる。
Number
を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枚めから読み込まれてしまうので注意。