KJNodesの使い方②マスクノード37個を全部試した【ComfyUI・2026年版】

ConditioningSetMaskAndCombine で作った画像。左に紅葉の森、右に青い空と海 ComfyUI

この記事について(広告・アフィリエイトリンクはありません。記事の末尾に自作データ集の案内があります)

KJNodes の「マスク」ノード 37 個を1つずつ実行し、37 個とも動きました(FloatToMask は pandas という部品を入れてから)。

KJNodes 以外のカスタムノードを止めた ComfyUI で、ComfyUI に最初から入っているノードと組み合わせて試しています。ノードごとに、実際に動かしたときの画面を載せました。

試した環境と条件は末尾の「検証メモ」へ。KJNodes の入れ方は ComfyUI のカスタムノードの入れ方を見てください。

この記事でわかること

  • KJNodes の「マスク」ノード 37 個の、それぞれの役割と、試した結果
  • FloatToMask で出るエラーと、pandas の入れ方
  • 範囲ごとにプロンプトを分けるノードの効き方(実際に画像を作って確かめた)

全260個を7本に分けて紹介している

ComfyUI-KJNodes(KJNodes)は、ComfyUI の公式の登録所でいちばんダウンロードされているカスタムノードで、入れると 260 個のノードが増えます。この記事はシリーズの②回目です。

全260ノードを、やりたいこと・ノード名から探すには KJNodes 完全ガイド(総合索引)へ。

回分類記事
①画像KJNodesの使い方①
②マスクこの記事
③テキスト・数値・その他・ループKJNodesの使い方③
④ラテント・ノイズ・サンプリング・座標KJNodesの使い方④
⑤モデル・LoRA・メモリ・高速化KJNodesの使い方⑤
⑥動画モデル用KJNodesの使い方⑥
⑦音声・非推奨KJNodesの使い方⑦

ノード名は、画面に出る英語の名前(または中身の名前)で書いています。ノードライブラリで名前を入れると見つかります。スクリーンショットの「プレビュー任意」は、数値や文字を表示するための ComfyUI の標準のノードです。

マスクを作る

CreateShapeMask

円・四角・三角の形のマスクを作ります。frames と grow を使うと、1枚ごとに形が大きくなる動画用のマスクにもなります。

試したこと:512×512 の中央に、直径 200 の円のマスクを作りました。白い部分がマスクです。

KJNodes の CreateShapeMask を ComfyUI で動かした画面
CreateShapeMask を試したときの画面

CreateShapeMaskOnPath

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

試したこと:3つの座標に四角のマスクを置き、3枚のバッチになりました。座標は標準の PrimitiveString からつないでいます。

KJNodes の CreateShapeMaskOnPath を ComfyUI で動かした画面
CreateShapeMaskOnPath を試したときの画面

CreateTextOnPath

座標の位置に文字を描いた画像とマスクを作ります。

試したこと:「KOBO Lab」を中央に描き、文字の画像とマスクが出ました。

KJNodes の CreateTextOnPath を ComfyUI で動かした画面
CreateTextOnPath を試したときの画面

CreateGradientMask

左から右へ明るくなるグラデーションのマスクを作ります。frames を増やすと、動くグラデーションのバッチになります。

試したこと:256×256・4フレームで作りました。

KJNodes の CreateGradientMask を ComfyUI で動かした画面
CreateGradientMask を試したときの画面

CreateFadeMaskAdvanced

フレームごとの明るさを「番号:(値)」の形で決めて、だんだん変わるマスクのバッチを作ります(作者の説明では、Fizz の BatchValueSchedule と同じ書き方)。

試したこと:初期値(0番目は 0.0、7番目は 1.0、15番目は 0.0)のまま 8 フレーム作り、だんだん白くなるマスクができました。

KJNodes の CreateFadeMaskAdvanced を ComfyUI で動かした画面
CreateFadeMaskAdvanced を試したときの画面

CreateFluidMask

流体(煙や水のような動き)の模様の画像とマスクを作ります。

試したこと:256×256・4フレームで作り、模様の画像とマスクが出ました。

KJNodes の CreateFluidMask を ComfyUI で動かした画面
CreateFluidMask を試したときの画面

CreateMagicMask

ゆらゆら動く模様のマスク(とその反転)のバッチを作ります。

試したこと:256×256・4フレームで作りました。

KJNodes の CreateMagicMask を ComfyUI で動かした画面
CreateMagicMask を試したときの画面

CreateVoronoiMask

ボロノイ図(点ごとに区切った網目)の模様のマスクを作ります。点が少しずつ動くバッチになります。

