KJNodes の「マスク」ノード 37 個を1つずつ実行し、37 個とも動きました(FloatToMask は pandas という部品を入れてから)。
KJNodes 以外のカスタムノードを止めた ComfyUI で、ComfyUI に最初から入っているノードと組み合わせて試しています。ノードごとに、実際に動かしたときの画面を載せました。
試した環境と条件は末尾の「検証メモ」へ。KJNodes の入れ方は ComfyUI のカスタムノードの入れ方を見てください。
全260個を7本に分けて紹介している
ComfyUI-KJNodes(KJNodes)は、ComfyUI の公式の登録所でいちばんダウンロードされているカスタムノードで、入れると 260 個のノードが増えます。この記事はシリーズの②回目です。
全260ノードを、やりたいこと・ノード名から探すには KJNodes 完全ガイド(総合索引)へ。
| 回 | 分類 | 記事 |
|---|---|---|
| ① | 画像 | KJNodesの使い方① |
| ② | マスク | この記事 |
| ③ | テキスト・数値・その他・ループ | KJNodesの使い方③ |
| ④ | ラテント・ノイズ・サンプリング・座標 | KJNodesの使い方④ |
| ⑤ | モデル・LoRA・メモリ・高速化 | KJNodesの使い方⑤ |
| ⑥ | 動画モデル用 | KJNodesの使い方⑥ |
| ⑦ | 音声・非推奨 | KJNodesの使い方⑦ |
ノード名は、画面に出る英語の名前(または中身の名前)で書いています。ノードライブラリで名前を入れると見つかります。スクリーンショットの「プレビュー任意」は、数値や文字を表示するための ComfyUI の標準のノードです。
マスクを作る
CreateShapeMask
円・四角・三角の形のマスクを作ります。frames と grow を使うと、1枚ごとに形が大きくなる動画用のマスクにもなります。
試したこと:512×512 の中央に、直径 200 の円のマスクを作りました。白い部分がマスクです。

CreateShapeMaskOnPath
座標の位置に図形のマスクを置きます。座標が何点かあれば、1点ずつのバッチになります。画面には [DEPR] と表示される古い版。画像版の CreateShapeImageOnPath(画像の記事で紹介)があります。
試したこと:3つの座標に四角のマスクを置き、3枚のバッチになりました。座標は標準の PrimitiveString からつないでいます。

CreateTextOnPath
座標の位置に文字を描いた画像とマスクを作ります。
試したこと:「KOBO Lab」を中央に描き、文字の画像とマスクが出ました。

CreateGradientMask
左から右へ明るくなるグラデーションのマスクを作ります。frames を増やすと、動くグラデーションのバッチになります。
試したこと:256×256・4フレームで作りました。

CreateFadeMaskAdvanced
フレームごとの明るさを「番号:(値)」の形で決めて、だんだん変わるマスクのバッチを作ります(作者の説明では、Fizz の BatchValueSchedule と同じ書き方)。
試したこと:初期値(0番目は 0.0、7番目は 1.0、15番目は 0.0)のまま 8 フレーム作り、だんだん白くなるマスクができました。

CreateFluidMask
流体(煙や水のような動き)の模様の画像とマスクを作ります。
試したこと:256×256・4フレームで作り、模様の画像とマスクが出ました。

CreateMagicMask
ゆらゆら動く模様のマスク(とその反転)のバッチを作ります。
試したこと:256×256・4フレームで作りました。

CreateVoronoiMask
ボロノイ図(点ごとに区切った網目)の模様のマスクを作ります。点が少しずつ動くバッチになります。
試したこと:256×256・4フレームで作り、網目の線のマスクができました。

FloatToMask
数値の大きさ(0〜1)を、その明るさの1色のマスクに変えます。数値の並びを渡すと、その数だけのバッチになります。
試したこと:標準の PrimitiveFloat から 0.6 を渡し、灰色(60%)のマスクができました。なお、このノードは pandas という部品を使います。筆者の試験用の環境には入っておらず、最初は「No module named ‘pandas’」のエラーになりました。pandas を入れると動きました。

ColorToMask
画像の中から、指定した色に近い部分をマスクにします。
試したこと:白(255, 255, 255)・threshold 60 で、絵の中の白っぽい部分(服や窓の光)がマスクになりました。

マスクを広げる・動かす・整える
GrowMaskWithBlur
マスクを広げたり縮めたりして、ふちをぼかします。動画用に、フレームごとに広げる量を増やすこともできます。
試したこと:顔のマスクを 40 広げ、ぼかし 20 をかけました。ふちがなめらかになりました。

