Nodes/comfyui-mudknight-utils/Nested Detailer (full-pipe)
ComfyUI Node

Nested Detailer (full-pipe)

The two-pass face-and-eyes fixer that plays nice with pipes

By mudknight·Created 8 months ago·Updated 2 months ago· 1
Nested Detailer (full-pipe)
  • full_pipe
  • full_pipe
  • image
  • detailed_faces
face_model
eyes_pair_model
eye_single_model
threshold0.50
cfg1.5
samplereuler_ancestral_cfg_pp
scheduleralign_your_steps
face_steps20
face_denoise0.40
face_scale1.5
eye_steps20
eye_denoise0.40
eye_scale1.5
upscale_method
max_megapixels1.5
feather0.20
context_padding0.10

If you're building a mudknight-utils workflow around the full-pipe convention, this is the detailing node that slots in without breaking the chain. It's the pipe version of Nested Detailer: one full_pipe in, a pipe with a detailed image out, no need to wire model, VAE, conditioning, and seed individually.

The mechanism is the hierarchical two-pass detail loop that makes Nested Detailer worth reaching for. First a YOLO detector finds faces and runs a sampling pass on them at ~1MP, then a second detection runs inside the freshly detailed face to find eyes and gives them their own pass - all before compositing back to the original. Because FastDetailer-style nodes always scale crops to 1MP, doing the eye pass on the already-scaled face crop keeps the eye detail intact instead of losing it to a downscale in between. The pack author's docs put it plainly: upscale → sample → downscale → upscale → sample → downscale is wasteful, and this node skips the middle.

The inputs that matter

The full_pipe carries your image, model, VAE, conditioning, and seed - so the node's required inputs are just the three detectors (face_model, eyes_pair_model, eye_single_model), the shared threshold, and the two sampling groups. face_steps / face_denoise / face_scale control the face pass; eye_steps / eye_denoise / eye_scale control the eye pass. face_scale and eye_scale default to 1.5 (how much the crop is upscaled before sampling), max_megapixels caps the crop size at 1.5MP by default, and feather / context_padding govern the blend back into the original.

Outputs are full_pipe (image written back in), image (the composite, for direct preview), and detailed_faces (the eye-detailed face crops, handy for confirming the second pass actually found eyes).

One trap: since the image comes from the pipe, the node errors if the pipe has no image in it. Make sure a FullPipeIn or a loader put one there before this node runs.

Installing it

Same requirements as every detailer in this pack: ComfyUI Manager (search comfyui-mudknight-utils) or:

cd ComfyUI/custom_nodes
git clone https://github.com/mudknight/comfyui-mudknight-utils

plus ComfyUI-Impact-Pack and ComfyUI-Impact-Subpack installed, because the YOLO detection runs on Impact's UltralyticsDetectorProvider. Without the Subpack you won't have the detector models, and the node will sit there doing nothing.

Where people get burned

It's two full sampling passes per render, so it's the priciest node in this pack's detailer family - on modest GPUs, budget for it. And the usual detail-pass caveat applies harder here: eye-level improvement is often invisible at normal viewing size, so use this node when eyes are actually broken, not as a default "make it better" button. If you only need faces, the single-pass FastDetailer full-pipe node costs half the GPU time and you won't miss the eyes on most renders.

Categorymudknight/detailer

Inputs (18)

NameTypeDefaultDescription
full_pipeFULL_PIPE
face_modelCOMBO1 options: bbox/face_yolov8m.pt
eyes_pair_modelCOMBO1 options: bbox/face_yolov8m.pt
eye_single_modelCOMBO1 options: bbox/face_yolov8m.pt
thresholdFLOAT0.500–1Detection threshold for all models
cfgFLOAT1.50–100
samplerCOMBOeuler_ancestral_cfg_pp44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBOalign_your_steps10 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +4
face_stepsINT201–10000
face_denoiseFLOAT0.400–1
face_scaleFLOAT1.50.1–2Amount to upscale cropped region before sampling. Higher values create more detailed images.
eye_stepsINT201–10000
eye_denoiseFLOAT0.400–1
eye_scaleFLOAT1.50.1–2Amount to upscale cropped region before sampling. Higher values create more detailed images.
upscale_methodCOMBO5 options: lanczos, bilinear, bicubic, area, nearest-exact
max_megapixelsFLOAT1.50.1–10Maximum size in megapixels for upscaled images
featherFLOAT0.200–1Percentage of image to feather when uncropping
context_paddingFLOAT0.100–1Percentage of image to use for context from edge

Outputs (3)

NameTypeDescription
full_pipeFULL_PIPE
imageIMAGE
detailed_facesIMAGE