ComfyUI Node

Rebalance CFG Custom

Per-timestep weight curves for two conditionings

By nova452·Created 2 months ago·Updated 29 days ago· 453
Rebalance CFG Custom
  • conditioning_1
  • conditioning_2
  • conditioning
schedule_10.000-0.125:1.50; 0.125-0.250:1.40; 0.250-0.375:1.20; 0.375-0.500:1.00; 0.500-0.625:0.80; 0.625-0.750:0.60; 0.750-0.875:0.40; 0.875-1.000:0.20
schedule_20.000-0.125:0.20; 0.125-0.250:0.40; 0.250-0.375:0.60; 0.375-0.500:0.80; 0.500-0.625:1.00; 0.625-0.750:1.20; 0.750-0.875:1.40; 0.875-1.000:1.50
interpolationgradual
sub_steps8

This is the power-user node of the pack, and the fiddliest. Rebalance CFG Custom schedules two conditionings across the denoise with full per-timestep weight curves - you write out, in a little schedule string, exactly how strong each conditioning is at each slice of the generation. Where Step Rebalance gives you one handoff point, this gives you the whole ramp. It's overkill for most jobs and exactly right for the one where you need to choreograph how two influences trade off over time.

The name nods at CFG scheduling, but note the output is a conditioning, not a sampler setting - this shapes the conditioning that carries into your sampler, ramping the two inputs' contributions according to your curves. Think of it as two automation lanes: one for conditioning_1, one for conditioning_2, each with its own envelope over the denoise.

Inputs and outputs

Required:

  • conditioning_1 and conditioning_2 - the two conditionings you're scheduling.
  • schedule_1 and schedule_2 - multiline strings that define each conditioning's weight over time. The format is a series of start-end:weight segments, e.g. 0.000-0.125:1.50; 0.125-0.250:1.40; …. The defaults are mirror ramps: schedule_1 starts high (1.50) and falls to 0.20 across the run, while schedule_2 rises from 0.20 to 1.50 - a crossfade from the first conditioning to the second.
  • interpolation - constant or gradual (default gradual). Whether each segment's weight is a flat step or eases smoothly into the next. gradual gives you clean crossfades; constant gives you hard stair-steps.
  • sub_steps - default 8, range 1 to 64. How finely the schedule is sampled within the denoise. More sub_steps means a smoother curve at the cost of a little more work.

Output is a single conditioning for your sampler's positive input.

Installing it

ComfyUI Manager: search ComfyUI-Conditioning-Rebalance, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/nova452/ComfyUI-ConditioningKrea2Rebalance.git

Restart ComfyUI. No pip deps, no model files - the node is pure scheduling math, though it's built for Krea 2 / Ideogram 4 conditioning.

Common issues

The schedule string is where people get burned. The segments should cover the full 0.000–1.000 range without gaps, and the format is unforgiving - a stray character or a missing ; and the node won't parse it. Start from the defaults, edit numbers in place, and don't rewrite the structure until you're sure it runs.

Keep both conditionings in the same model's space, as with every node in this pack.

Honestly, most workflows don't need this. If you just want "prompt A early, prompt B late," Step Rebalance does that with two numbers and no schedule string to debug. Reach for Rebalance CFG Custom when you genuinely need to sculpt the whole trade-off curve - a slow crossfade, a hold-then-switch, a non-monotonic envelope - and are willing to babysit the schedule syntax to get it. It's the most expressive node here and the one most likely to eat an hour if you're careless with the string.

Categoryconditioning

Inputs (6)

NameTypeDefaultDescription
conditioning_1CONDITIONING
conditioning_2CONDITIONING
schedule_1STRING0.000-0.125:1.50; 0.125-0.250:1.40; 0.250-0.375:1.20; 0.375-0.500:1.00; 0.500-0.625:0.80; 0.625-0.750:0.60; 0.750-0.875:0.40; 0.875-1.000:0.20
schedule_2STRING0.000-0.125:0.20; 0.125-0.250:0.40; 0.250-0.375:0.60; 0.375-0.500:0.80; 0.500-0.625:1.00; 0.625-0.750:1.20; 0.750-0.875:1.40; 0.875-1.000:1.50
interpolationCOMBOgradual2 options: constant, gradual
sub_stepsINT81–64

Outputs (1)

NameTypeDescription
conditioningCONDITIONING