Nodes/ComfyUI Inspire Pack/KSampler Advanced Progress (Inspire)
ComfyUI Node Runs on cloud

KSampler Advanced Progress (Inspire)

Make a video of the denoising process

By ltdrdata·Created 3 years ago·Updated 9 months ago· 805
KSampler Advanced Progress (Inspire)
  • model
  • positive
  • negative
  • latent_image
  • prev_progress_latent_opt
  • scheduler_func_opt
  • latent
  • progress_latent
add_noisetrue
noise_seed0
steps20
cfg8.0
sampler_name
scheduler
start_at_step0
end_at_step10000
noise_mode
return_with_leftover_noisefalse
interval1
omit_start_latentfalse
omit_final_latentfalse

You know those satisfying videos where an image resolves out of static, step by step? This is the node that makes them. It's a normal advanced KSampler that, on top of the final image, also spits out every intermediate step as a batch of latents. Decode that batch, run it through a Video Combine node, and you've got a clip of your generation denoising from noise to finished picture.

It's genuinely useful beyond eye-candy. Watching the progress is one of the fastest ways to understand a sampler: you can literally see when composition locks in (usually early), when detail arrives, and whether a bad result went wrong at step 3 or step 30. As the category name - analysis - suggests, that's the real intent. The pretty video is a bonus.

How it works

A standard sampler throws away the latent at each step and only keeps the last one. This node captures snapshots along the way and stacks them into a second latent batch. Everything else is a regular advanced sampler - same model, conditioning, step-range and noise-mode controls - it just also hands you the reel of intermediates.

Because the snapshots come out as a latent batch, the downstream flow is: progress_latent → VAE Decode → Video Combine (from Kosinkadink's VideoHelperSuite). That's the pairing the README calls out for turning the progress into an actual video file.

The inputs and outputs that matter

Standard sampler inputs (model, positive, negative, latent_image, steps, cfg, sampler_name, scheduler, plus noise_mode and the start_at_step / end_at_step advanced controls) are all here. The ones specific to this node:

  • interval (default 1) - capture a snapshot every N steps. At 1 you get every step (smoothest video, biggest batch); raise it to thin out the frames and save memory on long sampling runs.
  • omit_start_latent / omit_final_latent (default off) - drop the first or last frame from the reel. Handy when the pure-noise opening frame or a duplicate final frame is cluttering your clip.
  • prev_progress_latent_opt (optional) - feed in the progress reel from an earlier sampler so a multi-stage pipeline produces one continuous video instead of two disconnected ones.

Two outputs:

  • latent - the finished image, exactly like any sampler.
  • progress_latent - the batch of intermediate steps. Decode and animate this one.

How to install it

ComfyUI Manager: search ComfyUI Inspire Pack, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack

then restart. Dr.Lt.Data's pack (ComfyUI-Manager, Impact Pack).

Common issues & troubleshooting

VRAM spikes or OOM on long runs. Every captured step is a latent held in memory, so a 50-step run at interval 1 keeps 50 of them around. If you're running out, raise interval to capture fewer frames, or lower your step count. This is the one real cost of the node.

The video is jumpy. Small step counts make choppy clips - there just aren't many frames. Either sample with more steps, or hold each frame longer in Video Combine (drop the frame rate). interval 1 gives the maximum frames available.

First frame is pure noise / last frame flickers. Use omit_start_latent and omit_final_latent to trim them.

Nothing to combine into a video. You need a video node downstream - VideoHelperSuite's Video Combine is the one the README points at. Decode progress_latent through a VAE first, then feed the image batch into Video Combine.

Progress and final look different. They shouldn't - the final frame of the reel is the same image as the latent output (unless you omitted it). If they diverge, check you didn't accidentally wire the two outputs to the wrong places.

CategoryInspirePack/analysis

Inputs (19)

NameTypeDefaultDescription
modelMODEL
add_noiseBOOLEANtrue
noise_seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT8.00–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO17 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +11
positiveCONDITIONING
negativeCONDITIONING
latent_imageLATENT
start_at_stepINT00–10000
end_at_stepINT100000–10000
noise_modeCOMBO4 options: GPU(=A1111), CPU, GPU+internal_seed, CPU+internal_seed
return_with_leftover_noiseBOOLEANfalse
intervalINT11–10000
omit_start_latentBOOLEANfalse
omit_final_latentBOOLEANfalse
prev_progress_latent_optoptLATENT
scheduler_func_optoptSCHEDULER_FUNC

Outputs (2)

NameTypeDescription
latentLATENT
progress_latentLATENT