Edit DetailerPipe
Swap parts of a DETAILER_PIPE without rebuilding it
- detailer_pipe
- model
- clip
- vae
- positive
- negative
- bbox_detector
- sam_model
- segm_detector
- detailer_hook
- detailer_pipe
Edit DetailerPipe lets you take an existing DETAILER_PIPE and replace just the pieces you want to change, leaving the rest alone. A detailer pipe bundles everything a detailer node needs - model, clip, vae, positive and negative conditioning, the detectors, an optional SAM model, hooks. Rebuilding that whole bundle every time you want a different prompt or a different model for one pass is tedious. This node edits it in place: feed in the pipe, override the slots you care about, get an updated pipe out.
It's the "change one thing" node, and in Impact Pack's world of multi-pass detailing that comes up constantly. FaceDetailer and the detailer-pipe nodes carry a fat context around so you don't have to re-wire it at every stage. But a two-pass detail workflow often wants a small difference between passes - a tweaked prompt for the second pass, a different model, a wildcard added. Edit DetailerPipe is how you make that difference without unpacking and repacking the entire bundle. Think of it as reaching into the lunchbox and swapping the sandwich, not remaking lunch.
How the inputs work
The one required input is detailer_pipe - the DETAILER_PIPE you're editing. Then everything else is optional, and that's the design: you connect only the slots you want to override. Leave a slot unconnected and the original value passes through untouched.
The overridable slots cover the whole pipe:
- model, clip, vae, positive, negative - swap any part of the generation context.
- bbox_detector, sam_model, segm_detector - swap the detection side.
- detailer_hook - swap in a different hook (noise injection, scheduling, etc.).
There are also two text-assembly fields - a multiline wildcard string plus dropdowns to insert a LoRA or a wildcard into that text - which is how you attach a wildcard/LoRA prompt to the pipe's conditioning for the next detail pass. This is the same wildcard system Impact Pack is quietly known for (the __wildcard__ and <lora:name:weight> syntax), wired into the detailer flow.
The output is the edited detailer_pipe, ready to feed the next detailer.
Why edit instead of rebuild
Two reasons, both practical. Clarity: your graph shows exactly what changes between passes - one override wire says "this pass uses a different model" far more legibly than two full pipe constructions sitting side by side. And safety: because unedited slots pass through verbatim, you can't accidentally drift the VAE or half the prompt just because you rebuilt the bundle by hand and mis-wired something. Change one thing, keep everything else provably identical.
This is the detailer-pipe cousin of EditBasicPipe, which does the same job for the simpler BASIC_PIPE. If your two passes are nearly the same with one deliberate difference, editing beats rebuilding every time.
Common issues
The main confusion is expecting a slot you didn't connect to be blanked out - it isn't. Unconnected optional inputs mean "keep the original," not "clear it." If you wanted to actually remove something, overriding-to-empty isn't what this does; it preserves. Second, mind that a DETAILER_PIPE is Impact-Pack-specific, so you need a real one coming in (from ToDetailerPipe, FromDetailer, or a FaceDetailer's pipe output) - you can't feed a BASIC_PIPE here, they're different types. And if you're using the wildcard/LoRA text fields, remember those LoRAs and wildcards have to actually exist in your ComfyUI install, or the text resolves to nothing.
Installing it
Edit DetailerPipe is part of ComfyUI Impact Pack. Install via ComfyUI-Manager (search ComfyUI Impact Pack, Install, restart), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack, then install the pack's requirements.txt in ComfyUI's Python environment (portable build: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt), and restart. On first run the pack auto-downloads a SAM model to ComfyUI/models/sams. If your detailer pipe uses YOLO detection, note that the UltralyticsDetectorProvider moved to the separate ComfyUI-Impact-Subpack as of v8.0. Impact Pack is ltdrdata's - the ComfyUI-Manager maintainer - so it's stable and actively kept up; this pipe-editing node adds nothing heavy of its own.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| detailer_pipe | DETAILER_PIPE | — | |
| wildcard | STRING | — | |
| Select to add LoRA | COMBO | 1 options: Select the LoRA to add to the text | |
| Select to add Wildcard | COMBO | 1 options: Select the Wildcard to add to the text | |
| modelopt | MODEL | — | |
| clipopt | CLIP | — | |
| vaeopt | VAE | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| bbox_detectoropt | BBOX_DETECTOR | — | |
| sam_modelopt | SAM_MODEL | — | |
| segm_detectoropt | SEGM_DETECTOR | — | |
| detailer_hookopt | DETAILER_HOOK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| detailer_pipe | DETAILER_PIPE | — |