DetailerPipe -> BasicPipe
Strip a detailer pipe back down to its base and refiner pipes
- detailer_pipe
- base_basic_pipe
- refiner_basic_pipe
A DETAILER_PIPE carries more than a plain BASIC_PIPE - model, clip, vae, and conditioning, plus the detector, optional SAM model, and hook that make it usable for detailing. Sometimes you want to go the other direction: you've built a detailer pipe, but now you need the model bundle inside it to feed an ordinary pipe-aware node elsewhere in your graph - a sampler, a save-with-metadata node, anything that expects a BASIC_PIPE and doesn't know what a detector is. DetailerPipe -> BasicPipe peels the detection gear off and hands you back the two plain bundles underneath.
How it works
Every DETAILER_PIPE in Impact Pack carries a base model bundle and a refiner bundle internally - the refiner slot is what gets populated when you build the pipe with an SDXL-aware node like ToDetailerPipeSDXL or BasicPipe -> DetailerPipe (SDXL), and left empty if you built the pipe with the plain, non-refiner ToDetailerPipe. This node extracts both regardless of which kind of detailer pipe you fed it - you'll just get an empty/unset refiner pipe back if there was never a refiner in the source pipe to begin with.
The input and outputs
detailer_pipe(DETAILER_PIPE, required) - the pipe to strip down. Only input.
Two outputs, both BASIC_PIPE: base_basic_pipe (model, clip, vae, positive, negative from the base model) and refiner_basic_pipe (the same five fields from the refiner, if the source pipe had one).
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. Pure pipe-unpacking - no models of its own.
Common issues & troubleshooting
refiner_basic_pipe seems empty or unusable downstream. That's expected if your original detailer_pipe was built without a refiner - the field exists on every detailer pipe regardless, but it's only meaningfully populated when the pipe came from an SDXL base+refiner setup. Check what built the pipe upstream before assuming this node dropped data.
You wanted the individual model/clip/vae, not another pipe. This node's outputs are both BASIC_PIPEs, not the raw components. If you need the loose model, clip, vae, and conditioning directly, chain this into FromBasicPipe (or FromBasicPipe_v2 if you also want the pipe passed through) on whichever of the two outputs you care about.
Why not just use FromDetailerPipe instead? FromDetailerPipe unpacks a detailer pipe into its individual pieces directly - model, clip, vae, positive, negative, plus the detector and hook outputs. Use this node instead when you specifically want the base and refiner bundled back into two clean BASIC_PIPEs for feeding into other pipe-aware nodes, rather than a flat list of loose wires.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| detailer_pipe | DETAILER_PIPE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| base_basic_pipe | BASIC_PIPE | — |
| refiner_basic_pipe | BASIC_PIPE | — |