Fast Video Interlaced Upscaler V4
The fast video upscaler people actually run on 8GB laptops
- images
- IMAGE
Here's a real-world data point: a r/comfyui user upscaled a 960×540 clip to 1920×1080 with this exact node on an 8GB VRAM laptop - about 80 seconds for a 9-second 24fps clip, and down to ~31 seconds after switching precision to full and tweaking the workflow. That's the pitch for VideoInterlaceFastV4: it's the "fast" version of the pack's interlaced upscaler, trading the fancy field-simulation of V2 for raw speed, and it's the one people genuinely run for quick video upscales on modest hardware.
How it works
Four mode presets trade quality against speed, each mapping to a different pipeline:
- fastest - pure bilinear upscaling via
torch.nn.functional.interpolate. Nothing else. Millisecond-fast, softest result. - fast - Lanczos upscaling through OpenCV (
INTER_LANCZOS4), no motion compensation. - balanced (default) - Lanczos plus a cheap temporal motion compensation: each frame is blended with its neighbors at ~20%, which smooths flicker and gives that slightly video-y, stable feel.
- quality - balanced's pipeline plus a Sobel edge enhancement pass for extra perceived sharpness.
You tell it the source input_height / input_width, set scale_factor (1.5 default, up to 4.0), and it computes the target size and processes frames in batch_size chunks (default 4, up to 16) so a long clip doesn't blow up VRAM. The precision option (half vs full) is worth knowing - half uses fp16 on GPU for speed; the reddit poster found full precision "works better" on their card, so if output looks off, switch to full.
enable_motion_comp toggles the neighbor-blending in balanced/quality. Keep it on unless you see ghosting - it's what makes the upscale look temporally coherent rather than each frame fighting its neighbors (the KB's upscaling essay hammers this: video upscaling is "more pixels over time," and the frames have to agree).
The inputs
images, mode, input_height, input_width, scale_factor, plus optional enable_motion_comp, batch_size, precision. Output is one IMAGE tensor at the target resolution.
Installing
Part of DJZ-Nodes (Drift Johnson / MushroomFleet):
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Or search "DJZ-Nodes" in ComfyUI Manager. Requires opencv-python (in the pack's requirements) for the Lanczos path.
Honest take
This is a convenience upscaler, not a restoration one. It adds pixels; it doesn't invent detail. If your source is already-decent 720p and you need a quick 1080p deliverable, V4 on balanced is the right tool - fast, memory-friendly, no model download. If you're upscaling genuine 240p garbage, a generative model (SeedVR2-class) is the correct tool per the KB, and no Lanczos will save you. Start with balanced + half precision, flip to full precision if the result looks smeared, and feed it frames from a video loader like the pack's LoadVideoDirectory.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| mode | COMBO | balanced | 4 options: fastest, fast, balanced, quality |
| input_height | INT | 720480–4320 | — |
| input_width | INT | 1280640–7680 | — |
| scale_factor | FLOAT | 1.51–4 | — |
| enable_motion_compopt | BOOLEAN | true | — |
| batch_sizeopt | INT | 41–16 | — |
| precisionopt | COMBO | half | 2 options: full, half |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |