Wan Video Cache Videos (QQ)
Cache your frames as an MP4 so you stop re-running the same 81 frames
- images
- images
Here's the iteration loop that wastes most of your time in video work: you decode a clip, tweak one downstream parameter, and ComfyUI re-runs the whole graph - including the expensive decode - because nothing was cached. WanVideoCacheVideos is the cheat: it writes the video frames you give it to disk as a real MP4, and the next time you load the workflow with no input connected, it reads that MP4 back instead of redoing the work. The README calls the feature "mp4 multi cache - save/load steps between samplers," and that's exactly the use case.
It's part of siraxe's experimental ComfyUI-WanVideoWrapper_QQ pack (renamed ComfyUI-SA-Nodes-QQ), a collection of video-tooling nodes layered on Kijai's ComfyUI-WanVideoWrapper. In the pack's utils category, it behaves like a passthrough with memory: with input, it saves; without input, it loads.
How it works
It's a dual-mode node, which is the thing that confuses people at first. When save_over is on (default) and you feed it images, it encodes them to H.264 MP4 at 16 fps, CRF 18, saves to disk, and passes the frames straight through. When images is left unplugged, it flips to load mode and reads the MP4 back into an image tensor - the same frames, ready to feed the next stage. Flip save_over off and it's load-only: it ignores any input and reads the cache, erroring if the file isn't there.
Where does it save? Inside ComfyUI's output directory, under a folder named by cache_path (default cache_data) and a file named by cache_name. Note the path is sanitized to its basename, so it's always relative to your output folder - no absolute paths. There's a multi-cache mode too: save_multiple numbers successive saves, and use_multi_cached + cache_num let you load a specific numbered version. Useful when you're A/B testing a later stage against several cached decodes.
The trickier dependency: MP4 encoding needs ffmpeg. The node looks for it via the VHS_FORCE_FFMPEG_PATH env var, then imageio-ffmpeg (the same shim VideoHelperSuite uses), then your system PATH. If none of those exist, it raises an error that tells you exactly this - and pip install imageio-ffmpeg or a system ffmpeg install fixes it.
The inputs that matter
images- the video frames to cache. Leave unplugged to load instead.save_over- save mode (true) vs. load-only (false).cache_path/cache_name- where and under what name it lands in your output folder.save_multiple+cache_num- only reach for these when you need more than one version.
Output is a single images tensor - either your passthrough or the loaded frames - so it drops straight back into the same wire.
Installing it
Via ComfyUI Manager (search "ComfyUI-SA-Nodes-QQ") or:
cd ComfyUI/custom_nodes
git clone https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ.git
Restart after cloning. The pack itself has no pip requirements - the ffmpeg requirement is on you, and only for this node.
Where people get burned
Two classic fails. First, saving then loading on a fresh run is fine, but if you leave images disconnected with save_over on and the file doesn't exist yet, it throws a FileNotFoundError instead of silently giving you nothing - that's by design, so read the console. Second, the ffmpeg error. If you see it, don't fight the pack's detection; just make sure ffmpeg is on PATH or install imageio-ffmpeg. And remember the cache only holds decoded frames, not latents - if you want to skip sampling steps (not just decode), the pack has a separate sample-caching sibling (WanVideoCacheSamples) for exactly that.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| cache_path | STRING | cache_data | — |
| cache_name | STRING | wanvideo_cached_video.mp4 | — |
| save_over | BOOLEAN | true | — |
| imagesopt | IMAGE | — | |
| save_multipleopt | BOOLEAN | false | — |
| use_multi_cachedopt | BOOLEAN | false | — |
| cache_numopt | INT | 11–999 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |