Ksampler Adv Parameters Default JK๐
The plumbing for the KSampler High+Low trick, packaged as a node
- start_at_step
- switch_at_step
- end_at_step
- enable
- disable
If you've opened one of Jake's Wan 2.2 workflows and wondered what "High+Low" means, this node is the answer hiding in plain sight. Ksampler Adv Parameters Default JK packages the step schedule for a two-phase sampling trick: sample with high CFG early, then drop to a low CFG for the rest. The pack calls it KSampler (High+Low), and this little node is what feeds the group node its numbers.
What the High+Low trick is
Video models - Wan 2.2 especially - respond well to starting the denoise with a strong guidance signal (high CFG) to lock in structure and composition, then switching to a gentler CFG for the remaining steps so you don't get that oversaturated, crispy look. The switch has to happen at a specific step, which is exactly the one thing you control here.
The mechanism (and it's just math)
This node takes one real input - switch_at_step (default 10) - and returns a complete step schedule:
- start_at_step - always
0. - switch_at_step - your value. The step where the sampler swaps settings.
- end_at_step -
10000, i.e. "run to the end." - enable / disable - the strings
"enable"and"disable"that the group node uses as a switch signal for the two phases.
So with switch_at_step = 10, you get "high CFG from 0 to 10, low CFG from 10 to the end." Change the one number and the whole schedule follows. It's a "default" node in the sense that it gives the group node sane defaults - you're not expected to micro-manage all five outputs, just the step where the handoff happens.
Wiring it up
You almost never build this from scratch. It ships in the pack's ๐ JK:::KSampler (High+Low) group nodes (v2.0.0 added both), and those group nodes expose the switch step as a surfaced input. If you're hand-building the same pattern, feed the five outputs to wherever your custom sampler setup consumes start/switch/end step ranges and the enable/disable toggles.
Install
Clone the pack, install requirements, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
pip install -r requirements.txt
No models involved. One honest note: end_at_step = 10000 is effectively "infinity" - that's deliberate, so the schedule always runs to whatever the sampler's real step count is. Don't "fix" it to match your step count, or you'll truncate generations.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| switch_at_step | INT | 101โ10000 | Step at which to switch samplers or settings |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| start_at_step | INT | โ |
| switch_at_step | INT | โ |
| end_at_step | INT | โ |
| enable | STRING | โ |
| disable | STRING | โ |