Nodes/ComfyUI Impact Pack/ToDetailerPipeSDXL
ComfyUI Node Runs on cloud

ToDetailerPipeSDXL

Bundle raw SDXL base+refiner components into one detailer pipe

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,242
ToDetailerPipeSDXL
  • model
  • clip
  • vae
  • positive
  • negative
  • refiner_model
  • refiner_clip
  • refiner_positive
  • refiner_negative
  • bbox_detector
  • sam_model_opt
  • segm_detector_opt
  • detailer_hook
  • detailer_pipe
wildcard
Select to add LoRA
Select to add Wildcard

If you're running SDXL with its base+refiner split and you want your face/hand detail passes to use both models too, this is the node that packs everything into one DETAILER_PIPE. It's the SDXL-flavored sibling of the plain ToDetailerPipe: same idea (stop dragging a dozen wires across your canvas), but with a second full set of model/clip/conditioning inputs for the refiner sitting alongside the base.

The distinction worth knowing up front: this node takes the raw components directly - model, clip, positive, negative and their refiner_* counterparts as separate wires. If you've already got your base and refiner each bundled into a BASIC_PIPE, you don't want this node - you want BasicPipe -> DetailerPipe (SDXL), which takes two pre-built pipes instead of nine loose wires. Same output type, different input shape. Use whichever matches what you're already holding.

How it works

You feed in the base set, the refiner set, a detector, and get back a single detailer_pipe that a refiner-aware detailer (FaceDetailer (pipe), DetailerForEach (pipe)) can unpack. Downstream, that detailer runs most of the sampling steps with the base model and hands the tail off to the refiner, same two-stage pattern as a normal SDXL generation - except now it's happening per detected region instead of once on the whole image.

The inputs and outputs that matter

The base set: model, clip, vae, positive, negative. The refiner set, all required: refiner_model, refiner_clip, refiner_positive, refiner_negative - note there's no separate refiner_vae; the pipe shares the one vae you supply. bbox_detector is required too - without it there's nothing to detect, and this stays a bundle with no detailing purpose.

wildcard is an optional multiline prompt override for the detail pass, using Impact Pack's __wildcard__ / {a|b|c} syntax. The two "Select to add LoRA" and "Select to add Wildcard" fields are UI convenience dropdowns that paste syntax into the wildcard box - not real data connections.

Optional inputs round out detection quality: sam_model_opt (a SAM model for masks that follow the actual silhouette instead of a rectangle), segm_detector_opt (a segmentation detector), and detailer_hook for attaching advanced hook behavior (noise injection, a denoise schedule, custom samplers).

Output is one detailer_pipe (DETAILER_PIPE), ready for an SDXL-aware detailer node.

How to install it

Comes with the Impact Pack. ComfyUI Manager: search ComfyUI Impact Pack, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
pip install -r requirements.txt

then restart - auto-install was dropped at v7.6, so this step isn't optional. Your bbox_detector will typically come from UltralyticsDetectorProvider, which since v8.0 lives in the separate ComfyUI-Impact-Subpack, not the base pack.

Common issues & troubleshooting

Nine required inputs and it still won't build. Every base and refiner field here is required - leave one refiner input unconnected and the node has nothing to build a valid pipe with. If you don't actually have a refiner checkpoint loaded, this is the wrong node; use plain ToDetailerPipe and skip the refiner entirely.

You built two BASIC_PIPEs already and this feels redundant. It probably is, for your case - BasicPipe -> DetailerPipe (SDXL) takes the two pipes directly and saves you re-wiring nine components you've already bundled. This node exists for the opposite situation, where you're wiring raw model/clip/conditioning straight from loaders rather than through an intermediate basic pipe.

Detailer complains about a missing detector. Same as the non-SDXL pipe nodes: bbox_detector is required, and without a real YOLO provider connected (from the Impact Subpack), the pipe has nothing to detect with, regardless of how correctly the model side is wired.

CategoryImpactPack/Pipe

Inputs (16)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
positiveCONDITIONING
negativeCONDITIONING
refiner_modelMODEL
refiner_clipCLIP
refiner_positiveCONDITIONING
refiner_negativeCONDITIONING
bbox_detectorBBOX_DETECTOR
wildcardSTRING
Select to add LoRACOMBO1 options: Select the LoRA to add to the text
Select to add WildcardCOMBO1 options: Select the Wildcard to add to the text
sam_model_optoptSAM_MODEL
segm_detector_optoptSEGM_DETECTOR
detailer_hookoptDETAILER_HOOK

Outputs (1)

NameTypeDescription
detailer_pipeDETAILER_PIPE