試したこと:256×256・4フレームで作り、網目の線のマスクができました。

KJNodes の CreateVoronoiMask を ComfyUI で動かした画面
CreateVoronoiMask を試したときの画面

FloatToMask

数値の大きさ(0〜1)を、その明るさの1色のマスクに変えます。数値の並びを渡すと、その数だけのバッチになります。

試したこと:標準の PrimitiveFloat から 0.6 を渡し、灰色(60%)のマスクができました。なお、このノードは pandas という部品を使います。筆者の試験用の環境には入っておらず、最初は「No module named ‘pandas’」のエラーになりました。pandas を入れると動きました。

KJNodes の FloatToMask を ComfyUI で動かした画面
FloatToMask を試したときの画面

ColorToMask

画像の中から、指定した色に近い部分をマスクにします。

試したこと:白(255, 255, 255)・threshold 60 で、絵の中の白っぽい部分(服や窓の光)がマスクになりました。

KJNodes の ColorToMask を ComfyUI で動かした画面
ColorToMask を試したときの画面

マスクを広げる・動かす・整える

GrowMaskWithBlur

マスクを広げたり縮めたりして、ふちをぼかします。動画用に、フレームごとに広げる量を増やすこともできます。

試したこと:顔のマスクを 40 広げ、ぼかし 20 をかけました。ふちがなめらかになりました。

KJNodes の GrowMaskWithBlur を ComfyUI で動かした画面
GrowMaskWithBlur を試したときの画面

OffsetMask

マスクの位置をずらしたり、回したりします。

試したこと:x 150・y -100 ずらし、20 度回しました。

KJNodes の OffsetMask を ComfyUI で動かした画面
OffsetMask を試したときの画面

ResizeMask

マスクの大きさを変えます。

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

KJNodes の ResizeMask を ComfyUI で動かした画面
ResizeMask を試したときの画面

RemapMaskRange

マスクの明るさの範囲を、指定した最小値〜最大値に詰め直します。

試したこと:min 0.3・max 0.7 にすると、黒は灰色に、白は薄い灰色になりました。

KJNodes の RemapMaskRange を ComfyUI で動かした画面
RemapMaskRange を試したときの画面

RoundMask

マスクを白か黒の2色(0 か 1)にそろえます。

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

KJNodes の RoundMask を ComfyUI で動かした画面
RoundMask を試したときの画面

BlockifyMask

マスクをブロック(四角のマス目)単位の形にします。

試したこと:円のマスクを block_size 32 で、カクカクした形にしました。

KJNodes の BlockifyMask を ComfyUI で動かした画面
BlockifyMask を試したときの画面

ConsolidateMasksKJ

バッチになった何枚かのマスクを、指定の大きさのまとまりにまとめます。

試したこと:4フレームのマスクを 512×512 にまとめました。

KJNodes の ConsolidateMasksKJ を ComfyUI で動かした画面
ConsolidateMasksKJ を試したときの画面

SeparateMasks

1枚のマスクの中の、離れた白い部分を、それぞれ別のマスクに分けます。

試したこと:白い四角が2つあるマスクを、box モードで2枚のマスクに分けました。

KJNodes の SeparateMasks を ComfyUI で動かした画面
SeparateMasks を試したときの画面

MaskBatchMulti

何枚かのマスクを1つのバッチにまとめます。

試したこと:2つのマスクを1つのバッチにしました。

KJNodes の MaskBatchMulti を ComfyUI で動かした画面
MaskBatchMulti を試したときの画面

GetMaskSizeAndCount

マスクの幅・高さ・枚数を数値で取り出します。

試したこと:顔のマスクから、幅 832・高さ 1216・枚数 1 が出ました。

KJNodes の GetMaskSizeAndCount を ComfyUI で動かした画面
GetMaskSizeAndCount を試したときの画面

FilterZeroMasksAndCorrespondingImages

バッチの中から空の(真っ黒の)マスクを取り除き、対応する画像も一緒に分けます。取り除いた番号も出します。

試したこと:絵と真っ黒な画像を1つのバッチにしてマスクにし、空でないマスクの画像と、取り除いた番号が出ました。

KJNodes の FilterZeroMasksAndCorrespondingImages を ComfyUI で動かした画面
FilterZeroMasksAndCorrespondingImages を試したときの画面

画像とマスクを合わせて見る

DrawMaskOnImage

マスクの部分を、指定した色で画像の上に塗ります。

試したこと:顔のマスクの部分を、ピンク(255, 0, 128)で塗りました。

