FromDetailerPipe_v2
Unpack a DETAILER_PIPE and keep the pipe flowing too
- detailer_pipe
- detailer_pipe
- model
- clip
- vae
- positive
- negative
- bbox_detector
- sam_model_opt
- segm_detector_opt
- detailer_hook
Plain FromDetailerPipe unpacks a DETAILER_PIPE into its nine member pieces and consumes the pipe doing it - you get the parts, not the bundle. FromDetailerPipe_v2 does the same unpacking but also re-emits the original pipe untouched alongside the pieces, per the README: it "has the same functionality as FromDetailerPipe and FromBasicPipe, but it has an additional output that directly exports the input pipe. It is useful when editing EditBasicPipe and EditDetailerPipe."
That "useful when editing" note is the whole reason to reach for the v2 variant: when you're using EditDetailerPipe to swap one element of a pipe, it's convenient to unpack the current pipe to inspect or use its parts and still have the intact pipe available to feed into the editor, without threading a second wire around this node to get it.
How it works
Identical extraction to the plain node - nothing about the values is transformed, this just adds one more output that passes the input pipe straight through unchanged. Everything you know about FromDetailerPipe's nine outputs applies here unchanged; this node has all of them plus the pass-through.
The input and outputs
detailer_pipe(DETAILER_PIPE, required) - the bundle to unpack. Only input.
Ten outputs: detailer_pipe (the same bundle, passed straight through - the v2 addition), then model, clip, vae, positive, negative, bbox_detector, sam_model_opt, segm_detector_opt, detailer_hook - the same nine pieces plain FromDetailerPipe gives you.
How to install it
Ships 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
then pip install -r requirements.txt in ComfyUI's Python env (portable: python_embeded\python.exe -m pip ...), restart. No models - pure unpacking with a pass-through added.
Common issues & troubleshooting
Don't need the pass-through and it's cluttering the graph. If you're not feeding the pipe onward to another pipe-aware node, plain FromDetailerPipe gives you the same nine pieces with one fewer output socket to route around. Drop-in swap either direction - the extraction logic is identical.
Working with an SDXL base+refiner pipe. This node's outputs cover the base fields only, same as plain FromDetailerPipe. For a pipe carrying a refiner (built with ToDetailerPipeSDXL or BasicPipe -> DetailerPipe (SDXL)), use FromDetailer (SDXL/pipe) instead - it adds the pass-through and the four refiner_* outputs.
Type mismatch feeding the pipe in. Only a genuine DETAILER_PIPE connects here - not a BASIC_PIPE, which has its own _v2 unpacker (FromBasicPipe_v2) for the same pass-through convenience on the simpler pipe type.
Not sure which of the three From... nodes to reach for. A quick way to decide: need the base pieces only, and don't care about the pipe afterward? Plain FromDetailerPipe. Need those same pieces and the pipe still available downstream? This node. Need the refiner fields too, on top of the pass-through? FromDetailer (SDXL/pipe). All three read the same underlying pipe the same way - the only difference across the family is which outputs get exposed.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| detailer_pipe | DETAILER_PIPE | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| detailer_pipe | DETAILER_PIPE | — |
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| bbox_detector | BBOX_DETECTOR | — |
| sam_model_opt | SAM_MODEL | — |
| segm_detector_opt | SEGM_DETECTOR | — |
| detailer_hook | DETAILER_HOOK | — |