Nodes/ComfyCollectorNodes/LoRA Pair Lane (CCN)
ComfyUI Node

LoRA Pair Lane (CCN)

LoRA Pair Lane (CCN)

By valkymaera·Created 4 months ago·Updated 10 days ago· 1
LoRA Pair Lane (CCN)
  • curve
  • lanes
  • lanes
  • info
lora_name
strength_high1.00
strength_low1.00

LoRA Pair Lane (CCN) is a scheduler in node form: one LoRA, with a strength that isn't fixed but curved over the run. You hand it a Wan 2.2 LoRA pair, a peak strength for each expert, and optionally a curve - and it emits a "lane" that MoE Sampler Dual (CCN) can play over the whole sampling schedule. The curve is your musical score for when that LoRA's influence fades in and out.

Why bother? In a two-expert Wan 2.2 run, a fixed-strength LoRA is one thing, but lots of effects are temporal: a style LoRA you want only during the early high-noise phase and not baked into the final frames, or a speed/motion LoRA you want to ramp in after the first steps so it doesn't fight the composition phase. A lane gives you that - the curve multiplies the peak strengths over global run progress (0 = first step of the whole schedule, 1 = last step), not per-phase. So a single curve can span the expert boundary, which is exactly the freedom you want. The source docstring's example says it plainly: "a speed LoRA ramping in after the first high-noise steps."

It reuses the same partner-resolution as LoRA Pair Loader - select style_high_noise.safetensors and the low_noise partner auto-resolves from the filename when it exists; an unpaired file applies to both experts. A strength_high or strength_low of 0 skips that side. The lanes input is how lanes chain: wire one lane's output into the next's lanes input to build a queue, then feed the final output into MoE Sampler Dual's lora_lanes socket.

Inputs:

  • lora_name - the LoRA file; partner auto-resolves.
  • strength_high / strength_low - peak strength per expert; 0 skips a side.
  • curve (optional CCN_CURVE) - the strength multiplier over global progress. Absent = constant strength.
  • lanes (optional) - chain a previous lane ahead of this one.

Outputs: lanes (the accumulated list, CCN_LORA_LANES) and info (a human-readable description of what the lane resolved to). Worth knowing: for a constant strength with no curve, the static LoRA Pair Loader is cheaper - a constant lane behaves identically but costs repatching at sampling time. The lane's real value is the curve, and the docstring is honest that a constant lane exists mainly so you can add a curve later without rewiring.

Install

WIP pack member, so git clone:

cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes

Restart ComfyUI; find "LoRA Pair Lane (CCN)" in the "CCN" category. Stock deps only. No model downloads, MIT, and treat the WIP label as a contract that the API can shift.

Common issues

The curves are evaluated per segment by the sampler, and there's a repatch budget (lane_segments on MoE Sampler Dual) - with a small segment count a very wiggly curve gets stepped rather than smoothly followed, so check the sampler's compiled-staircase info output if your fade looks blocky. Also, don't double-apply: a lane emits on lora_lanes and does not patch the models itself, so wiring both the loader's model outputs and lora_lanes into the sampler can't double-apply - but wiring a lane and a baked row of the same LoRA can. If a curve has no visible effect, verify the lane actually resolved to a pair via info - an unresolvable filename silently becomes single-file-both-experts.

CategoryCCN

Inputs (5)

NameTypeDefaultDescription
lora_nameCOMBOLoRA file; a HIGH/LOW partner is auto-resolved from the filename when one exists.
strength_highFLOAT1.00-10–10Peak strength on the high-noise expert. 0 skips that side.
strength_lowFLOAT1.00-10–10Peak strength on the low-noise expert. 0 skips that side.
curveoptCCN_CURVEStrength multiplier over global run progress (curve y * strength). Absent = constant.
lanesoptCCN_LORA_LANESChain from a previous LoRA Pair Lane.

Outputs (2)

NameTypeDescription
lanesCCN_LORA_LANES
infoSTRING