KJNodes の DrawMaskOnImage を ComfyUI で動かした画面
DrawMaskOnImage を試したときの画面

ImageAndMaskPreview

画像の上にマスクを半透明で重ねて表示します。pass_through をオンにすると、重ねた画像を次のノードへ渡します。

試したこと:水色(0, 200, 255)・不透明度 0.6 で重ねました。

KJNodes の ImageAndMaskPreview を ComfyUI で動かした画面
ImageAndMaskPreview を試したときの画面

マスクで切り抜く・元に戻す

BatchCropFromMask

マスクの範囲を、バッチの1枚ずつから切り抜きます。動画で使うときに、切り抜く位置がガタつかないよう、なめらかにする設定もあります。

試したこと:顔のマスクで切り抜き、切り抜いた画像(200×240)と、幅・高さの数値が出ました。マスク(400×480)より小さく、髪のあたりが切り抜かれました。切り抜く大きさの決まり方は、今回は調べていません。

KJNodes の BatchCropFromMask を ComfyUI で動かした画面
BatchCropFromMask を試したときの画面

BatchCropFromMaskAdvanced

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

試したこと:切り抜いた画像と、切り抜いたマスクが出ました。

KJNodes の BatchCropFromMaskAdvanced を ComfyUI で動かした画面
BatchCropFromMaskAdvanced を試したときの画面

BatchUncrop

切り抜いた画像を、元の画像の同じ位置に戻します。ふちのなじませ方も選べます。

試したこと:顔を切り抜いて色を反転し、元の位置に戻しました。

KJNodes の BatchUncrop を ComfyUI で動かした画面
BatchUncrop を試したときの画面

BatchUncropAdvanced

BatchUncrop に、マスクの形で戻す設定などを足したものです。

試したこと:Advanced の切り抜きの出力をそのままつなぎ、色を反転した顔を元の位置に戻しました。

KJNodes の BatchUncropAdvanced を ComfyUI で動かした画面
BatchUncropAdvanced を試したときの画面

BboxToInt

切り抜いた範囲(BBOX)を、x・y・幅・高さ・中心の位置などの数値にします。

試したこと:顔の範囲から、6つの数値が出ました。

KJNodes の BboxToInt を ComfyUI で動かした画面
BboxToInt を試したときの画面

BboxVisualize

切り抜いた範囲(BBOX)を、画像の上に四角い線で描きます。

試したこと:顔の範囲を、太さ 6 の線で描きました。

KJNodes の BboxVisualize を ComfyUI で動かした画面
BboxVisualize を試したときの画面

SplitBboxes

範囲(BBOX)のリストを、指定した番号で2つに分けます。

試したこと:index 0 で分け、2つのリストが出ました(今回は範囲が1つだけなので、片方は空)。

KJNodes の SplitBboxes を ComfyUI で動かした画面
SplitBboxes を試したときの画面

文字でマスクを作る(CLIPSeg)

DownloadAndLoadCLIPSeg

CLIPSeg(文字で指定したものの場所を見つけるモデル)をダウンロードして読み込みます。作者の説明では、ComfyUI\models\clip_seg に保存されます。

試したこと:Kijai/clipseg-rd64-refined-fp16 を選んで実行すると、初回は自動でダウンロードされました。BatchCLIPSeg につなぎ、「book」と指定すると、本の部分がマスクになりました。

KJNodes の DownloadAndLoadCLIPSeg を ComfyUI で動かした画面
DownloadAndLoadCLIPSeg を試したときの画面

BatchCLIPSeg

文字で指定したもの(例:hair)の場所をマスクにします。モデルをつながない場合も、自動で読み込まれます。

試したこと:「hair」・threshold 0.3 で、髪の部分がマスクになりました。下のプレビューは、マスクの部分だけを残した画像です。

KJNodes の BatchCLIPSeg を ComfyUI で動かした画面
BatchCLIPSeg を試したときの画面

範囲ごとにプロンプトを分ける(条件付け)

ConditioningSetMaskAndCombine

2つのプロンプトを、それぞれ別のマスクの範囲に効かせます。作者の説明では、ComfyUI 標準の「マスクで条件付けを設定する」と「条件付けを合わせる」のノードをまとめたもので、働きは同じです。

試したこと:Illustrious XL v2.0 で、左半分に「赤い紅葉の森」、右半分に「青い海」のプロンプトを効かせ、1024×768 を作りました。左が赤い森、右が青い空と海の絵になりました(結果は下の画像)。

