FastMaskDetailer (full-pipe)
Mask-driven detailing without leaving the pipe
- full_pipe
- mask
- image
- full_pipe
- image
- cropped_image
FastMaskDetailer (full-pipe) is the pipe-native version of MaskDetailer: same crop, upscale to 1MP, sample, downscale, and uncrop routine, but the model, VAE, conditioning, seed, and image all come from a FULL_PIPE instead of dangling wires. You hand it the pipe and a mask, and you get back the detailed image and an updated pipe so the chain just continues.
If you're building one of this pack's pipe workflows, this is the node you slot in between the base generation and the save - the author's own SDXL example does generate → upscale → detail, and this is the detail step with the mask. The full-pipe version matters because it reads positive/negative conditioning straight from the pipe, so whatever prompt node you used upstream is what drives the detailing pass. Change the prompt, the detail pass follows.
What you set
- full_pipe and mask - the required pair. The pipe must be carrying
image,model,vae,positive, andnegative, or the node raises a clear error telling you which one is missing. - image (optional) - overrides the pipe's image, same as the other pipe nodes.
- Then the same sampler block as its sibling:
steps(20),cfg(1.5),sampler(euler_ancestral_cfg_pp),scheduler(align_your_steps),denoise(0.4),upscale_method,upscale_model,feather(0.2),context_padding(0.1).
The two to actually think about: denoise (how hard the masked region gets re-rolled - 0.4 is a solid rewrite) and feather (edge blending so the patch doesn't leave a seam).
Outputs
- full_pipe - updated with the final image stored back as
image, so a downstream Save (Full Pipe) picks up the detailed result. - image - the composited final.
- cropped_image - the batched crops, useful for checking your mask.
Installing
Part of the mudknight utils pack, and the detailers require the Impact Pack (MaskToSEGS, SegsToCombinedMask live there). ComfyUI Manager → comfyui-mudknight-utils + ComfyUI-Impact-Pack + ComfyUI-Impact-Subpack, or:
cd ComfyUI/custom_nodes
git clone https://github.com/mudknight/comfyui-mudknight-utils
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack
git clone https://github.com/ltdrdata/ComfyUI-Impact-Subpack
Restart. No extra model files.
Gotchas
- "full_pipe must contain 'image'" - the pipe is empty of an image. Load one (Load Image to Latent full-pipe) or feed the optional
imageinput. - Same for positive/negative - the pipe has no conditioning. You need a prompt node (Prompt full-pipe or Simple Prompt) upstream before the detailer, otherwise there's nothing to sample with.
- Silent no-op - an empty mask yields no SEGS and the node returns the original image unchanged. Draw a real mask.
- Impact Pack missing → "Node not found" style failures at load time. It's a hard dependency here, not optional.
Zero comfy.icu impressions - you almost certainly found this inside a shared full-pipe workflow. That's the honest audience: it only makes sense if you're already committed to the pipe style, in which case it's the natural way to do targeted detailing.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| full_pipe | FULL_PIPE | — | |
| mask | MASK | — | |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 1.50–100 | — |
| sampler | COMBO | euler_ancestral_cfg_pp | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | align_your_steps | 10 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +4 |
| denoise | FLOAT | 0.400–1 | — |
| upscale_method | COMBO | 5 options: lanczos, bilinear, bicubic, area, nearest-exact | |
| upscale_model | COMBO | 1 options: none | |
| feather | FLOAT | 0.200–1 | Percentage of image to feather when uncropping |
| context_padding | FLOAT | 0.100–1 | Percentage of image to use for context from edge |
| imageopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| full_pipe | FULL_PIPE | — |
| image | IMAGE | — |
| cropped_image | IMAGE | — |