TS Animation Preview
Actually see your animation before you pay for the encode
- images
- audio
The standard way to check an animation in ComfyUI is to render it, save it, and then watch it in another app - which means the whole encode has to finish before you've seen a single frame move. TS Animation Preview exists so you don't have to. Drop it at the end of any graph that outputs an image batch (video generation, frame interpolation, an animated image sequence) and it renders a looping H.265 video right inside the node. The README's framing is exactly right: "beats running a sampler twice to see your animation."
This is the pack's answer to the classic "QA before you spend VRAM on the final encode" workflow. Wire an image batch in, set the fps, run, and you get an in-node player with the actual motion - no intermediate file, no external player.
How it works
It takes your images batch and the fps you want to view it at, encodes a looping H.265 preview, and plays it in the node body. H.265 rather than H.264 because it's much smaller at the same quality - for a preview that's going to live in the node and nowhere else, that's the right trade. Encoding runs on the GPU/fast path through the pack's ffmpeg setup (via the imageio-ffmpeg binary), and it's fast enough to feel like a preview rather than a render.
The optional audio input is the extra: if you have a soundtrack, wire it in and it gets muxed into the preview, trimmed or padded to match the video duration. That's what turns "checking the motion" into "checking the scene" - you can see whether the lip movements or the beat hits land before committing to the real export.
The inputs that matter
images- the batch of frames. The whole point of the node.fps- playback frame rate of the preview (default 25). This is the display cadence, not the file's metadata - it's how fast the preview plays, which is how you judge whether your 12 fps animation reads as smooth.audio(optional) - the soundtrack, muxed in and auto-fit to the clip length.
No outputs - it's a pure preview/output node.
Installing it
Part of comfyui-timesaver: ComfyUI Manager → search "Timesaver" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt
Restart ComfyUI. The H.265 encode depends on the pack's bundled ffmpeg, which is why imageio-ffmpeg is a required dependency - don't remove it.
Gotchas
If the preview fails with an ffmpeg error, it's that imageio-ffmpeg binary again; reinstall it with the Python ComfyUI uses (python -m pip install --upgrade imageio-ffmpeg, on Windows portable: python_embeded\python.exe -m pip install --upgrade imageio-ffmpeg). And a word on expectations: this is a preview, so don't judge final quality from it - H.265 at preview settings is fine for motion, pacing, and audio sync, not for pixel-level detail. That's what the real saver is for. Use this node to iterate cheaply, then spend the encode once you're happy.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Image batch [B,H,W,C] rendered into the looping H.265 preview video. | |
| fps | FLOAT | 251–120 | Playback frame rate of the generated preview video. |
| audioopt | AUDIO | Optional audio track muxed into the preview. Trimmed or padded to match the video duration. |
Outputs (0)
No outputs