ふぁメモ

主に技術系のメモをしたいけどやっぱり適当日記。たまにPHPコード載ってるけどメモ書き程度のスクリプトなのでそのまま使っちゃダメ。

【ComfyUI】細々としたノードを作る

ComfyUIってツールはノードを線で繋いでいくだけであらゆることができるのですごく自由度が高いんですが、かゆいところに手が届かないんですよね。

まあでもAIやRedditで相談すればだいたいのことは解決できます。

こんなノード作ってる人がいる、こんな使い方がある、こうやって線を繋げばできるよ、みたいなノウハウがいっぱいあります。

ちょっと線がごちゃごちゃしてきたらサブグラフとかテンプレートでまとめてしまえば見た目もスッキリ(見た目だけ)。

いやあの…もっと簡単にできないの?

はい(いつもの)自分で作りましょう。

入力を切り替えるスイッチャ

Lenient Switch

source_a~source_eに入力された何かをpass_if_a~pass_if_eの条件が真の場合に出力します(先勝ち)。

any switch (rgthree)があれば事足りる気はするんですよ。

rgthreeのFast Bypasser、Fast Muter、Fast Groups Bypasserあたりを組み合わせていけば何でもできる気がします。

でもNone判定しかしてくれないので無効にしたい時にNoneになってくれないノードを使う時は前段にも変換ノードやBypasserを挟む必要があります。

perlとかphpみたいに緩い判定で0とか空文字とか空配列とかfalseやnullでもNone判定してくれていいのよ、というのがこのノードの勘所です。

もちろん前段にLogicノードを挟めば解決するけど…。

あ、発動条件をソースがNoneの場合のみじゃなく別の条件を使いたい時にも使えます。

boolトグルのノードを繋いでおけば単純なスイッチにもなります(そのために使うのは大きすぎるが)。

もっとシンプルなスイッチャ

ComfyUIのノードって、ラジオボタンが作れないんですね。

入力5つ、トグルスイッチ5個付けて、どれか1つ有効に、というのができない。

JavaScriptで排他制御を入れる必要があります。

フロントエンド拡張使わない場合はプルダウンか <  1 > みたいなので選ぶしかない。

うーん。じゃあそれでいいです。

あ、選んだ選択肢を出力ファイル名に入れたいのでラベルは出せるようにして。

で、これ。

Simple Selector (Switch)

きっと探せばJavaScriptで排他制御が入ったリッチなトグルノードは見つかるでしょう。でももう探すのが面倒になったのでこれでいいです。

プロンプトの切り替え

少し長いプロンプトを切り替えるのに、JSONファイルとか読み込んで選べるようなノードはあるんだけど、もっと手軽に切り替えたり加筆修正したりできないカナ?

はい、タブ切り替え機能の付いたメモ帳だよ。(実際最近のWindows11のメモ帳はタブ切り替えがついています)

Prompt Tabs

2年前にRedditで立ってたスレッドのまんまなんだけど、リンクされてるノードは何???だかよくわからないので、作ったほうが早かった。

これもラベルをファイル名用に出力できます。

他ノードの値を流用する

ComfyUIのSaveImageノードでprefixとして

%date:yyyy-MM-dd% や %Empty Latent Image.width% などのフォーマット情報を含めて、ノードの値を埋め込むことができます

っていうのがあるのだけど、この仕様がわかりにくい。

画像を読み込むノードで読み込んだファイル名を取得するには、%LoadImage.image% とか指定すればいいんだけど、タイトル変えてたら %画像を読み込む.image% とかになるんだよね。

ComfyUI Lora ManagerのSave Imageノード使うようにしたらモデル名とかは埋め込めるようになったけど逆に画像ファイル名は取れなくなっちゃったよ。

使える書式全部リストにしてそこから選ぶようにして、値を文字列で出してファイル名用に文字列連結とかできるようにしましょう。

Node Value Template

※取得できるのは実行前に画面に表示されている値のみです。実行結果は取得できません。

その他

最近はNodes 2.0のせいでカスタムノードを作ったらクラシックモードとNodes 2.0モードで動作するか確認しなきゃいけなくて面倒だったのだけど、 さらにアプリモードができたのでアプリモードでの使い勝手も検証する必要が生じている。めんどい…。

ただ既存のノードはアプリモードでは使いにくかったりするので、アプリモードでも使いやすいようにしよう、というモチベにはなる。

リンク

github.com

github.com

fa.hatenadiary.jp

6/12追記

プロンプトの切り替え(翻訳機能付き)

Prompt Tabs + translate

プロンプトのメモにGoogle翻訳したバージョンを一緒に保存しておけるようにした。

ボタン押した時だけ翻訳クエリが走るので画像生成の度に無駄クエリは打たない。

ah-kun/ComfyUI-FailSafe-Translate-Nodeキャッシュ増やした版forkも作ったりしたけど↑に統合。

JavaScriptで排他制御が入ったリッチなトグルノード

Simple Selector (Switch) Advanced

選択しなかった入力について(rgthreeの)Fast Groups Bypasserをやりたくなったので結局作った。

プライバシーポリシー |ページトップへ