2
全体公開
ComfyUIで複数のワークフローを使っていて、特定のフロー毎の実行回数を決めている方は居ませんか? 別のワークフローを実行しようとして、前の実行回数のまま実行して焦った事はありませんか? 私は一部のフローで回数を決めて実行するのですが、いちいちバッチ回数を書き換えるのが面倒でした。 ※バッチ回数の矢印をクリックすると、1,2,4,8 と倍々に増えるのも嫌でしたw 1回だけ実行したいのに前のバッチ回数を変更し忘れて焦った事が何回も… そこで考えたのがこのフローです。 ※前に紹介したノードしか使っていませんので、細かい説明は省きます。 画像1:定数とスイッチの組み合わせ&Queue Triggerです。 「実行回数指定」の部分で、テスト実行用の1回と実際に実行したい回数を切り替えられるようになっています。 実行回数にそのフローで実行させたい回数を設定しておけば、フローを読み込んで直ぐに必要回数実行できます。 「緊急停止スイッチ」の部分は、連続生成中にプロンプトのミスや不測の事態で止めたい時のスイッチです。 緊急停止をtrueにするとQueue Triggerのtotalを0にします。 と言っても、即停止する訳では有りません…ComfyUIのバッチ実行キューには2件ほど溜まっていますので、緊急停止スイッチをtrueにしても、実行中の物を含め3回程実行されます。 少しでも早く止めたい場合は、ComfyUIのバッチ停止ボタン(×ボタン)を何度かクリックして下さい。 緊急停止スイッチが不要な場合は、「実行回数指定」の出力を直接 Queue Triggerのtotalに繋いで下さい。 画像2:ノードをサブグラフで纏めると小さく成って場所も取りませんw 必要な項目を表示させておけば使いやすくなります。 これだけで完結しているので、メインのフローの変更は必要ありません。
27
全体公開
ComfyUIのフローで処理を切り替える際に使用するノードにSwitchがあります。 複数の入力の内、1つを選択して次のノードへ送ります。 これにも色々な種類がありますので、使用目的に合わせて合ったものを使って下さい。 画像1にSwitchの例を揚げておきます。 画像2Switchの使い方の前に知っておいて頂きたいノードがあります(画像3)。 ・rgthree-comfy URL: https://github.com/rgthree/rgthree-comfy Fast Groups Bypasser (rgthree) ノードを纏めるのにGroupと呼ばれる枠を使用しますが、そのGroup単位でバイパスさせるノードです。 バイパス状態になるとそのノードは機能せず、データがスルーされます。 また、定数など固定型のデータを持っているノードの場合は何も出さなくなります。 フローの中で処理をパスしたい際に良く使いますので、知っておいて下さい。 詳細は最後で。 1.画像3~画像6は下記Switchを使った例です。 ・rgthree-comfy URL: https://github.com/rgthree/rgthree-comfy Any Switch (rgthree) 入力に対し、any_01から順に有効なデータがある入力が優先されます。 画像4、画像5の様に3番目のデーターが有効でも1番目や2番目が優先されます。 出力のデーター型は、入力に合わせられます。 2.画像7~画像9は下記Switchを使った例です。 ・ComfyUI Impact Pack URL: https://github.com/ltdrdata/ComfyUI-Impact-Pack Switch (Any) 入力の切り替えを「select」に指定する番号で行うタイプのノードです。 入力端子は自動的に増える様になっています。 このノードは一度接続したノードを別のデータ型の接続に使用しないで下さい。 出力端子のデーター型がINTに固定されてINT型以外では使えなく成る場合があります。 使用したノードをコピーペーストしない様にして下さい。 ペーストした時点で何も接続していないのに入力端子が増えていきます。 おそらくバグです。 便利ですが癖が強いので、使用時には注意して下さい。 画像10~画僧13は、1と2を使った応用です。 特定のGroupをバイパスした時に、特定のデーターを使うイメージです。 3.画像14~画像15は下記スイッチを使った例です。 ・ComfyUI標準ノード スイッチ 入力の切り替えを「スイッチ」の「true(真)/false(偽)」で行うタイプのノードです。 切り替え値が2つしか無いので、入力は2つです。 画像16~画像17は、1と3を使った応用です。 4.画像18~画像20は下記Switchを使った例です。 ・JPS Custom Nodes for ComfyUI URL: https://github.com/JPS-GER/ComfyUI_JPS-Nodes Image Switch (JPS) 画像用のSwitchです。 入力の切り替えを「select」に指定する番号で行うタイプのノードです。 画像21~画像23は、1と4を使った応用です。 Switchの機能について簡単に説明しましたが、色々なタイプのSwitchが有りますので、それそれ確認して使って下さい。 ---------------------------------------------------------------------------------------------------------- おまけ Fast Groups Bypasser (rgthree) ノードについて。 このノードは配置した時点で、キャンバス上に存在する全てのGroupをチェックし、一覧で表示します。 しかし、実際に制御したいGroupは特定のGroupに限られますので、対象を絞る必要があります。 その際使用するのが、プロパティです(画像24) ノードを右クリックして表示されるコンテキストメニューから「プロパティ」をクリックすると設定メニューが表示されます。 指定に良く使う物だけ記述します。 matchColors:Groupに設定した色(画像25)を指定します、同じ色のGroupのみノードに表示されます。 matchTitle:Groupに設定したタイトルの部分一致でノードに表示されます。 ※matchColorsとmatchTitleをセットで使うと更に絞り込めます。 sort:ノード上のGroupの表示順を簡易的に指定できます(画像26) position:Groupのキャンバス上の位置で順番が決まります。 alphanumeric:Groupタイトルの文字コード順で決まります。 custam alphbet:ComfyUIの「設定」内の「rgthree」の設定で設定した値に基づきソートされますが、設定のしかたが分かっていませんw toggleRestiction:有効に出来るGroupの最大値を設定できます(画像27) default:基本の設定、全て有効にできます。 max one:最大で1つを有効にできます(全て無効にできます)。 always one:どれか1つを常に有効にできるハズですが…max oneと同様の動きをしています。 バグなのか、私の環境の影響なのかは分かりません。 複数のGroupの内1つだけ有効にしたい場合は、max one か always one に設定して下さい。