Nodes/Sampling Planner/Model Pair Breakout
ComfyUI Node

Model Pair Breakout

Shift, applied to both Wan experts, from one invisible node

By boobkake22·Created 2 months ago·Updated 2 months ago· 0
Model Pair Breakout
  • plan
  • model_high
  • model_low
  • model_high
  • model_low
  • plan

Here's a Wan 2.2 failure mode you've probably hit: the sigma curve says one shift, but your model's own ModelSamplingSD3 patch says another, and the sampling runs against a curve that doesn't match the one you planned. Model Pair Breakout exists to make that impossible. It takes the plan plus your two expert models, applies the plan's exact shift to both of them, and hands back the synchronized pair. No widgets, no knobs - the shift is owned by the plan, full stop.

Why the shift has to be applied to the models at all

ComfyUI's flow-matching sampling does two things with a shift. One is the visible sigma curve you see in the scheduler; the other is a patch on the model object (ModelSamplingSD3) that changes how the model interprets timesteps. If they disagree - patched curve here, unpatched model there - you get the "shift seems to do nothing" or subtly degraded results that half the troubleshooting threads on flow-matching models are about. This node closes that gap by cloning and patching both experts with the same shift from the plan, so model and curve can't diverge.

It's worth remembering the context from the pack's own evidence notes: shift controls where the scheduler concentrates evaluations, it does not move the trained expert boundary, and the "right" value is recipe-dependent (Wan native wants 12 for T2V, ComfyUI's templates use 8, LightX2V's 4-step uses 5). The plan picks one of those profiles and this node makes sure both models agree with it.

Wiring

Inputs: plan, model_high, model_low. Outputs: model_high, model_low, and plan (pass-through so the chain can keep flowing).

Recommended placement, straight from the README:

Acceleration Model Pair → Model Pair Breakout → high/low samplers
Sampling Plan ────────────┘

So it sits after Acceleration Model Pair (which picks base vs accelerated models) and before your guiders or KSamplers. If you're using Shift Override to hand-set a shift, this is the node that carries it through - set shift on the override, rebuild the plan, and both models get the new value here.

Install

Pack-standard, no surprises:

cd ComfyUI/custom_nodes
git clone https://github.com/boobkake22/ComfyUI-SamplingPlanner

or ComfyUI Manager (search Sampling Planner), then restart. It's under sampling / Sampling Planner / Wan 2.2.

The take

Is it a glamorous node? No - it's glue, and it does exactly one thing. But it's the glue that keeps model shift and sampling curve from drifting, which is the difference between a plan you trust and a plan that "kinda works sometimes." If you're already running the Sampling Plan, wire this in as the gate before your samplers and forget about it. For the one edge case where it matters most: it's the required companion to Shift Override, since that's what actually routes your custom shift into both experts.

Categorysampling/Sampling Planner/Wan 2.2

Inputs (3)

NameTypeDefaultDescription
planWAN22_SAMPLING_PLAN
model_highMODEL
model_lowMODEL

Outputs (3)

NameTypeDescription
model_highMODEL
model_lowMODEL
planWAN22_SAMPLING_PLAN