KJNodes の ConditioningSetMaskAndCombine を ComfyUI で動かした画面
ConditioningSetMaskAndCombine を試したときの画面
ConditioningSetMaskAndCombine で作った画像。左に紅葉の森、右に青い空と海
左半分と右半分に別のプロンプトを効かせた結果(Illustrious XL v2.0・1024×768・seed 11)

ConditioningSetMaskAndCombine3

上のノードの、プロンプトが3つの版です。

試したこと:1536×768 を縦に3つに分け、赤い森・青い海・緑の草原を効かせました(結果は下の画像の1段目)。

KJNodes の ConditioningSetMaskAndCombine3 を ComfyUI で動かした画面
ConditioningSetMaskAndCombine3 を試したときの画面

ConditioningSetMaskAndCombine4

プロンプトが4つの版です。

試したこと:4つに分け、黄色い砂漠を足しました(結果は下の画像の2段目)。

KJNodes の ConditioningSetMaskAndCombine4 を ComfyUI で動かした画面
ConditioningSetMaskAndCombine4 を試したときの画面

ConditioningSetMaskAndCombine5

プロンプトが5つの版です。

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

KJNodes の ConditioningSetMaskAndCombine5 を ComfyUI で動かした画面
ConditioningSetMaskAndCombine5 を試したときの画面
プロンプトを3つ・4つ・5つの範囲に分けて作った画像
上から3分割・4分割・5分割(Illustrious XL v2.0・1536×768・seed 11)

ConditioningMultiCombine

何個かの条件付け(プロンプトを読み込んだもの)を、1つにまとめます。combine(合わせる)か concat(つなげる)を選べます。

試したこと:「笑顔の女の子」と「図書館・窓の光」の2つをまとめて生成しました。まとめた数(2)も出力されました。

KJNodes の ConditioningMultiCombine を ComfyUI で動かした画面
ConditioningMultiCombine を試したときの画面

つまずいたのは 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 は、標準のノードをまとめたもの

【自社商品の案内】

この記事で検証したKJNodes全260ノードの結果を、検索できる表(Excel/CSV)と早見PDFにまとめたデータ集を、当サイトのショップで販売しています。記事7本を読み返さなくても、ノード名や「やりたいこと」から引けます。

価格:980円(税込)
BOOTH:KJNodes 全260ノード実測データ集|検索できる表+早見PDF
note:KJNodes 全260ノード実測データ集|検索できる表+早見PDF

※無料記事の内容はこれまでどおり全部読めます。データ集は「探す手間を省く」ためのものです。

検証メモ

この記事の検証環境

Windows 11 / RTX 5090(VRAM 32GB)/ ComfyUI 0.43.0 ポータブル版(試験用)/ ComfyUI-KJNodes 1.5.2(ほかのカスタムノードは停止)/ 「マスク」のノード 37 個を1つずつ試した(すべて動いた) / 2026年10月27日に検証
これまでの検証の一覧はこちら

試した環境(2026年10月27〜28日)

起動オプション --disable-all-custom-nodes --whitelist-custom-nodes comfyui-kjnodes で、KJNodes だけを読み込んで試しました
条件付けのノードは Illustrious XL v2.0 で画像を作って試しました。CLIPSeg のモデルは、ノードの機能で初回に自動でダウンロードされました

  • 「動いた」は、この環境で実行して結果が出たという意味です。ほかの版や設定での動きは確かめていません。
  • ノードの数は、筆者の環境(ComfyUI-KJNodes 1.5.2)で数えたものです。
  • 「いちばんダウンロードされている」は、公式の登録所の2026年10月27日のデータです。

参考にした資料

この記事を書いた人
こまたろ

画像生成 AI に興味を持ったのがきっかけで、3年ほど前から ComfyUI を触っています。始めたころは今ほど情報がそろっておらず、何時間もかけて整えた環境が翌日のアップデートで動かなくなったこともありました。

KOBO Lab は、自分の学び直しと、これから ComfyUI を始める人が同じところでつまずかないようにと思って始めたサイトです。初心者も中級者も、迷ったときに開くサイトを目指しています。

検証は、RTX 5090 を積んだ自作 PC 1台で、実際に動かして確かめています。作業を楽にするための自作ツールも作っています。

記事は、運営者自身の経験と検証をもとに、Claudeで下書きを作り、GrokボットとMuseでも添削や確認をして仕上げています。

KOBO Lab の新しい記事を受け取る
ComfyUIKJNodesカスタムノード
KOBO Lab の新しい記事を受け取る
タイトルとURLをコピーしました