Nodes/ComfyUI Fooocus Nodes/Fooocus preDetailerFix
ComfyUI Node

Fooocus preDetailerFix

The detailer's control room, twenty knobs deep

By Seedsa·Created 3 years ago·Updated 2 years ago· 102
Fooocus preDetailerFix
  • pipe
  • bbox_segm_pipe
  • sam_pipe
  • optional_image
  • pipe
guide_size384
guide_size_fortrue
max_size1024
seed0
steps20
cfg8.00
sampler_name
scheduler
denoise0.50
feather5
noise_masktrue
force_inpainttrue
drop_size10
wildcard
cycle1

The Fooocus detailerFix node rescues faces, but it doesn't decide how. This node decides. Fooocus preDetailerFix is the settings side of the pack's detailing pipeline - all the knobs that control what gets detected, how it's cropped, and how the fix pass samples - packaged as a config node whose output pipe feeds the detailerFix node. If you've used Impact Pack's FaceDetailer, this will feel like old friends with worse names.

What it configures

  • guide_size (384) and max_size (1024) - the crop sizing: how big the detected region is brought up to before the fix pass, and the ceiling. Higher guide_size = more resolution on the face, slower runs.
  • denoise (0.5) - the big one. How much the fix pass rewrites the detected region. 0.3–0.4 keeps it subtle and style-matched; higher changes the face more. This is the dial to reach for when fixes look wrong.
  • steps (20), cfg (8), sampler_name, scheduler - the fix pass's own sampling settings, independent of your main generation.
  • feather (5) - edge blending in pixels, so the fixed region doesn't show a seam. Raise it if you see a border.
  • noise_mask (on), force_inpaint (on), drop_size (10) - inpainting mechanics for the patch. Leave them on; this is the same masked-inpaint logic the pack uses elsewhere.
  • wildcard - an optional prompt template (Impact Pack's {a|b|c} syntax works) so the fix pass can vary its prompt per run.
  • cycle (1) - how many fix passes to run. More cycles = more refinement, more risk of the face drifting into plastic.
  • seed - reproducibility for the fix pass.

Then the two inputs that wire the pipeline together:

  • bbox_segm_pipe - from the Fooocus ultralyticsDetectorPipe; this is what finds the face.
  • sam_pipe - from the Fooocus samLoaderPipe; the segmentation model for precise masking.
  • optional_image - run the fix on a specific image instead of the pipe's current one.

Output: pipe, ready for the detailerFix node to execute.

Installing

Pack install: ComfyUI Manager, search "Fooocus Nodes", or clone the repo. The expensive part is upstream - the detector and SAM pipes pull YOLO and SAM weights on first use, multi-gigabyte downloads if you haven't got them. And one security note worth carrying forward: this detector ecosystem runs on Ultralytics, the package that shipped a cryptominer via a compromised release in December 2024. Keep the pack's deps updated and stay off random detector packages.

The honest take

Twenty inputs looks like a lot, but it's really the standard detect-crop-refine recipe that ADetailer and FaceDetailer use, just laid flat. If you only touch two things, make them denoise (face changes too much? lower it) and guide_size (face still blurry after the fix? raise it). Most of the rest is set-and-forget. The most common beginner mistake is forgetting the whole chain: preDetailerFix configures, but nothing happens until a detailerFix node consumes its pipe with a detector wired in.

CategoryFooocus/Fix

Inputs (19)

NameTypeDefaultDescription
pipePIPE_LINE
guide_sizeFLOAT38464–16384
guide_size_forBOOLEANtrue
max_sizeFLOAT102464–16384
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT8.000–100
sampler_nameCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
schedulerCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3
denoiseFLOAT0.500.0001–1
featherINT50–100
noise_maskBOOLEANtrue
force_inpaintBOOLEANtrue
drop_sizeINT101–16384
wildcardSTRING
cycleINT11–10
bbox_segm_pipeoptPIPE_LINE
sam_pipeoptPIPE_LINE
optional_imageoptIMAGE

Outputs (1)

NameTypeDescription
pipePIPE_LINE