Nodes/ComfyUI-StepByStep-Sampler/Step-by-Step Player
ComfyUI Node

Step-by-Step Player

Turn a Step Sequence into a Playable Animation

By TakkunRed·Created 5 months ago·Updated 5 months ago· 2
Step-by-Step Player
  • images

    The StepByStepSampler captures the image at every step, but a pile of numbered frames isn't an answer - it's homework. StepStepPlayer is the in-node player that turns the sampler's STEP_IMAGES batch into a scrubbable animation: a slider at the bottom of the node, a Play button, and the generation process running in front of you like a flipbook of diffusion.

    It's the simplest node in the pack, honestly. One input, no outputs, one job.

    What it takes

    A single images input, typed IMAGE. In practice that means the STEP_IMAGES socket on the pack's own StepByStepSampler, but there's nothing stopping you from feeding it any batched image sequence - the node doesn't know or care where the frames came from.

    It's an output node, so don't go hunting for a socket to route somewhere. It renders its widget and you're done.

    How it works

    Mechanically it's frontend wizardry. The Python side base64-encodes each frame as a JPEG (quality 85, so the on-node preview is slightly lossy - fine for inspecting progress), pushes them over ComfyUI's websocket to the bundled JS extension, and that extension draws the image plus the slider and Play button you see on the canvas.

    Install

    Same pack as the sampler, so one install gets you all three nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/TakkunRed/ComfyUI-StepByStep-Sampler.git
    

    or search "ComfyUI-StepByStep-Sampler" in ComfyUI Manager, then restart.

    Gotchas

    Because it's a frontend viewer, it's only as good as the browser tab attached to your session. The classic failure: the node appears but shows "Waiting for data..." or a blank box. That usually means the JS extension never loaded - restart ComfyUI and hard-refresh the browser (Ctrl+Shift+R) so the extension registers. It's also near-useless in headless/API runs: the frames just land in the workflow's UI results as JPEG data URIs, which is at least something.

    Pair it with save_interval = 1 on the sampler and you get the full movie, step by step.

    Categorycustom_nodes/viewers

    Inputs (1)

    NameTypeDefaultDescription
    imagesIMAGE

    Outputs (0)

    No outputs