CN_preset1_pack
Bundle a whole ControlNet setup into one wire
- image
- Frun1
A normal ControlNet setup means wiring an image, a ControlNet checkpoint, a strength value, and a start/end percent into an Apply ControlNet (Advanced) node - four or five separate noodles. Stack two or three ControlNets, or try to save a preset you can swap in later, and your graph turns into exactly the kind of dense, error-prone mess the author built this whole pack to fight. CN_preset1_pack is the fix for that specific problem: it takes all five of those pieces and folds them into a single custom-typed wire.
This is the pack's "stack" family (Apt_Preset/stack) - the README's own framing is blunt about why it exists: "the current workflow connections are becoming increasingly dense... frequent errors occur during actual use." Bundling a ControlNet config into one wire is that philosophy applied literally.
How it works
This node doesn't touch pixels at all - it's a pure bundler. It packages image, a control_net checkpoint choice, and three float params into a single output typed FPIPE1, named Frun1. That bundle can travel across your graph - through a reroute, stored as part of a bigger preset stack, switched between with a selector - and gets unbundled later, wherever you actually need the individual pieces, by the companion node CN_preset1_Unpack.
The inputs and outputs that matter
control_net(enum, defaults tocontrol_v11p_sd15_canny.pth) - the default is an SD 1.5-era ControlNet 1.1 checkpoint name, but the dropdown reflects whatever's actually in yourmodels/controlnetfolder.Float_Strength(0-1, default 0.5) - the conditioning weight, same concept as any ControlNet apply node's strength slider.Float_start/Float_end(0-1, defaults 0 / 0.8) - the fraction of total sampling steps during which this ControlNet is actually active. The default end of 0.8 rather than 1.0 is a common trick: let the ControlNet fade out before the final steps so the last bit of denoising is freer to add fine detail instead of fighting the condition.- Optional
image- the conditioning image the ControlNet reads structure from. - Output:
Frun1(FPIPE1) - feeds directly, and only, intoCN_preset1_Unpack.
How to install it
Through ComfyUI Manager: search "ComfyUI-Apt_Preset", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
then run install.bat (Windows) or install the requirements yourself on Linux/Mac, and restart. This node itself needs nothing beyond a ControlNet checkpoint in ComfyUI/models/controlnet/ - the classic control_v11p_sd15_canny.pth from lllyasviel's ControlNet 1.1 repo works as the default. Note the README's separate call-out: if you want the pack's ControlNet schedule control (varying strength over the run, a different feature in the same stack family), install ComfyUI-Advanced-ControlNet first - not required for this simple pack/unpack pair, but worth knowing if you're exploring the rest of the stack nodes.
Common issues & troubleshooting
The control_net dropdown is empty. That means models/controlnet has nothing in it - download a checkpoint and restart ComfyUI.
Frun1 won't connect to anything except CN_preset1_Unpack. That's by design - FPIPE1 is a private bundle type this pack invents for exactly this pairing, not a general ComfyUI type.
IMPORT FAILED on the pack. This is a large, actively-updated pack, and users have reported it failing to import after some updates; reinstall via Manager before digging further.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | — | |
| control_netopt | COMBO | control_v11p_sd15_canny.pth | 0 options: |
| Float_Strengthopt | FLOAT | 0.5000–1 | — |
| Float_startopt | FLOAT | 0.0000–1 | — |
| Float_endopt | FLOAT | 0.8000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Frun1 | FPIPE1 | — |