ComfyUI Node

Config Pipe

Bundle your sampler settings down one wire, and kill the cable spaghetti

By mech-tools·Created 2 years ago·Updated 2 years ago· 3
Config Pipe
  • config_pipe
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • image
  • CONFIG_PIPE
  • MODEL
  • CLIP
  • VAE
  • POSITIVE
  • NEGATIVE
  • LATENT
  • IMAGE
  • STEPS
  • CFG
  • SAMPLER
  • SCHEDULER
steps
cfg
sampler
scheduler

ConfigPipe is the other half of the Checkpoint Automatic Config pack, and to be clear about what it is: it doesn't load anything and it doesn't sample anything. It's a wiring node. It gathers your checkpoint config - and optionally the model, CLIP, VAE, conditioning, latent, and image - into a single CONFIG_PIPE, then lets you read any of those values back out anywhere else in the graph. It's the same bus pattern you'll know from packs like rgthree's Context nodes or the "power pipe" crowd, but scoped to this pack's checkpoint-config idea: the sampler recipe rides down one wire instead of trailing across the canvas.

How it works

Every input is optional, and every one is set to accept wires only - no typing values in. You feed it an existing CONFIG_PIPE and/or individual values, and for each slot it does the obvious thing: your supplied value wins, otherwise it falls back to whatever the incoming pipe carries, otherwise None. It then outputs the merged pipe plus each value on its own port, so you can tap off SAMPLER or CFG anywhere downstream without dragging a second wire.

The inputs, from the node's schema: config_pipe, model, clip, vae, positive, negative, latent, image, steps, cfg, sampler, scheduler. The outputs mirror that list - CONFIG_PIPE plus each of the eleven values individually.

The pattern it's built for

The natural setup is its sibling node doing the loading, then everything worth carrying joins the pipe:

  1. CheckpointAutomaticConfigSTEPS, CFG, SAMPLER, SCHEDULERConfigPipe.
  2. The CONFIG_PIPE output travels around your workflow as one unit.
  3. Where a KSampler needs the sampler, tap the pipe's SAMPLER output instead of running another wire across the graph.

That's the whole trick: the recipe stays in one place, and any branch of the graph can reach it.

Gotchas

Outputs can be None. If a slot isn't fed and the incoming pipe doesn't have it either, that output is None - connect it to a required input like a KSampler's steps and you'll get an error. Feed everything you actually use. Related: because all inputs are wire-only, there are no dropdowns on this node - you can't type a sampler name, it has to come from a wire (which is exactly why the pack pairs it with the loader's SAMPLER output). And on its own it does absolutely nothing: no CONFIG_PIPE, no outputs worth wiring, no image. It's the organizing layer, not a feature.

Installing it

Same pack as CheckpointAutomaticConfig. ComfyUI Manager → search "Checkpoint Automatic Config", or:

cd ComfyUI/custom_nodes
git clone https://github.com/mech-tools/comfyui-checkpoint-automatic-config

Then restart. No extra dependencies, no model downloads.

Who this is for

If you build tidy graphs and want the sampler recipe to travel as one unit, this is a nice little organizer. If wire spaghetti never bothered you, skip it - the stock loader plus a KSampler does the same job with two extra wires. It's a utility, not an upgrade.

CategoryCheckpoint Config Loader

Inputs (12)

NameTypeDefaultDescription
config_pipeoptCONFIG_PIPE
modeloptMODEL
clipoptCLIP
vaeoptVAE
positiveoptCONDITIONING
negativeoptCONDITIONING
latentoptLATENT
imageoptIMAGE
stepsoptINT
cfgoptFLOAT
sampleroptCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
scheduleroptCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3

Outputs (12)

NameTypeDescription
CONFIG_PIPECONFIG_PIPE
MODELMODEL
CLIPCLIP
VAEVAE
POSITIVECONDITIONING
NEGATIVECONDITIONING
LATENTLATENT
IMAGEIMAGE
STEPSINT
CFGFLOAT
SAMPLEReuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,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_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,ddim,uni_pc,uni_pc_bh2
SCHEDULERnormal,karras,exponential,sgm_uniform,simple,ddim_uniform,beta,linear_quadratic,kl_optimal