LC Detail Pipe Out
Unpack a pipeline bus without unpacking everything
- pipe
- pipe
- Model 1
- Clip 1
- VAE 1
- Positive prompt
- Positive conditioning
- Negative prompt
- Negative conditioning
- Seed
- cfg_1
- sampler_name
- scheduler
- detailer_steps
ComfyUI has a pipe problem, and the community solved it the same way every ecosystem does: bundle a bunch of stuff into one object, push it down one wire, and unpack it where you need it. The LC123 pack's version of the bus is the LC_PIPE, and LC Detail Pipe Out (LCDetailPipeOut) is the focused unpacker - it pulls out the detail-pass essentials (models, prompts, conditioning, seed, CFG, sampler, scheduler) while passing the pipe through untouched.
If you've ever fought a full pipe-out node with twenty sockets when all you needed was the CFG and the sampler name, this is the node that gets it.
What comes out
The node takes one pipe input (typed LC_PIPE, from the pack's Pipe In/Edit, Aspect, Sampler Configure, or KJ Get). In exchange you get the pipe back plus a hand-picked subset:
- Model 1, Clip 1, VAE 1 - the model trio, so a detail pass can reuse the same weights as the main pass.
- Positive prompt and Negative prompt (strings) plus Positive conditioning and Negative conditioning.
- Seed and cfg_1 - the sampler settings your main pass used.
- sampler_name and scheduler - the exact combos, as real enum values.
- detailer_steps - steps for the detail pass specifically.
That "detailer" framing is the tell: this is the unpack node for a second pass - the FaceDetailer-style "re-run a region at higher fidelity" workflow, or any single-pass variant that needs the main pipeline's settings but not its bulk. The pipe passes through so you can unpack mid-stream and keep the bus alive for downstream nodes.
How pipes work here
The LC_PIPE is just a dict bundled with metadata - the same "bundle everything in one wire" pattern that comfyui-node-plumbing.md describes across rgthree's Context, Efficiency Nodes, and ComfyUI-Easy-Use. Each pack invented its own type, and they don't interoperate: an LC_PIPE only feeds LC123's own in/edit/out nodes. So if you're mixing packs, keep the LC pipe family together.
The inputs that matter
Honestly, one: pipe. Everything else is automatic. If the pipe isn't a real dict (or is empty), the node builds an empty pipe and outputs None for the missing slots rather than crashing - which is why an unconfigured detail branch fails silently instead of loudly. Worth remembering when something downstream starts getting None.
Install
Part of ComfyUI_LC123_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
or ComfyUI Manager, then restart. No extra dependencies - pipes are plain Python dicts. The pack is a niche collection with little Reddit presence, so the README's sampling/sigma/latent/pipes table plus lc_pipe_io.py are the ground truth for what LC_PIPE actually carries.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | LC_PIPE | LC_PIPE from Pipe In/Edit, Aspect, Sampler, or KJ Get. |
Outputs (13)
| Name | Type | Description |
|---|---|---|
| pipe | LC_PIPE | — |
| Model 1 | MODEL | — |
| Clip 1 | CLIP | — |
| VAE 1 | VAE | — |
| Positive prompt | STRING | — |
| Positive conditioning | CONDITIONING | — |
| Negative prompt | STRING | — |
| Negative conditioning | CONDITIONING | — |
| Seed | INT | — |
| cfg_1 | FLOAT | — |
| sampler_name | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| detailer_steps | INT | — |