Nodes/Forbidden Vision/Forbidden Vision 🎯 Fixer Mask Only
ComfyUI Node

Forbidden Vision 🎯 Fixer Mask Only

Just the masks — the Fixer's detector, without the fixing

By luxdelux7·Created about a year ago·Updated about a month ago· 101
Forbidden Vision 🎯 Fixer Mask Only
  • image
  • face_masks
face_selection0
enable_segmentationtrue
detection_confidence0.8
sampling_mask_blur_size21
sampling_mask_blur_strength1.0

Fixer Mask Only is the Forbidden Vision pack stripped to its essential value: the trained face detection and segmentation models, with a single output - a mask. No sampling, no blending, no prompt handling. If you've already got an inpainting setup you like, this node is the cleanest way to hand it face masks that actually follow facial contours instead of a YOLO bounding box.

What it does

It runs the same two custom models as the flagship Fixer: a YOLO11 detector to find faces and a segmentation model to trace each one precisely - eyebrows, eyelashes, facial hair included. The output face_masks is a MASK you can wire into any mask-based inpainting or compositing node. That's the whole node: image in, masks out.

The few settings that exist

  • face_selection - 0 returns masks for all detected faces; 1 targets the first, 2 the second, and so on.
  • enable_segmentation - on by default and you want it on. Off, the node falls back to a simple oval mask from the bounding box, which is the "why is my mask just an oval?" complaint you'll see in the pack's release thread. If you're getting ovals while it's enabled, the segmentation model didn't load - check that timm is installed and your dependencies didn't conflict.
  • detection_confidence - default 0.8. Drop it toward 0.5-0.6 for heavily stylized art or very small faces that the detector is unsure about; raise it if you're getting false positives.
  • sampling_mask_blur_size (default 21) and sampling_mask_blur_strength - the feather applied to mask edges. Set blur size to 0 or 1 for a hard-edged mask. A soft edge is your friend for inpainting (it prevents a visible boundary); a hard edge is what you want if you're going to reuse the mask for a matte.

Why you'd use it

Three reasons, roughly in order of how often they come up. First, you're already happy with an existing inpaint node and just want better face masks than your current detector produces - the masks are the hard part, and these are trained for anime, realistic, and adult content alike. Second, you want a quick visual check of what the detector sees before committing to a full Fixer pass. Third, you want the mask before generation - to drive a ControlNet or to composite something.

There's a catch worth knowing if you were hoping to reuse the detection model elsewhere: the segmentation model was trained in tandem with the detector, so the author explicitly doesn't recommend swapping in other YOLOs. This node is the sanctioned way to get just the segmentation output. It's a small utility, but it's the pack's own answer to the question "how do I get the mask without the node doing everything?"

CategoryForbidden Vision

Inputs (6)

NameTypeDefaultDescription
imageIMAGEInput image for face mask detection.
face_selectionINT00–200=All faces, 1=1st face, 2=2nd face, etc.
enable_segmentationBOOLEANtrueUse AI segmentation. If disabled, creates oval masks.
detection_confidenceFLOAT0.80.1–1Face detection confidence threshold.
sampling_mask_blur_sizeINT210–101Blur kernel size for the output mask. 0 or 1 = no blur.
sampling_mask_blur_strengthFLOAT1.00.1–6Controls blur sigma relative to kernel size.

Outputs (1)

NameTypeDescription
face_masksMASK