OffsetMask
マスクの位置をずらしたり、回したりします。
試したこと:x 150・y -100 ずらし、20 度回しました。

ResizeMask
マスクの大きさを変えます。
試したこと:縦横の比を保って 256×256 に合わせ、マスクと幅・高さの数値が出ました。

RemapMaskRange
マスクの明るさの範囲を、指定した最小値〜最大値に詰め直します。
試したこと:min 0.3・max 0.7 にすると、黒は灰色に、白は薄い灰色になりました。

RoundMask
マスクを白か黒の2色(0 か 1)にそろえます。
試したこと:グラデーションのマスクに使うと、半分が白・半分が黒にはっきり分かれました。最初は CreateGradientMask を frames 0 にしてつないだため、空のマスクになってエラー。frames を 1 にすると動きました。

BlockifyMask
マスクをブロック(四角のマス目)単位の形にします。
試したこと:円のマスクを block_size 32 で、カクカクした形にしました。

ConsolidateMasksKJ
バッチになった何枚かのマスクを、指定の大きさのまとまりにまとめます。
試したこと:4フレームのマスクを 512×512 にまとめました。

SeparateMasks
1枚のマスクの中の、離れた白い部分を、それぞれ別のマスクに分けます。
試したこと:白い四角が2つあるマスクを、box モードで2枚のマスクに分けました。

MaskBatchMulti
何枚かのマスクを1つのバッチにまとめます。
試したこと:2つのマスクを1つのバッチにしました。

GetMaskSizeAndCount
マスクの幅・高さ・枚数を数値で取り出します。
試したこと:顔のマスクから、幅 832・高さ 1216・枚数 1 が出ました。

FilterZeroMasksAndCorrespondingImages
バッチの中から空の(真っ黒の)マスクを取り除き、対応する画像も一緒に分けます。取り除いた番号も出します。
試したこと:絵と真っ黒な画像を1つのバッチにしてマスクにし、空でないマスクの画像と、取り除いた番号が出ました。

画像とマスクを合わせて見る
DrawMaskOnImage
マスクの部分を、指定した色で画像の上に塗ります。
試したこと:顔のマスクの部分を、ピンク(255, 0, 128)で塗りました。

ImageAndMaskPreview
画像の上にマスクを半透明で重ねて表示します。pass_through をオンにすると、重ねた画像を次のノードへ渡します。
試したこと:水色(0, 200, 255)・不透明度 0.6 で重ねました。

マスクで切り抜く・元に戻す
BatchCropFromMask
マスクの範囲を、バッチの1枚ずつから切り抜きます。動画で使うときに、切り抜く位置がガタつかないよう、なめらかにする設定もあります。
試したこと:顔のマスクで切り抜き、切り抜いた画像(200×240)と、幅・高さの数値が出ました。マスク(400×480)より小さく、髪のあたりが切り抜かれました。切り抜く大きさの決まり方は、今回は調べていません。

BatchCropFromMaskAdvanced
BatchCropFromMask に、切り抜いたマスクや、全体をまとめた範囲なども出力するようにしたものです。
試したこと:切り抜いた画像と、切り抜いたマスクが出ました。

BatchUncrop
切り抜いた画像を、元の画像の同じ位置に戻します。ふちのなじませ方も選べます。
試したこと:顔を切り抜いて色を反転し、元の位置に戻しました。

BatchUncropAdvanced
BatchUncrop に、マスクの形で戻す設定などを足したものです。
試したこと:Advanced の切り抜きの出力をそのままつなぎ、色を反転した顔を元の位置に戻しました。

BboxToInt
切り抜いた範囲(BBOX)を、x・y・幅・高さ・中心の位置などの数値にします。
試したこと:顔の範囲から、6つの数値が出ました。

BboxVisualize
切り抜いた範囲(BBOX)を、画像の上に四角い線で描きます。
試したこと:顔の範囲を、太さ 6 の線で描きました。

SplitBboxes
範囲(BBOX)のリストを、指定した番号で2つに分けます。
試したこと:index 0 で分け、2つのリストが出ました(今回は範囲が1つだけなので、片方は空)。

文字でマスクを作る(CLIPSeg)
DownloadAndLoadCLIPSeg
CLIPSeg(文字で指定したものの場所を見つけるモデル)をダウンロードして読み込みます。作者の説明では、ComfyUI\models\clip_seg に保存されます。
試したこと:Kijai/clipseg-rd64-refined-fp16 を選んで実行すると、初回は自動でダウンロードされました。BatchCLIPSeg につなぎ、「book」と指定すると、本の部分がマスクになりました。

