Nodes/ComfyUI-ArchAi3d-Qwen/🌫️ SEGS Mask Blur
ComfyUI Node

🌫️ SEGS Mask Blur

Feather your tile masks so the seams disappear

By amir84ferdosΒ·Created 11 months agoΒ·Updated 5 months agoΒ· 70
🌫️ SEGS Mask Blur
  • segs
  • bundle
  • segs
β—„mask_blur8β–Ί

Hard-edged mask edges are the enemy of tiled upscaling: each tile gets regenerated with a crisp boundary, you composite them back, and every seam shows as a line. ArchAi3D_SEGS_Mask_Blur is the small utility that fixes that - it applies a Gaussian blur to the masks inside a SEGS structure so tile boundaries feather into each other instead of announcing themselves. The pack's own header comment nails the use case: "Use before DetailerForEach or Smart Tile Detailer for seamless blending."

SEGS is the segmented-region format from Impact Pack (ltdrdata's detect-crop-refine node pack) - the same machinery behind FaceDetailer. Each SEG carries a cropped mask, and this node blurs those masks. The segs output plugs straight back into a detailer, so it slots into the middle of an existing tiling workflow without changing anything else.

The inputs that matter

  • segs - the SEGS to blur. Required.
  • mask_blur - the Gaussian radius, 0–64, default 8. 0 is razor sharp, 8 is soft, 32 is very soft. This is the knob you'll actually tune; start at 8 and increase until seams vanish.
  • bundle - optional SMART_TILE_BUNDLE input. Connect it and the node takes mask_blur from the bundle instead, then clamps it to the bundle's tile_padding so the blur never exceeds the padding and creates artifacts of its own. That clamp is a genuinely thoughtful detail.

Output: a single segs - the same SEGS with blurred masks, ready for the next node.

How it works

Under the hood it's PIL.ImageFilter.GaussianBlur applied to each segment's mask, with the bundle-aware clamp on top. The SEG namedtuple is defined locally for Impact Pack compatibility, so it works whether the SEGS came from Impact Pack proper or from the ArchAi3d pack's own Smart Tile system. It borrows the approach from Ultimate SD Upscale's mask_blur, which is a solid pedigree for "how do we keep tile seams invisible."

Installing it

Part of ComfyUI-ArchAi3d-Qwen (author: Amir Ferdos / ArchAi3d):

# ComfyUI Manager: search "ArchAi3d Qwen"
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt

Restart. No extra models or heavy deps for this node - it's just numpy/PIL.

Common issues

  • Blur too big = halos. Crank mask_blur to 32 and you trade seams for soft fringes where the regenerated tile bleeds over its boundary. The bundle clamp exists precisely to stop this; when not using a bundle, keep the blur modest relative to your tile padding.
  • Blur too small = seams. If you can still see tile lines, your blur is under the tile overlap. Raise it in steps of 4.
  • It needs SEGS upstream. If your workflow doesn't have a SEGS producer (Impact Pack's Make Tile SEGS, or the pack's Smart Tile SEGS), this node has nothing to chew on.

A boring node that quietly prevents the most common tiled-upscale failure. It's the kind of thing you install a pack for and never think about again - which is the point.

CategoryArchAi3d/Mask/Segmentation

Inputs (3)

NameTypeDefaultDescription
segsSEGSSEGS to apply mask blur to
mask_blurINT80–64Gaussian blur radius for mask edges (0=sharp, 8=soft, 32=very soft)
bundleoptSMART_TILE_BUNDLEIf connected, uses mask_blur from bundle

Outputs (1)

NameTypeDescription
segsSEGSβ€”