Nodes/ComfyUI_agilly1989_motorway/ControlNetApplyAdvanced_motorway_edition
ComfyUI Node

ControlNetApplyAdvanced_motorway_edition

The ControlNet apply you'll actually reach for, now reading keys

By agilly1989·Created 2 years ago·Updated about a year ago· 7
ControlNetApplyAdvanced_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_positive_keypositive
INPUT_negative_keynegative
INPUT_control_net_keycontrol_net
INPUT_image_keyimage
INPUT_vae_keyvae
strength1.00
start_percent0.000
end_percent1.000
OUTPUT_positive_keypositive
OUTPUT_negative_keynegative

ControlNetApplyAdvanced is the workhorse of every serious ControlNet workflow: it takes positive and negative conditioning, a loaded control net, a condition image and a VAE, and applies the control to both conditioning sides at once, with start/end percent control over when it kicks in. This _motorway_edition is that node, rehosted on agilly1989's Motorway bus. If you're building a Motorway graph that does control-guided generation, this is the apply node you'll use most.

How it works

Mechanically it's the core ControlNetApplyAdvanced from nodes.py. The VAE-encode step turns your condition image into the latent space the ControlNet actually consumes, and the conditioning you get back carries the control baked in. On the Motorway version, every one of those data inputs - positive, negative, control_net, image, vae - is pulled out of the bus by the matching INPUT_*_key string, and the two outputs are written back under your OUTPUT_*_keys. The knobs stay as widgets on the node.

The inputs that matter

  • MOTORWAY 🚌💨 - the bus, required.
  • INPUT_positive_key / INPUT_negative_key - keys for your two conditionings, defaults positive and negative.
  • INPUT_control_net_key - key of the loaded CONTROL_NET, default control_net.
  • INPUT_image_key - key of the condition image (canny, depth, pose, ...), default image.
  • INPUT_vae_key - key of the VAE used to encode that image, default vae.
  • strength - control weight, 0–10, default 1.0.
  • start_percent / end_percent - when in the sample the control applies, 0–1. The KB's standing advice: release the condition once composition has formed - e.g. end at 0.5 - rather than holding structure through the whole sample.
  • OUTPUT_positive_key / OUTPUT_negative_key - where the conditioned positives/negatives land, defaults positive / negative.

Only output: the updated MOTORWAY 🚌💨. Read the conditioned pair back out with a Motorway AxB ramp node feeding your sampler.

Installing

With the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

Restart, or ComfyUI Manager → "ComfyUI_agilly1989_motorway". No Python deps. You supply the ControlNet models, the VAE, and the preprocessed condition image - none of those come from the pack.

Caveats

The usual Motorway caveats apply: active beta with a "BIG BROKEN WITH ASYNC" README banner; in the checked version the _motorway_edition clones are commented out of __init__.py (re-enable ClonedNodeMapping if the menu's missing them); keys are exact and case-sensitive, and 'MotorwayClass' object has no attribute 'hash_' means a key isn't in the bus. The mental load here is real - five keys plus two output keys - so double-check each key against what's actually parked upstream. If you just want control applied, the plain core node is simpler; this earns its keep only inside a Motorway graph.

Categoryagilly1989 Nodes/Motorway-ed/conditioning/controlnet

Inputs (11)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_positive_keySTRINGpositive
INPUT_negative_keySTRINGnegative
INPUT_control_net_keySTRINGcontrol_net
INPUT_image_keySTRINGimage
INPUT_vae_keySTRINGvae
strengthFLOAT1.000–10
start_percentFLOAT0.0000–1
end_percentFLOAT1.0000–1
OUTPUT_positive_keySTRINGpositive
OUTPUT_negative_keySTRINGnegative

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