Nodes/ComfyUI-Apt_Preset/Stack_Ksampler_highAndLow
ComfyUI Node

Stack_Ksampler_highAndLow

Handing Off Mid-Sample to a Second Model

By cardenluoĀ·Created 2 years agoĀ·Updated 18 days agoĀ· 309
Stack_Ksampler_highAndLow
  • model2
  • positive2
  • funtion
ā—„add_noise▾►
ā—„noise_seed3ā–ŗ
ā—„start_step0ā–ŗ
ā—„mid_step0ā–ŗ
ā—„steps20ā–ŗ
ā—„return_with_leftover_noise▾►
ā—„samplerNoneā–ŗ
ā—„schedulerNoneā–ŗ

This node samples in two segments and can swap models partway through - start with one model and positive prompt from start_step, hand off to a second model (model2/positive2) at mid_step, and finish at steps. The name gives away the intended use: this is the shape of a "high noise" expert handling the early, coarse denoising and a "low noise" expert taking over for the late detail pass, the pattern current dual-expert video and image models (Wan 2.2's high/low-noise split is the best-known example) are built around - though the same mechanism also covers a plain SDXL base-then-refiner handoff if that's what you're doing instead.

Inputs

  • add_noise (enable / disable).
  • noise_seed (default 3) - note this node's own seed, separate from anything else in your graph.
  • start_step and mid_step (both INT, 0–10000, default 0) - where the first segment begins and where the handoff to the second model happens.
  • steps (default 20) - the total step count the schedule is divided across.
  • return_with_leftover_noise (disable / enable).
  • sampler (45 choices, None plus the full stock roster) and scheduler (10 choices, None plus the standard nine) - both default to None, which suggests they fall back to whatever the pack's consuming node decides rather than needing an explicit pick here.
  • model2 (optional, MODEL) and positive2 (optional, CONDITIONING) - the second model and prompt taking over at mid_step. Note this node itself doesn't expose slots for the first model or positive prompt - those get supplied elsewhere by the pack's consuming node; model2/positive2 here are specifically the second-stage overrides.

Output: funtion - again, that's the socket's actual type name in the schema, not a typo.

Setting it up

Set start_step = 0 and mid_step to wherever you want the handoff - roughly the point where you want composition to be locked and detail work to begin, if you're doing a high/low-noise split, or the equivalent of your base model's cutoff if this is standing in for an SDXL refiner swap. Leave model2/positive2 unplugged if you're not doing a mid-sample handoff at all; the node presumably just runs as a single continuous sample in that case, though the exact behavior with those left empty isn't documented here.

Install

ComfyUI Manager: search "ComfyUI-Apt_Preset," install, restart. By hand: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git, then restart ComfyUI. The install.bat dependency installer is Windows-only - on Linux or a cloud box, check what it lists and pip-install those packages yourself, or let ComfyUI Manager's "install missing nodes" flow catch it.

Troubleshooting

If the handoff produces a visibly disjointed image - a hard seam where the second model's style suddenly takes over - try moving mid_step later, giving the first model more of the composition-forming early steps before the swap.

noise_seed defaulting to 3 rather than 0 is worth noticing if you're trying to reproduce a specific result and only remembered to lock the seed on your primary sampler - this node has its own.

This pack has real, reported import failures - a comfyui subreddit thread shows (IMPORT FAILED): ...ComfyUI-Apt_Preset in someone's console. ComfyUI Manager's "install missing custom nodes" fixed it there, as did manually re-cloning the repo and restarting.

Gap worth flagging: whether this node targets Wan-style high/low-noise expert splitting, SDXL-style base/refiner handoff, or is meant generically for both isn't confirmed anywhere we could verify - worth a documented example workflow from the pack author.

CategoryApt_Preset/stack/😺backup/ksample

Inputs (10)

NameTypeDefaultDescription
add_noiseCOMBO2 options: enable, disable
noise_seedINT30–18446744073709550000—
start_stepINT00–10000—
mid_stepINT00–10000—
stepsINT200–10000—
return_with_leftover_noiseCOMBO2 options: disable, enable
samplerCOMBONone45 options: None, euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, +39
schedulerCOMBONone10 options: None, simple, sgm_uniform, karras, exponential, ddim_uniform, +4
model2optMODEL—
positive2optCONDITIONING—

Outputs (1)

NameTypeDescription
funtionFUNTION—