BatchCLIPSeg
文字で指定したもの(例:hair)の場所をマスクにします。モデルをつながない場合も、自動で読み込まれます。
試したこと:「hair」・threshold 0.3 で、髪の部分がマスクになりました。下のプレビューは、マスクの部分だけを残した画像です。

範囲ごとにプロンプトを分ける(条件付け)
ConditioningSetMaskAndCombine
2つのプロンプトを、それぞれ別のマスクの範囲に効かせます。作者の説明では、ComfyUI 標準の「マスクで条件付けを設定する」と「条件付けを合わせる」のノードをまとめたもので、働きは同じです。
試したこと:Illustrious XL v2.0 で、左半分に「赤い紅葉の森」、右半分に「青い海」のプロンプトを効かせ、1024×768 を作りました。左が赤い森、右が青い空と海の絵になりました(結果は下の画像)。


ConditioningSetMaskAndCombine3
上のノードの、プロンプトが3つの版です。
試したこと:1536×768 を縦に3つに分け、赤い森・青い海・緑の草原を効かせました(結果は下の画像の1段目)。

ConditioningSetMaskAndCombine4
プロンプトが4つの版です。
試したこと:4つに分け、黄色い砂漠を足しました(結果は下の画像の2段目)。

ConditioningSetMaskAndCombine5
プロンプトが5つの版です。
試したこと:5つに分け、紫の夜空を足しました(結果は下の画像の3段目)。分ける数が増えると、1つの範囲がせまくなり、境目もはっきりしにくくなりました(筆者の見立て)。


ConditioningMultiCombine
何個かの条件付け(プロンプトを読み込んだもの)を、1つにまとめます。combine(合わせる)か concat(つなげる)を選べます。
試したこと:「笑顔の女の子」と「図書館・窓の光」の2つをまとめて生成しました。まとめた数(2)も出力されました。

つまずいたのは pandas と空のマスク
FloatToMask は pandas という部品を使いますが、筆者の試験用の環境には入っていませんでした。入れると動きました。
RoundMask などにつなぐマスクが空(0枚)だとエラーになります。CreateGradientMask の frames を 0 にすると、この空のマスクができました。
ConditioningSetMaskAndCombine は、範囲ごとに違うプロンプトを効かせられます。ただ、分ける数を増やすほど、1つの範囲はせまくなる。座標でマスクを作るノードは、座標を標準の PrimitiveString からつないで使いました。
最初の試しで人物のプロンプトを範囲ごとに分けたところ、既存のキャラクターに似た絵が出たため、記事では風景のプロンプトで作り直しました。
よくある質問(FAQ)
Q. KJNodes のマスクのノードはいくつありますか?
筆者の環境(ComfyUI-KJNodes 1.5.2)では、「マスク」に分類されているノードが 37 個でした(マスクの作成・条件付けの小分類を含む)。
Q. KJNodes で画面の左右に別のプロンプトを効かせるには?
ConditioningSetMaskAndCombine を使います。左半分と右半分のマスクを用意し、それぞれのプロンプトとマスクをつなぐと、範囲ごとに別のプロンプトが効きます。3〜5個に分けたいときは、ConditioningSetMaskAndCombine3〜5 の出番です。
Q. KJNodes で文字からマスクを作るには?
BatchCLIPSeg を使います。text に「hair」などと書くと、その部分がマスクになります(モデルは初回に自動でダウンロードされます)。
Q. FloatToMask で「No module named ‘pandas’」と出ます
pandas という部品が入っていません。ポータブル版なら、python_embeded\python.exe -m pip install pandas で入れると動きました(筆者の環境)。
Q. マスクを広げてふちをぼかすには?
GrowMaskWithBlur を使います。expand で広げる量、blur_radius でぼかす量を決めます。
まとめ
- KJNodes の「マスク」ノードは 37 個。マスクを作る・整える・切り抜く・文字で作る・範囲ごとにプロンプトを分ける、が中心
- 37 個すべてを実際に動かして確かめた。FloatToMask は pandas が必要だった
- 範囲ごとにプロンプトを分ける ConditioningSetMaskAndCombine は、標準のノードをまとめたもの
検証メモ
- 「動いた」は、この環境で実行して結果が出たという意味です。ほかの版や設定での動きは確かめていません。
- ノードの数は、筆者の環境(ComfyUI-KJNodes 1.5.2)で数えたものです。
- 「いちばんダウンロードされている」は、公式の登録所の2026年10月27日のデータです。
参考にした資料
- ComfyUI-KJNodes(GitHub・作者のリポジトリ)
- 各ノードの説明は、ComfyUI の画面に表示される作者の説明(ノードの DESCRIPTION)をもとにしました

