✨ Wan Video Enhancer
A per-frame video enhancer that is just OpenCV with good PR
- frames
- output
Wan Video Enhancer has zero to do with Wan, and that's actually good news. Unlike the pack's Wan Video Generator, which downloads a real (old, non-Wan) diffusion model, this node is pure classical image processing - OpenCV filters applied frame by frame. No model, no download, no GPU-heavy inference. The "Wan" branding is decorative.
That makes it fast, deterministic, and useful. It takes a batch of frames (any IMAGE input - a video you've loaded, a frame sequence from an image-to-video node) and runs one of four operations across the whole batch. It's the "polish my clip" node you reach for when you don't want to spin up a neural enhancer for a basic cleanup.
The four modes
- Denoise -
cv2.fastNlMeansDenoisingColored, a non-local means filter. Strength 0–1 maps to the filter's intensity. Good for softening generated video noise; it'll also soften fine detail if you crank it. - Sharpen - an unsharp-style kernel applied per frame. The default mode, and the one most people actually want: generated video is often slightly soft, and a light sharpen reads as "crisper" without re-rendering.
- Upscale -
cv2.resizewith bicubic interpolation, byupscale_factor(1–4). Important: this is geometric upscaling, not AI upscaling. It makes the pixels bigger; it does not invent detail. Real upscalers (Real-ESRGAN-class) live elsewhere in ComfyUI. - Interpolate - doubles the frame count by averaging adjacent frames. It's linear frame blending, not optical-flow frame interpolation like RIFE. It smooths movement a bit but can ghost fast motion.
What you set
- frames - your IMAGE batch.
- enhancement_type - the mode above.
- strength - 0 to 1, the intensity for Denoise and Sharpen.
- upscale_factor - 1 to 4, only used by Upscale.
The output (output in the schema) is the enhanced frame batch, same shape or larger depending on mode. Wire it into your save/video-output node.
Where it fits
The pack groups this under "Models" but it's really a utilities node. Use it to tighten up a Wan or LTX clip before export, to denoise a noisy batch, or as a quick 2× bicubic upscale in a pinch. If you need quality, don't confuse bicubic with a real upscaler - the KB on upscaling is explicit that classic interpolation adds no detail. This node is the "good enough and instant" option, and it costs you literally nothing to run.
Installing it
Same pack - 24oiduts-ComfyUI:
- ComfyUI Manager: search 24oiduts, install, restart.
- Manual:
then restart.cd ComfyUI/custom_nodes/ git clone https://github.com/GeekyGhost/24oiduts-ComfyUI pip install -r 24oiduts-ComfyUI/requirements.txt
opencv-python is the only dependency that matters here, and ComfyUI or another pack almost certainly already pulled it in. The GitHub README is a stale Studio42 template ("not recommended for use", no license) - stale banner, working code.
Troubleshooting
- Frames come back unchanged - if OpenCV isn't installed, the node's helper functions return the input untouched.
pip install opencv-pythonand restart. - "Interpolate" produces an odd frame count - the implementation appends frames in a slightly quirky order. If you care, run it once and count; it's a rough double, not a clean 2×.
- Upscale looks soft - expected; that's bicubic. Use a real upscaler for detail.
For a free, instant, per-frame enhancer with no model baggage, this is the node to reach for - just don't expect AI magic under the LCARS hood.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — | |
| enhancement_type | COMBO | Sharpen | 4 options: Denoise, Sharpen, Upscale, Interpolate |
| strength | FLOAT | 0.50–1 | — |
| upscale_factor | INT | 21–4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | IMAGE | — |