Nodes/FreezeFrame/⏸ PSampler (Custom Advanced)
ComfyUI Node

⏸ PSampler (Custom Advanced)

The full sampler stack, now with a pause button — PSampler (Custom Advanced)

By c0dezer019·Created 7 months ago·Updated 6 months ago· 4
⏸ PSampler (Custom Advanced)
  • noise
  • guider
  • sampler
  • sigmas
  • latent_image
  • output
  • denoised_output

What it actually is

PSampler (Custom Advanced) is the top of the FreezeFrame food chain: a pausable rebuild of ComfyUI's Sampler Custom Advanced, which is itself the most bare-metal sampling node stock ComfyUI ships. You don't feed it a model and a prompt and get an image. You hand it a noise source, a guider (which does the CFG/guidance math), a sampler, a sigmas schedule, and a latent_image - and it runs the loop. This version just adds the pack's ⏸️ PAUSE / ▶️ RESUME buttons to that loop.

If PSampler Custom is niche, this one is a niche inside a niche inside a niche. You are already deep in advanced-sampling land if the words "guider" and "sigma schedule" don't faze you. That's the audience, and for them the pause is genuinely useful.

How it works

The mechanism is the same single trick as every node in the pack, one more time: after each denoising step a callback checks a shared pause flag, and while it's set the callback sleeps in 0.1s slices at a safe boundary. GPU goes idle, the process, model, and latent stay resident, and the buttons on the node POST to a /comfy/pause_signal endpoint to flip the flag. Nothing about the sampling math is touched - it's the stock guider.sample loop with a callback inserted.

What separates this node from the others is that the guidance strategy is fully external. The guider input (a GUIDER object from a guider-construction node) owns how conditioning steers the denoise - CFG scaling and friends happen inside it, not in the sampler. The noise input (a NOISE object) owns how random noise is generated. The sampler and sigmas own the algorithm and schedule. Your positive/negative and cfg are no longer direct inputs - they're baked into the guider you feed it. That's a real conceptual shift from KSampler, and the first time you wire this node you'll feel it.

Why pause here at all

Custom Advanced workflows are the most expensive, most surgical, most likely-to-be-a-multi-minute-run setups in ComfyUI - combining two samplers, unusual guiders, hand-tuned schedules. They're also where aborting feels worst, because half the effort was building the plumbing. Being able to stop at step 12, confirm the direction looks right, and resume - instead of nuking the queue - is the entire value proposition. Plus the same thermal relief as the rest of the pack: let a hot card cool mid-run.

Install

No dependencies, no requirements.txt, no model files - clone and go:

# ComfyUI Manager → "Install Custom Nodes" → search "FreezeFrame"
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/c0dezer019/FreezeFrame
# restart ComfyUI

It lives under sampling/FreezeFrame as ⏸ PSampler (Custom Advanced). (The README's manual-clone URL is a placeholder - use Manager or the real repo.)

Gotchas

The pack-wide rules: edits during a pause apply to the next queued job, not the running one; pauses land between steps, never mid-kernel; and the state is RAM-only, so a restart while paused loses the run. The two outputs - output (the sampled latent) and denoised_output (the model's clean x0 estimate) - behave exactly like stock Sampler Custom Advanced. This is a pause button on a power tool, not a rewire of it: if your workflow already runs on the stock node, swapping it in changes nothing except that you can now hit hold.

Categorysampling/FreezeFrame

Inputs (5)

NameTypeDefaultDescription
noiseNOISE
guiderGUIDER
samplerSAMPLER
sigmasSIGMAS
latent_imageLATENT

Outputs (2)

NameTypeDescription
outputLATENT
denoised_outputLATENT