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

FromDetailerPipe

Unpack a DETAILER_PIPE into its model, conditioning, and detector pieces

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,242
FromDetailerPipe
  • detailer_pipe
  • model
  • clip
  • vae
  • positive
  • negative
  • bbox_detector
  • sam_model_opt
  • segm_detector_opt
  • detailer_hook

A DETAILER_PIPE bundles up everything a detailer needs - model, clip, vae, conditioning, the detector, an optional SAM model and segmentation detector, and a hook - into one wire. Most of the time you leave it bundled and hand it straight to a pipe-flavored detailer. FromDetailerPipe is for when you need to reach inside instead: it unpacks the whole thing back into its individual pieces, so you can feed one component somewhere else in your graph, inspect it, or rebuild a different pipe from parts of it.

How it works

Nothing is transformed - it just reads every member out of the pipe and returns each as its native type. This is the plain unpacking node; if you also want the original pipe to keep flowing past this point rather than being consumed here, that's what the _v2 variant is for (see below).

The input and outputs

  • detailer_pipe (DETAILER_PIPE, required) - the bundle to unpack. Only input.

Nine outputs, each a direct member of the 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).

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 needed for this node - it's pure unpacking; the pipe's own detector and SAM model, if present, come from wherever they were originally connected when the pipe was built.

Common issues & troubleshooting

sam_model_opt, segm_detector_opt, or detailer_hook come out empty. These were optional when the pipe was assembled - if the pipe was built with ToDetailerPipe and those slots left unconnected, unpacking it here just returns them empty too. Nothing wrong; go back to wherever the pipe was built if you need them populated.

You want the pipe to keep flowing after unpacking. Plain FromDetailerPipe consumes the pipe into its parts and doesn't hand it back. If you're feeding some pieces onward while also needing the intact pipe further down the graph - a common need when using EditDetailerPipe afterward - use FromDetailerPipe_v2 instead, which adds a pass-through detailer_pipe output alongside the same nine unpacked pieces.

You're working with an SDXL base+refiner pipe. Plain FromDetailerPipe only exposes the base-model members. For a pipe built with an SDXL refiner (via ToDetailerPipeSDXL or BasicPipe -> DetailerPipe (SDXL)), use FromDetailer (SDXL/pipe) instead - it adds the four refiner_* outputs on top of everything this node gives you.

Type mismatch feeding the pipe in. This accepts only a genuine DETAILER_PIPE, not a plain BASIC_PIPE. If you're holding a basic pipe and need a detailer pipe's shape instead, build one first with ToDetailerPipe or BasicPipe -> DetailerPipe rather than trying to force the connection.

CategoryImpactPack/Pipe

Inputs (1)

NameTypeDefaultDescription
detailer_pipeDETAILER_PIPE

Outputs (9)

NameTypeDescription
modelMODEL
clipCLIP
vaeVAE
positiveCONDITIONING
negativeCONDITIONING
bbox_detectorBBOX_DETECTOR
sam_model_optSAM_MODEL
segm_detector_optSEGM_DETECTOR
detailer_hookDETAILER_HOOK