Sign In

🎥 Complete Guide: Video Interpolation + Upscaling Workflow for ComfyUI (GIMMVFI + FlashVSR)

Loading Images

🎥 Complete Guide: Video Interpolation + Upscaling Workflow for ComfyUI (GIMMVFI + FlashVSR)

https://disk.yandex.ru/d/t5QtLkr3s1tzNA

This workflow is a dual-stage processing pipeline that combines frame interpolation with resolution upscaling to transform low-quality videos into smooth, high-definition results. Using GIMMVFI for motion interpolation and FlashVSR for resolution enhancement, it's perfect for animation, memes, archival footage restoration, and AI-generated video enhancement.


🔥 What This Workflow Achieves

  1. Frame Interpolation (GIMMVFI):

    • Increases frame rate 2-8× (e.g., 24 FPS → 48 FPS)

    • Eliminates choppiness by generating intermediate frames

    • Creates fluid motion even from low-framerate source material

  2. Resolution Upscaling (FlashVSR):

    • Enhances video resolution 2-4× while preserving details

    • Corrects compression artifacts and blur

    • Maintains temporal consistency across frames

  3. Dual Output Options:

    • Interpolated video only (maintaining original resolution)

    • Fully enhanced video (interpolated + upscaled)


🔧 Prerequisites & Setup

1. Required Custom Nodes

# Main workflow components

cd ComfyUI/custom_nodes

git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite

git clone https://github.com/GIMM-TEAM/ComfyUI-GIMM-VFI

git clone https://github.com/11cafe/comfyui-flashvsr

# Optional but recommended for preprocessing

git clone https://github.com/Fannovel16/comfyui_controlnet_aux


Restart ComfyUI after installation.

2. Required Models

  • GIMMVFI:

    • Download gimmvfi_r_arb_lpips_fp32.safetensorsComfyUI/models/gimmvfi/

    • Source: Hugging Face

  • FlashVSR:

    • Download FlashVSR-v1.1_full.safetensorsComfyUI/models/flashvsr/

    • Source: Hugging Face


⚙️ Step-by-Step Workflow Configuration

Step 1: Import the Workflow

  1. Save the workflow JSON as interpolation_upscale_workflow.json

  2. In ComfyUI, click Load → select the file

  3. The workflow will appear on your canvas with all nodes connected

Step 2: Load Your Source Video

  • Node: VHS_LoadVideoFFmpeg (pink node)

  • Critical parameters:

    • Click 📁 Choose video to upload to select your source file

    • force_rate: Set to 0 to maintain original frame rate before processing

    • frame_load_cap: For testing, set to 100 to limit processing to first 100 frames

    • force_size: Keep as Disabled unless you need to standardize input resolution

Step 3: Configure Frame Interpolation (GIMMVFI)

  • Node: GIMMVFI_interpolate (blue node)

  • Essential parameters:

    • ds_factor (Downscale Factor):

      • 1.0: Process at full resolution (best quality)

      • 0.5: Process at half resolution (VRAM-saver mode)

    • interpolation_factor:

      • 2: Double the frame rate (recommended for beginners)

      • 4: Quadruple the frame rate (advanced, requires powerful GPU)

    • seed: Use fixed with a specific seed value for reproducible results

Step 4: Configure Resolution Upscaling (FlashVSR)

  • Node: FlashVSRNode (purple node)

  • Performance-critical settings:

    • mode:

      • tiny: For GPUs with ≤12GB VRAM

      • full: Maximum quality (requires ≥16GB VRAM)

    • scale:

      • 2: 2× upscaling (optimal balance of quality/speed)

      • 4: 4× upscaling (extreme detail, very slow)

    • tiled_vae & tiled_dit: Enable (true) for VRAM optimization

    • tile_size: 320 (standard) or 256 (for lower VRAM)

    • sparse_ratio: 0.24 (optimal motion preservation)

