VOIDSampler
A sampler that exists for exactly one model family — you'll know when you need it
- SAMPLER
VOIDSampler is the most single-purpose node in this group: it exists for one family of inpainting models, and the only thing it does is output a SAMPLER that denoises them correctly. If you're not using a VOID inpainting model, you will never touch it. If you are, it's not optional - it's the difference between the model working and the model producing garbage, because the standard KSampler does something fundamentally incompatible with how VOID was trained.
What VOID is, briefly
VOID is a video-inpainting model family (built on the CogVideoX-Fun lineage) for removing or replacing objects in existing footage - the kind of thing you'd otherwise rotoscope. It's very new; its ComfyUI support landed in core around May 2026 as "Void model - pass 1 & 2", alongside a whole suite of VOID* nodes for conditioning, masks, and optical-flow warped noise. The VOIDSampler is the sampling side of that suite.
How it works (and why the standard KSampler breaks)
The catch is in the noise math. A normal KSampler applies noise scaling - it multiplies the input latent by roughly sqrt(1+sigma²), which for these models is on the order of a 4500x blow-up, and it also adds per-step noise in a way that assumes a certain latent scale. VOID was trained with the diffusers CogVideoXDDIMScheduler, which operates in alpha-space - its input standard deviation is about 1, no massive scaling. Feed it through a KSampler's scaling and the numbers are off by orders of magnitude from anything it saw in training.
VOIDSampler fixes that by skipping noise scaling entirely and implementing the DDIM update directly: each step it converts the current and next sigma to their alpha values (alpha = 1/(1+sigma²)), recovers the predicted noise from the model output, then combines them with the DDIM rule. It's the exact loop VOID was trained with, reconstructed in ComfyUI.
What it looks like in a workflow
The node has no inputs - it's a fixed, self-contained DDIM sampler. One SAMPLER output. You feed it to SamplerCustomAdvanced's sampler input, and pair it with RandomNoise (or VOIDWarpedNoiseSource, which feeds in optical-flow-warped noise for the two-pass refinement pass that the "pass 1 & 2" in the commit name refers to). The official guidance is explicit: use it with SamplerCustom / SamplerCustomAdvanced, not a plain KSampler.
Where people get burned
- Swapping in a regular KSampler. This is the one real trap. It'll run, it'll produce frames, and they'll be wrong - because of the noise-scaling mismatch. When a VOID workflow instructs "use the VOID sampler", it means it.
- Wrong noise source.
RandomNoiseis fine for a straight pass; the warped-noise path is for the refinement pass. Mixing them up won't error, but you'll lose the whole point of the two-pass setup. - Assuming it's a general-purpose sampler. It's not.
VOIDSampleron an ordinary image checkpoint is a great way to get noise - use it where the model card points.
Ships with ComfyUI core, nothing to install. Niche, recent, and quietly essential for the one workflow it serves - which is exactly what a built-in should be.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |