2026-02-01 14:13:24 +04:00
2026-02-01 13:53:46 +04:00
2026-02-01 13:53:46 +04:00
2026-02-01 13:53:46 +04:00
2026-02-01 13:49:01 +04:00
2026-02-01 14:13:24 +04:00
2026-02-01 13:53:46 +04:00
2026-02-01 13:53:46 +04:00

License: MIT Python Version Made for ComfyUI

SnJake Sapsan-VFI is a custom ComfyUI node for x2 video frame interpolation. It inserts one in-between frame for every input pair, doubling the FPS.


Examples

https://github.com/user-attachments/assets/3730d3f7-687e-47de-a6e4-353493264a8c

https://github.com/user-attachments/assets/2f591a99-2789-426d-b4a3-7844f66f1101

https://github.com/user-attachments/assets/1ae8d400-6758-44f6-bd56-fc17d3f3bc06


Installation

The installation consists of two steps: installing the node and making the weights available.

Step 1: Install the Node

  1. Open a terminal or command prompt.
  2. Navigate to your ComfyUI custom_nodes directory.
    # Example for Windows
    cd D:\ComfyUI\custom_nodes\
    
    # Example for Linux
    cd ~/ComfyUI/custom_nodes/
    
  3. Clone this repository:
    git clone https://github.com/SnJake/SnJake_Sapsan-VFI.git
    
  4. For standard ComfyUI installations (with venv):
    1. Make sure your ComfyUI virtual environment (venv) is activated.
    2. Navigate into the new node directory and install the requirements (if needed):
      cd SnJake_Sapsan-VFI
      pip install -r requirements.txt
      
    For Portable ComfyUI installations:
    1. Navigate back to the root of your portable ComfyUI directory (e.g., D:\ComfyUI_windows_portable).
    2. Run the following command to use the embedded Python to install the requirements. Do not activate any venv.
      python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\SnJake_Sapsan-VFI\requirements.txt
      

Step 2: Model Weights

On first use the node can automatically download weights from the repository.

  • Default weights location: ComfyUI/models/sapsan_vfi/
  • Available weights on HF: Sapsan-VFI.safetensors and Sapsan-VFI.pt

If you want to download manually:

  1. Download the weights from the HF repo: https://huggingface.co/SnJake/Sapsan-VFI.
  2. Place the file(s) into ComfyUI/models/sapsan_vfi/.

Step 3: Restart

Restart ComfyUI completely. The node will appear under 😎 SnJake/VFI.


Usage

The node menu path is 😎 SnJake/VFI.

Inputs

  • weights_name: Select weights from the dropdown (auto-download if missing).
  • images: Input frame batch (IMAGE) from your video loader.
  • fps (optional): Input FPS from GetVideoComponents (used to output x2 FPS).
  • t: Interpolation time (default 0.5).
  • pad_multiple: Padding multiple (0 = use config.yaml).
  • match_brightness: Match predicted frame brightness to inputs (reduces flicker).
  • amp: Precision (auto, bf16, fp16, none).
  • device: Device (auto, cuda, cpu).
  • torch_compile: Enable torch.compile (optional optimization).
  • console_progress: Print progress to the ComfyUI console.

Outputs

  • images: Interpolated frames (x2 length minus 1).
  • fps: Output FPS (input FPS * 2, or 0 if not provided).

Training Details

  • Created out of curiosity and personal interest.
  • Total epochs: 11
  • Dataset: 2700 videos
  • Shards: 151 shards of 1000 shadrs in each. 151 000 triplets.

Training code is included in training_code/ for reference.


Disclaimer

This project was made purely for curiosity and personal interest. The code was written by GPT-5.2 Codex.


License

MIT.

S
Description
No description provided
Readme MIT
99 KiB
Languages
Python 100%