Step 5: Configure Output Settings

  • For interpolated-only output (left VHS_VideoCombine):

    • frame_rate: Set to original FPS × interpolation_factor

    • filename_prefix: Interpolated_video

    • crf: 19 (high quality) to 23 (balanced)

  • For full enhanced output (right VHS_VideoCombine):

    • Same frame rate as above

    • filename_prefix: Enhanced_video

    • pix_fmt: yuv420p (maximum compatibility)

Step 6: Execution

  1. Click Queue Prompt

  2. Monitor VRAM usage in console (critical for long videos)

  3. Results appear in ComfyUI/output/ when complete


✅ Advantages of This Workflow

  • Temporal Coherence: GIMMVFI ensures smooth transitions between frames before upscaling

  • Detail Preservation: FlashVSR maintains textures and fine details lost in standard upscaling

  • Resource Flexibility: Tile processing options allow adaptation to various GPU capabilities

  • Non-Destructive: Original video characteristics are preserved while enhancing quality

  • Batch Processing: Can be extended to process multiple videos sequentially


⚠️ Limitations & Workarounds

1. VRAM Limitations

  • Problem: "CUDA out of memory" errors on complex videos

  • Solutions:

    • Set ds_factor = 0.5 in GIMMVFI node

    • Enable tiled_vae = true and reduce tile_size to 256

    • Process videos in segments using frame_load_cap

2. Motion Artifacts

  • Problem: "Ghosting" or blurring in high-motion scenes

  • Solutions:

    • Reduce interpolation_factor to 2× instead of 4×

    • Adjust GIMMVFI's motion estimation with custom parameters

    • Add a post-processing node with temporal smoothing

3. Processing Time

  • Problem: Extremely long render times for high-resolution videos

  • Optimizations:

    • Use Lightning mode (4-step sampling) for drafts

    • Process at 512px resolution first, then upscale final result

    • Disable preview generation during batch processing


💡 Pro Tips for Best Results

GPU-Specific Optimization

Content-Specific Adjustments

  • Animation/Anime:

    • Enable color_fix=true in FlashVSR

    • Use lower sparse_ratio (0.18) for sharper lines

  • Live Action:

    • Increase kv_ratio to 0.4 for better motion handling

    • Set crf=21 in output for balanced file size/quality

  • Text/Screen Recording:

    • Disable interpolation (remove GIMMVFI nodes)

    • Use FlashVSR with scale=2 only for clarity

Advanced Techniques

  1. Two-Pass Enhancement:

    • First pass: Interpolate only (output intermediate video)

    • Second pass: Load intermediate video and upscale only

    • Benefit: Better memory management for long videos

  2. Dynamic Resolution:

    • Use conditional nodes to automatically adjust tile_size based on input resolution

    • Create resolution-specific workflow variants (SD/HD/4K)

  3. Audio Synchronization:

    • Enable trim_to_audio=true in VHS_VideoCombine for perfect audio sync

    • Use external tools like Audacity for audio cleanup before processing


📊 Performance Benchmarks (RTX 4090)



🔧 Complete Parameter Reference


🚀 Getting Started: Quick Configuration Guide

  1. For first-time users:

    • Use a short test clip (10-15 seconds)

    • Set frame_load_cap=50

    • Use scale=2 and interpolation_factor=2

    • Enable all tile processing options

  2. Troubleshooting workflow:

    • If nodes appear disconnected, use the reroute points (small circles on wires)

    • If models aren't loading, verify file paths in the node properties

    • For persistent errors, check ComfyUI console logs for specific error messages

  3. Progressive enhancement strategy:

    • Start with interpolation only to verify motion quality

    • Add upscaling once interpolation looks good

    • Fine-tune parameters after validating the complete pipeline


✨ Final Thoughts: This workflow represents the cutting edge of AI video enhancement, combining temporal and spatial super-resolution techniques. While resource-intensive, the results can transform amateur footage into professional-looking content. Start small with short clips and conservative settings, then gradually increase complexity as you understand your hardware's capabilities.

Pro Tip: For animation projects, process in 30-frame segments and stitch together in post-production—this approach yields more consistent results for longer videos while managing VRAM constraints effectively.

Comments