Wanv2v: Upscaler
A batch upscaler for your video frames that actually watches its VRAM
- images
- upscaled_images
Wan's happy place is 480p/720p. If you want a final file at 1080p, something has to upscale the frames after the fact, and doing that for a few hundred frames one by one by hand is misery. WanV2VUpscaler is this pack's answer: a single node that upscales a whole IMAGE batch using whatever upscale model you already have, built so it doesn't run you out of VRAM halfway through.
Under the hood it's a Spandrel loader wrapped in batching and tiling. You pick an upscale_model_name from the dropdown - that's the contents of your ComfyUI/models/upscale_models folder, the same ESRGAN-family models (4x-UltraSharp, RealESRGAN, Remacri) the image world has been using for years. Spandrel loads it and demands a single-image upscale model (ImageModelDescriptor); feed it a restoration or video model and it throws a specific "requires a single-image upscale model" error. Each frame goes through ComfyUI's tiled_scale at 512px tiles with a 32px overlap, which is the VRAM guard: if it hits an out-of-memory it automatically halves the tile size and retries, down to a 128px floor. Frames are processed in batches of batch_size (4 default), results are parked on the CPU immediately, and the whole output is stacked on the CPU at the end - the source explicitly notes this is the fix that stopped OOM during assembly. The model gets moved back to CPU when done, so the next node can use the VRAM.
Inputs that matter: images (the batch), upscale_model_name, batch_size (1–64; lower it if the tiling is fighting you), and device (gpu or cpu - gpu is what you want, cpu exists for emergencies). Output is upscaled_images, one IMAGE batch at whatever scale factor your model does.
Be honest about what this node is: a per-frame upscaler with zero temporal cleverness. The upscaling playbook is blunt that video is the unsolved case - every frame has to agree with its neighbors, and a frame-by-frame ESRGAN pass doesn't know or care about that. What this node is good for is the "more pixels" job: blowing a clean 720p render up to 1080p or 4K for final encode, where there's no detail to invent and nothing to drift. If you're chasing "more detail" or trying to fix flicker, this won't do it. It's the plain, reliable pixel-doubler, which is exactly what most of us need before shipping.
Install is the pack standard, no model downloads - the upscale model itself is yours from upscale_models:
cd ComfyUI/custom_nodes
git clone https://github.com/Kishor900/comfyui-wanv2v-video-stitcher
Restart ComfyUI and it appears under Wanv2v/upscaling (ComfyUI Manager: search "ComfyUI WANv2v Video Stitcher"). Dependency note: it needs Spandrel, which ComfyUI bundles these days, so it usually just works. The optional spandrel_extra_arches for exotic model architectures is imported only if present - its absence logs a warning, not a crash.
If you get the "single-image upscale model" error, you've pointed it at a model Spandrel reads as a different descriptor type - swap in a standard ESRGAN checkpoint. If you OOM anyway, the tiler should rescue you; if it bails at the 128px floor, reduce the input resolution or batch_size rather than fighting it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| upscale_model_name | COMBO | 0 options: | |
| batch_size | INT | 41–64 | — |
| device | COMBO | gpu | 2 options: gpu, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscaled_images | IMAGE | — |