From DuckComfy Globals
Unpacking the whole generation state
- globals
- model
- clip
- vae
- positive
- negative
- seed
- sampler_name
- scheduler
- steps
- cfg
From DuckComfy Globals takes a single BASIC_PIPE - a bundle that carries your model, clip, VAE, both conditionings, and sampler settings in one wire - and unpacks it into ten separate outputs. It's the read side of a tiny context bus: upstream, a ToDuckComfyGlobals node (same pack) bundles everything together; here you pull out exactly what each downstream node needs.
If your workflow has one checkpoint loader feeding a sampler, a second sampler, a VAE decoder, and a text encoder, that's a dozen wires crisscrossing the canvas. The context-bus pattern collapses all of it into one bundle wire that travels the graph, and you unpack it at the points of use. This node exists so you can get back to individual wires where you need them - the "explode" half of "combining and exploding all in a single node," to borrow rgthree's phrasing for the same design.
The input and the ten outputs
- globals - a
BASIC_PIPE, produced byToDuckComfyGlobals(which itself takes model, clip, vae, positive, negative, and a ksampler-settings bundle from the pack'sToKSamplerSettings). - Outputs: model, clip, vae, positive, negative, seed, sampler_name, scheduler, steps, cfg.
So one bundle wire in gives you everything a KSampler plus a VAE Decode plus a text encode need. Wire sampler_name, scheduler, steps, cfg, and seed into a sampler; model into the same sampler; vae into a decode; positive/negative into the sampler's conditioning inputs. Everything traces back to the single load point.
The one real weakness: stale context
This is the known failure mode of every context bus, and it's worth internalizing. Because the bundle is opaque, it's easy to unpack a model from a globals pipe that was assembled before a LoRA load or a model patch that happened further down the graph - and silently run the base weights. With explicit wires you'd see the LoRA wasn't connected. With a pipe you can't, because the connection is there and the contents are what's wrong. Use the pipe for the bulk of the graph where legibility wins, but when you're actively patching the model (LoRA, ControlNet, attention couples), pull the model out on an explicit wire in that region so you can see what feeds what.
Install
Part of duckcomfy personal nodes. ComfyUI Manager → search "duckcomfy personal nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/duckcomfy/duckcomfy_personal_nodes
Restart ComfyUI. No pip dependencies, no model downloads - this is one of the few nodes in the pack that looks genuinely authored rather than lifted, though the pattern it implements is everywhere in the ecosystem (Efficiency Nodes and Easy-Use thread similar pipes).
Gotchas
The BASIC_PIPE type is this pack's own, so FromDuckComfyGlobals only connects to ToDuckComfyGlobals (or anything else that emits the same pipe type) - it won't accept another pack's context object. And if a bundle was built with a ksampler_settings wire left unconnected, unpacking it errors, so keep the whole chain wired. Also, a full 10-output unpack is overkill at the top of a simple graph; reach for it when the wire count is genuinely the problem, not as a default.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| globals | BASIC_PIPE | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| seed | INT | — |
| 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 | — |
| steps | INT | — |
| cfg | FLOAT | — |