Nodes/ComfyUI-Apt_Preset/CN_preset1_pack
ComfyUI Node

CN_preset1_pack

Bundle a whole ControlNet setup into one wire

By cardenluo·Created 2 years ago·Updated 18 days ago· 309
CN_preset1_pack
  • image
  • Frun1
control_netcontrol_v11p_sd15_canny.pth
Float_Strength0.500
Float_start0.000
Float_end0.800

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 to control_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 your models/controlnet folder.
  • 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, into CN_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.

CategoryApt_Preset/stack

Inputs (5)

NameTypeDefaultDescription
imageoptIMAGE
control_netoptCOMBOcontrol_v11p_sd15_canny.pth0 options:
Float_StrengthoptFLOAT0.5000–1
Float_startoptFLOAT0.0000–1
Float_endoptFLOAT0.8000–1

Outputs (1)

NameTypeDescription
Frun1FPIPE1