Wan Frame Enhancer
Upscale and hit 30fps in one pass — but don't expect a new render
- images
- images
- framerate
Wan Frame Enhancer (WanVideoEnhancer_F2) is the pack's finishing move: it takes the frames the sampler output and does two classic post jobs in one node - upscale and frame interpolation. Wan natively renders at 16fps, which looks fine until you actually watch it, and it renders at 480p/720p, which looks fine until you want more. This node is the bridge between "model output" and "video you'd show someone."
Set your expectations first, because the name oversells it. This is not a regeneration or a detail-adding pass. It's a pixel upscaler plus a motion-interpolator, in whatever order you choose. It makes your clip bigger and smoother, but it can't invent texture a generative upscaler would - it's the difference between ESRGAN-style upscaling and a full img2img pass. For making a 720p Wan clip into a smooth, crisp 1080p30 deliverable, that's exactly the tool you want.
How it works
The upscale path loads any single-image upscaler you've dropped in models/upscale_models (it uses spandrel under the hood - the same loader ComfyUI core uses, so RealESRGAN/4x-UltraSharp-style models work), runs it tiled at 512px with overlap so you don't blow VRAM, then scales the result by upscale_factor with Lanczos to hit your exact target (the model's own scale isn't the final word - the factor is).
The interpolation path is RIFE - rife47.pth, rife48.pth or rife49.pth - which the node auto-downloads from a GitHub release into models/vfi_models on first use (no manual fetch). It inserts frames to bring the clip to interpolate_frame (30 or 60fps) and its whole job is smoother motion. order lets you pick upscale_first (default) or interpolate_first - upscale-then-interpolate is the sane choice; interpolating before upscaling means the interpolator works on smaller frames, which is faster but slightly less clean.
The inputs that matter
- images - the sampler's output.
- upscale_model - pick from your
upscale_modelsfolder, ordisabledto skip upscaling entirely. - interpolate_model -
disabledor one of the RIFE checkpoints. - upscale_factor - 1.0 to 8.0. If you're upscaling a 480p render to 720p, that's 1.5; to 1080p, 2.25. Don't max it out and expect magic.
- interpolate_frame - 30 or 60. That's your target fps, and it does double duty as the
framerateoutput. - order - as above.
Outputs are images and framerate. This is the one node whose second output matters: wire framerate into the frame_rate input of your VHS_VideoCombine save node so your 30fps clip actually saves as 30fps instead of a sped-up 16fps. The framerate output is 16 when interpolation is off, otherwise your chosen 30/60 - the node computes it for you.
Installing
The flow2-wan-video pack again: ComfyUI Manager → flow2-wan-video, or clone https://github.com/Flow-two/flow2-wan-video.git into custom_nodes and pip install -r requirements.txt. The RIFE checkpoints self-download on first interpolation; the upscaler you bring yourself (any upscale_models file).
Troubleshooting
- First interpolation run is slow - it's downloading the RIFE checkpoint and warming up. Subsequent runs are fine.
- VRAM spikes on upscale - the node tiles at 512 with overlap and halves the tile on OOM automatically, but very long clips at high factors can still chug. Keep
upscale_factorhonest. - Skipped steps: if
upscale_modelorinterpolate_modelisdisabled, the node just prints a "skipping" line and passes frames through - which is how you use it as a pure upscaler or pure interpolator. - And the pack's standing warning: flow2-wan-video monkey-patches global ComfyUI internals, and it's repeatedly been blamed for breaking native Wan workflows. It's not specific to this node, but if your other workflows break while the pack is installed, move the pack out of
custom_nodesto test.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| upscale_model | COMBO | 1 options: disabled | |
| interpolate_model | COMBO | 4 options: disabled, rife47.pth, rife48.pth, rife49.pth | |
| upscale_factor | FLOAT | 1.001–8 | — |
| interpolate_frame | INT | 3030–60 | — |
| order | COMBO | 2 options: upscale_first, interpolate_first |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| framerate | INT | — |