Nodes/braintacles-nodes/Interval Sampler
ComfyUI Node

Interval Sampler

Swap checkpoints mid-generation

By braintacles·Created 3 years ago·Updated 2 years ago· 2
Interval Sampler
  • modelA
  • modelB
  • positiveA
  • negativeA
  • positiveB
  • negativeB
  • latent_image
  • LATENT
noise_seed0
steps20
interval1
cfg8.0
sampler_name
scheduler

A KSampler treats generation as one monotonic pass with one model. Interval Sampler's premise is stranger: what if model A draws the first chunk of steps, then model B takes over partway through, and they hand the half-finished image back and forth until it's done? That's mid-generation model switching - the "merge two checkpoints by actually running both" trick that ComfyUI is uniquely good at expressing - and this is a compact, scripted version of it.

How it works

The node walks the denoise trajectory in chunks of interval steps. For each chunk it runs the standard sampler machinery over just that slice (start_step to last_step), feeding the partially-denoised latent from the previous chunk straight in. Noise is only injected on the very first chunk; after that each pass continues from where the last one stopped. It starts on modelA, then alternates models every chunk - and since each model gets its own pair of prompts, you can give it its own wording too, not just its own weights.

The inputs that matter

  • modelA and modelB - two loaded checkpoints. The usual way is two CheckpointLoaderSimple nodes.
  • interval - steps per chunk. This is the trap. The default is 1, which switches models every single step and is about as stable as a toddler with a stapler. You want chunks of 5–10 at minimum: let one model establish structure, the other finish detail.
  • positiveA/negativeA and positiveB/negativeB - separate conditioning for each model.
  • steps, cfg, sampler_name, scheduler - the standard controls. Note this is a DDPM-era sampler; the whole premise gets shakier on flow-matching models like Flux.

Output is a single LATENT, straight into a VAE Decode.

The honest verdict

This is an experiment node, not a workflow staple. "Interval sampler" has essentially no community footprint - you won't find a consensus on settings because barely anyone runs it. Treat it as a way to learn what each checkpoint contributes to a trajectory: run steps 0–10 on a stylized model and the rest on a photographic one, save the seed, and compare against a straight run of each model.

Expect surprises. Two full models plus two text encodings means it eats VRAM - a 6GB card will be swapping - and the results are genuinely unpredictable, because you're asking a diffusion model to change its "handwriting" mid-sentence. That's the fun and the whole point. Use it when you're playing, not when you're shipping.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/braintacles/braintacles-comfyui-nodes

or search braintacles-nodes in ComfyUI Manager and restart. No Python dependencies, no model files - it wraps ComfyUI's own sampler internals, so it keeps working across ComfyUI updates.

One side note: this node is the reason the pack shrank. It merged into the pack in May 2024 and the author used the opportunity to strip out the older VAE pipe nodes - that's why those four are missing from the current release.

Categorybraintacles/sampling

Inputs (13)

NameTypeDefaultDescription
modelAMODEL
modelBMODEL
noise_seedINT00–18446744073709550000
stepsINT201–10000
intervalINT11–1000
cfgFLOAT8.00–100
sampler_nameCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
schedulerCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3
positiveACONDITIONING
negativeACONDITIONING
positiveBCONDITIONING
negativeBCONDITIONING
latent_imageLATENT

Outputs (1)

NameTypeDescription
LATENTLATENT