WAS Node Suite - ComfyUI
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
WAS Node Suite - ComfyUI - WAS#0263
ComfyUIは、Stable Diffusionを活用した高度なノードベースUIです。画像の後処理や変換などのカスタムワークフローを作成できます。
ComfyUI用のノード セット。画像処理、テキスト処理など、多数の新規ノードを備えています。
ワークフローを共有する。できればワークフローを埋め込んだPNG形式で、JSON形式でも可。こちらのツールでPNGファイルにワークフローを簡単に追加できます
重要な更新情報
[更新日 5/29/2023]
ASCIIは非推奨です。新しいテキストノード出力の推奨方法はSTRINGです。ASCIIからSTRINGに変更することで、渡されるデータがより明確になります。was_suite_config.jsonは自動的にuse_legacy_ascii_textをfalseに設定します。
動画ノード - 新たに
Write to VideoとCreate Video from Pathの2つの動画ノードが追加されました。これらは実験的なノードです。
現在のノード:
BLIP画像分析:画像からテキストキャプションを取得する、または質問をもとに画像を調査する。
モデルはデフォルトURLから自動ダウンロードされますが、
was_suite_configで別のダウンロード先やキャプションモデルを指定できます。モデルは
ComfyUI/models/blip/checkpoints/に保存されます。
SAMモデルローダ:SAMセグメンテーションモデルを読み込む。
SAMパラメータ:画像のセグメンテーションに使用するSAMパラメータを定義する。
SAMパラメータ結合:SAMパラメータを結合する。
SAM画像マスク:SAMによる画像マスク。
画像の境界:画像の境界を設定。
画像境界のインセット:画像の境界を内側にずらす。
境界画像混合:境界画像を合成。
マスク付きの境界画像混合:マスクで境界画像を合成。
境界画像のクロップ:境界画像をクロップ。
マスク付きの境界画像クロップ:マスクで境界画像をクロップ。
キャッシュノード:Latent、Tensorバッチ(画像)、Conditioningをディスクにキャッシュし、後で利用する。
CLIPTextEncode (NSP):NSPパントリーからヌードルスープを解析する、またはA1111スタイルのワイルドカードを含むディレクトリからワイルドカードを解析する。
ワイルドカードは
__filename__の形式で、__appearance/haircolour__のようにサブディレクトリも含めることが可能(noodle_keyが__に設定されている場合)。was_suite_config.jsonファイルでカスタムワイルドカードパスを設定できます:"wildcards_path": "E:\\python\\automatic\\webui3\\stable-diffusion-webui\\extensions\\sd-dynamic-prompts\\wildcards"パスが設定されていない場合、ワイルドカードディレクトリはWAS Node Suiteのルート(
/wildcards)にあります。
条件入力スイッチ:2つの条件入力の間を切り替える。
固定数
グリッド画像作成:指定された場所に画像グリッドを作成し、カスタム可能なグロブパターンで作成。オプションでボーダーサイズと色を選択可能。
モルフ画像作成:2つの画像間でフェードするGIF/APNGアニメーションを作成。
パスからのモルフ画像作成:画像を含むディレクトリへのパスからGIF/APNGアニメーションを作成。オプションでパターン指定可能。
パスからの動画作成:指定されたパスから画像を使用して動画を作成。
CLIPSegマスク:CLIPSegを使用して画像にマスクを適用し、元のマスクを返す。
CLIPSegマスクバッチ:画像入力からバッチ画像とバッチマスクをCLIPSegで作成。
辞書をコンソールに出力:入力された辞書をコンソールに表示。
画像分析
ブラック・ホワイトレベル
RGBレベル
matplotlibに依存。初回起動時にインストールを試行します。
Diffusers Hubダウンローダ:HuggingFace HubからDiffusersモデルをダウンロードしロードする。
画像バッチ:複数のバッチテンソルから1つのバッチを作成する。
空白画像作成:任意の色で空白画像を作成。
マスクによる画像合成:マスクを使用して2つの画像を合成。
不透明度による画像合成:不透明度で2つの画像を合成。
合成モードによる画像合成:様々な合成モードで2つの画像を合成。
画像ブルームフィルター:ハイパスベースのブルームフィルターを適用。
画像カニーフィルター:カニーフィルターを画像に適用。
画像色収差:サイエンスフィクション映画、映画館、ゲームで見られるようなコンシックな色収差レンズ効果を画像に適用。
画像カラーパレット:
入力画像に基づいて色パレットを生成。
scikit-learnに依存。初回起動時にインストールを試行します。
カラー範囲 8-256 をサポート。
./res/フォルダー内のフォントを使用(利用不可の場合は内部の最低限で使用できるフォント)。
顔のクロップ:画像から顔を切り抜く。
制限事項:
誤って生成された画像、または斜めの顔では顔が検出されないことがある。
パディングが大きすぎて画像の端に重なる場合、クロップが真っ黒になることがある。パディングサイズを小さくしてみてください。
face_recognitionモードは、ランダムなものを顔と認識することがある。また[CUDA]GPUが必要。1つの顔しか検出しない。使いやすさのためのデザイン選択。
注意点:
- 検出は逐次的に行われる。選択された検出カスケードで何も見つからなかった場合、次の利用可能なカスケードファイルを試みる。
画像位置クロップ:画像のX/Y座標で指定された、上、左、右、下の位置に合わせて画像をクロップ。
クロップ位置:X/Y中心座標から、その点を中心に正方形のクロップを行う。
画像変位ワープ:指定された振幅で、変位マップ画像により画像を歪める。
画像ドラガンフォトグラフィフィルター:アンドレイ・ドラガンのフォトグラフィスタイルを画像に適用。
画像エッジ検出フィルター:画像内のエッジを検出。
画像フィルムグレイン:フィルムグレインを画像に適用。
画像フィルター調整:画像に各種調整を適用。
画像フリップ:画像を水平または垂直に反転。
画像グラデーションマップ:グラデーションマップを画像に適用。
グラデーションマップ生成:希望のストップと色でグラデーションマップを生成。
画像ハイパスフィルター:ハイフリクエンシーパスを画像に適用し、詳細情報を返す。
画像履歴ローダ:Load Image Batchノードに基づいて履歴から画像をロード。configファイルで最大履歴数を定義可能。(再起動が必要です)
画像入力スイッチ:2つの画像入力の間を切り替える。
画像レベル調整:画像のレベルを調整。
画像ローダ:システム内の任意のパスか、
httpで始まるURLから画像をロード。画像メディアンフィルター:画像にメディアンフィルターを適用し、表面のディテールを滑らかにする。
画像RGBチャンネルミックス:RGBチャンネルを組み合わせて単一の画像にする。
画像モニター効果フィルター:画像に各種モニター効果を適用。
デジタル変形
- デジタル崩壊の変形効果。
シグナル変形
- CRTモニターのような垂直バンド上のアナログ信号変形効果。
TV変形
- TVスキャンラインと漏れ変形効果。
画像ノヴァフィルター:正弦周波数を使用して画像をRGB周波数に分割する画像。
画像パーリンノイズ:パーリンノイズを生成。
画像パーリンパワー分形:パーリンパワー分形を生成。
顔クローンの貼り付け:顔クロップを元の位置とサイズに戻す。
- GFPGAN/CodeFormerより優れたブレンド機能を備えているため、目立つ継ぎ目がなく、Diffusion結果と組み合わせるとGFPGAN/CodeFormerより見た目が良い。
クロップの貼り付け:
crop_dataノード入力を使用し、画像クロップ(例:Image Crop Location)を元の位置とサイズに戻す。Image Paste Face Cropとは異なるブレンドアルゴリズムを使用し、特定の状況で好ましい場合がある。画像パワーノイズ:パワー則ノイズを生成。
frequency:周波数パラメータは、異なる周波数におけるノイズの分布を制御。フーリエ解析の文脈では、高い周波数は細部や高周波成分を表し、低い周波数は粗い細部や低周波成分を表す。周波数パラメータを調整すると生成されたノイズのテクスチャとディテールのレベルが異なります。具体的な範囲や意味はノイズタイプによって異なります。attenuation:減衰パラメータはノイズの強さまたは強度を決定。ノイズ値が平均値または中心値からどれだけずれるかを制御。高い減衰値はより大きなばらつきと強いノイズの存在をもたらし、低減衰値はより滑らかで目立たないノイズになります。具体的な範囲と解釈はノイズタイプによって異なります。noise_type:生成するパワー則ノイズの種類(白、灰色、ピンク、緑、青)。
位置による画像クロップの貼り付け:カスタム位置にクロップを貼り付ける。Image Paste Cropと同じブレンドアルゴリズムを使用。
画像ピクセル化:画像をピクセルアートにする!最大色数、ピクセル化モード、ランダムステート、最大イテレーションを指定し、ランダムな色を発生させる。
画像背景除去(アルファ):しきい値と許容範囲で画像の背景を除去。
画像特定色除去:画像から特定の色を削除し、別の色に置き換える。
画像リサイズ
画像回転:画像を回転。
画像保存:フォーマットとパスに対応した画像保存ノード。(バグ:画像を表示しない)
画像シームレステクスチャ:オプションのタイリングで画像からシームレステクスチャを作成。
画像チャンネル選択:RGB画像の単一チャンネルを選択。
画像色選択:選択された画像を黒キャンバス上に表示。
画像阴影とハイライト:画像のシャドウとハイライトを調整。
画像サイズから数値:入力画像の
widthおよびheightをnumberノードで使用できるように取得。画像ステッチ:異なる側に画像をステッチ。間にオプションのフェザー合成を適用。
画像スタイルフィルター:PilgramでInstagramのようなフィルターで画像をスタイル化。
pilgramモジュールに依存。
画像しきい値:画像の指定されたしきい値範囲を返す。
画像タイル分割:画像をタイルバッチに分割。Tensor Batch to Imageと組み合わせてバッチから個別のタイルを選択可能。
画像転置
画像fDOFフィルター:画像に仮の被写界深度効果を適用。
画像からlatentマスク:画像をlatentマスクに変換。
画像からノイズ:画像をノイズに変換。初期ブレンドやテーマ拡散の初期入力に有用。
画像からシード:画像を再現可能なシードに変換。
画像ボロノイノイズフィルター:
- ウォールリ・ボロノイノイズ図のカスタム実装。
入力スイッチ(
*ワイルドカード修正まで無効)KSampler (WAS):ノード入力としてシードを受け入れるサンプラー。
キャッシュの読み込み:キャッシュされたLatent、Tensorバッチ(画像)、Conditioningファイルを読み込む。
テキストファイルの読み込み
ファイル名やカスタム入力をもとに辞書を出力するようにサポート。
辞書にはファイル内のすべての行のリストが含まれます。
バッチ画像の読み込み
フォルダー内の画像を順次インクリメント、またはバッチから1枚の画像を取得。
パスやパターンが変更された場合、位置をリセット。
パターンはグロブを使用可能。
**/*でディレクトリとサブディレクトリ内のすべてのファイルを取得できる。*.jpgで指定ディレクトリ内のJPEG画像のみを選択可能。
マスクから画像:
MASKをIMAGEに変換。マスクバッチからマスク:マスクバッチから単一のマスクを返す。
マスク反転:マスクを反転。
マスク加算:マスクを加算。
マスク減算:別のマスクから減算。
マスクの主要領域:マスク内の主要領域(最大領域)を返す。
マスクの少数領域:マスク内の最小領域(最小領域)を返す。
任意領域マスク:サイズ入力に最も近い領域を返す(サイズはピクセルの直接表現ではないが、近似)。
マスク平滑化領域:マスクの境界を平滑化。
マスクエロージョン:マスクの境界をエロード。
マスクダイレート:マスクの境界をダイレート。
マスク補填:マスク内の穴を補填。
マスクセイル領域:オフセット範囲内の白ピクセルのみを返す。
マスクフロア領域:最も下のピクセル値を白(255)に返す。
マスクしきい値領域:黒値と白値の間のしきい値画像を適用。
マスクガウシアン領域:マスクにガウシアンぼかしを適用。
マスク結合:2つ以上のマスクを1つのマスクに結合。
マスクバッチ結合:バッチ化されたマスクを1つのマスクに結合。
ComfyUIローダ:モデルをロードする際にモデル名を含む文字列も出力するComfyUIローダのセット。
ラテンノイズ注入:ラテン画像にラテンノイズを注入。
ラテンサイズから数値:テンソルの幅・高さ
因子によるラテン拡大:ラテン画像を指定された倍率で拡大。
ラテン入力スイッチ:2つのラテン入力の間を切り替える。
論理ブール:論理で使用する簡単な
1または0の出力。MiDaS深度近似:単一の入力画像の深度近似を生成。
MiDaSマスク画像:希望の色でMiDaSを使用して入力画像にマスクを適用。
数値操作
数値からシード
数値から浮動小数点
数値入力スイッチ:2つの数値入力の間を切り替える。
数値入力条件:2つの入力間、またはA入力と比較。
数値から整数
数値から文字列
数値からテキスト
ランダム数値
テキストファイルの保存:テキスト文字列をファイルに保存。
シード:シードを返す。
テンソルバッチから画像:後処理のあるフィルターでトランジットバッチ内の単一画像を選択。
テキストトークン追加:ファイル名やその他のテキストにパースするカスタムトークンを追加。
入力によるテキストトークン追加:1行の名前と値を表す入力でカスタムトークンを追加。
テキスト比較:2つの文字列を比較。一致するか、類似度スコア、類似度または差分のテキストを返す。
テキスト連結:2つの文字列を結合。
テキスト辞書更新:2つの辞書をマージ。
テキストファイル履歴:以前に開いたテキストファイルを表示。(再起動が必要)
テキスト検索と置換:文字列内のサブ文字列を検索し、置換。
辞書によるテキスト検索と置換:ASCIIテキスト入力内のサブ文字列を辞書で置換。
- 辞書のキーは置換に使用され、それらに含む行リストはシードに基づいてランダムに選択される。
テキスト入力スイッチ:2つのテキスト入力の間を切り替える。
テキストリスト:テキスト文字列のリストを作成。
テキスト連結:文字列のリストを結合。
マルチラインテキスト:複数行のテキスト文字列を入力。
テキストA1111埋め込みパース:プロンプト内の埋め込みファイル名を、
/ComfyUI/models/embeddings/のファイルに基づいてembedding:[filename]]形式に変換。テキストNSPプロンプトパース:テキスト入力内のNSPを解析。
テキストトークン解析:テキスト内のカスタムトークンを解析。
ランダム行選択:テキスト入力文字列からランダムな行を選択。
テキスト文字列:単一行のテキスト文字列値を入力。
テキストから条件:テキスト文字列を条件に変換。
本物のランダム.org数値生成:Random.orgから大気ノイズを使用した真のランダム数をオンラインで生成。
モルフGIFへの書き込み:既存のGIF(または新規作成)に新しいフレームを書き込み、フレーム間の補間を行う。
動画への書き込み:生成中にフレームを動画に書き込み(FFV1を使用すると損失のない画像がおすすめ)。
オプションノード
- CLIPTextEncode (BlenderNeko Advanced + NSP):BlenderNekoのAdvanced CLIP Text Encodeがインストールされている場合にのみ利用可能。そのAdvanced CLIPTextEncodeでNSPとワイルドカードの利用を可能にする。
動画ノード
コーデック
was_suite_config.json に四文字識別子(1文字列)と適切なコンテナ拡張子を追加して、ffmpegバイナリで利用可能なコーデックを使うことができます。
例 H264 コーデック(デフォルト)
"ffmpeg_extra_codecs": {
"avc1": ".mp4",
"h264": ".mkv"
}
メモ
いったん、私は動画ノードでWindowsインストールのみをサポートしています。
- MacまたはスタンドアロンLinuxディストリビューションにアクセスしていません。実際に動いた場合、PRでパッチや手順を共有していただけると助かります。
動画ノードはFFMPEGが必要です。あなたのシステム用に適切なFFMPEGバイナリをダウンロードし、設定ファイルでFFMPEGのパスを設定してください。
さらに、H264コーデックを使用するには、OpenH264 1.8.0をダウンロードして、ComfyUIのルート(例:
C:\ComfyUI_windows_portable)に置いてください。FFV1は無効なコンテナを警告します。無視して大丈夫です。生成されたMKVファイルは読み取り可能。この問題の原因はまだ不明です。ドキュメントではMKVを使用すべきとありますが、サポートされていないと報告しています。
- これを解決できる方法をご存知でしたら、プルリクエストを歓迎します。
Write to Videoノードは、損失が少ない動画コーデックを使用するか、フレームのコピー中に再圧縮することで、最初のフレームが実行ごとに指標的に破損します。
テキストトークン
テキストトークンは、Save Text FileおよびSave Imageノードで使用できます。Text Add Tokensノードで独自のカスタムトークンを追加することもできます。
トークン名は: 文字を除く任意の名前で定義できます。正規表現も可能。
組み込みトークン
[time]
- 現在のシステムミクロタイム。
[time(
format_code)]ヒューマンリーダブル形式の現在のシステム時間。datetimeフォーマットを使用。
例:
[hostname]_[time]__[time(%Y-%m-%d__%I-%M%p)]は SKYNET-MASTER_1680897261__2023-04-07__07-54PM を出力。
[hostname]
- ComfyUIを実行しているシステムのホスト名。
[user]
- ComfyUIを実行しているユーザー。
その他の機能
AUTOMATIC1111 WebUIスタイルのインポート
最新のWAS Node Suiteビルドを使用すると、was_suite_config.jsonファイルが生成されます(存在しない場合)。このファイルでA1111スタイルのインポートを設定できます。
ComfyUIを実行して、新しい
/custom-nodes/was-node-suite-comfyui/was_Suite_config.jsonファイルを生成。was_suite_config.jsonファイルをテキストエディタで開く。webui_styles値をNoneから、'styles.csv'と呼ばれるA1111スタイルファイルへのパスに置き換え。Windowsパスではダブルバックスラッシュを使うこと。- 例
C:\\python\\stable-diffusion-webui\\styles.csv
- 例
ComfyUIを再起動。
Prompt Styles Nodeでスタイルを選択。- 最初のASCII出力はポジティブプロンプト、2番目のASCII出力はネガティブプロンプト。
webui_styles_persistent_update を true に設定すると、ComfyUIの起動ごとにWAS Node SuiteのスタイルをWebUIから更新します。
推奨インストール:
LinuxまたはWindowsの管理者権限がないアカウントで実行している場合、/ComfyUI/custom_nodes、was-node-suite-comfyui、WAS_Node_Suite.pyに書き込み権限があることを確認してください。
/ComfyUI/custom_nodes/フォルダーに移動。git clone https://github.com/WASasquatch/was-node-suite-comfyui/を実行。was-node-suite-comfyuiフォルダーに移動。ポータブル/venv:
path/to/ComfUI/python_embeded/python.exe -m pip install -r requirements.txtを実行。
システムPythonを使用:
pip install -r requirements.txtを実行。
ComfyUIを起動。
WAS Suiteは自動的にレガシーノードをアンインストールします。
ツールはWAS Suiteメニューにあります。
代替インストール:
LinuxまたはWindowsの管理者権限がないアカウントで実行している場合、/ComfyUI/custom_nodes と WAS_Node_Suite.pyに書き込み権限があることを確認してください。
WAS_Node_Suite.pyをダウンロード。/ComfyUI/custom_nodes/フォルダーに移動。WAS Node Suiteは依存関係を自動でインストールしようとしますが、手動でインストールが必要な場合があります。必要な依存関係は、このリポジトリの
requirements.txtにあります。上記のインストール手順を参照してください。ComfyUIを起動、または再起動。
WAS Suiteは自動的にレガシーノードをアンインストールします。
ツールはWAS Suiteメニューにあります。
この方法では、画像の顔クロップノードに必要なリソースはインストールされないため、./res/フォルダーを自分でダウンロードする必要があります。
Colabでのインストール
新しいセルを作成し、以下のコードを追加してセルを実行。custom_nodesフォルダーのパスを編集する必要があるかもしれません。こちらのColabホストも利用できます。
!git clone https://github.com/WASasquatch/was-node-suite-comfyui /content/ComfyUI/custom_nodes/was-node-suite-comfyuiColabランタイムを再起動(切断しないでください)。
- ツールはWAS Suiteメニューにあります。

