Nodes/WAS Node Suite v3/EMA-VFI Model Loader
ComfyUI Node Runs on cloud

EMA-VFI Model Loader

The half of EMA-VFI you always forget — the weights loader

By WASasquatch·Created 3 years ago·Updated 4 days ago· 1,844
EMA-VFI Model Loader
    • ema_vfi_model
    checkpoint

    EMA-VFI Frame Interpolation is the node that does the actual work, but it never does it alone - it needs a built EMA-VFI network handed to it, and that's this node's whole job. EMA-VFI Model Loader is the boring, essential upstream: you pick which checkpoint you own, it builds the network from it, and it hands the result to the interpolation node on an ema_vfi_model wire.

    Boring is good here. It's a loader in the classic ComfyUI mould - checkpoint dropdown in, model out - and the things you need to know are about the weights, not the node's internals.

    Which checkpoint to pick

    The dropdown lists whatever EMA-VFI files it can see on disk, and the naming tells you everything:

    • ours / ours_small - the full and small models. Small is faster and less accurate. Both were trained to synthesize a frame halfway between two inputs.
    • ours_t / ours_small_t - the same pair, trained to land anywhere between two frames. These are the ones a multiplier above 2 needs, because multiplying by 4 or 8 asks the network to invent frames at quarter positions, not just the midpoint.

    So the practical rule: multiplier 2 → any of them; multiplier 4 or 8 → an ours_t model. If you only want to download one file, make it ours_small_t unless accuracy matters more than speed on your card.

    How it works

    The loader builds the network to match the checkpoint's architecture - the full and small models are built differently (different width and block counts), which is why the file you pick dictates the build. Two details are genuinely useful:

    • The network is kept for the life of the process, so one loader can feed several interpolation nodes without the network being built again each time. Keep one loader, fan its output out.
    • It hands you the model on the pack's own EMA_VFI_MODEL socket type - it won't plug into anything but the interpolation node's ema_vfi_model input, which keeps you from wiring a video network into something that expects a diffusion model by mistake.

    The output is exactly one thing: ema_vfi_model, for the interpolation node.

    Installing it - weights live in models/EMA-VFI

    The loader itself ships with WAS Node Suite v3 (ComfyUI Manager → search WAS Node Suite v3, or clone into custom_nodes). The network code is vendored in the pack, but the checkpoint is not bundled - the node can't read your mind about which one you want, and the pack doesn't download gigabytes behind your back. Two routes, same as the interpolation node:

    1. Auto-fetch: set network: true under features: in <ComfyUI user dir>/was-node-suite/config.yaml, and a checkpoint you pick that isn't on disk yet is fetched on the first run that needs it - from WAS/EMA-VFI on Hugging Face, a mirror of the upstream release because upstream ships its weights as pickles inside a Drive folder.
    2. Manual: put a checkpoint in ComfyUI/models/EMA-VFI/ and restart so it appears in the dropdown.

    If the loader's list looks empty, the folder is the answer - ComfyUI/models/EMA-VFI is where it looks, and a restart is what makes a new file show up. That's the entire troubleshooting guide for this node, because once the file is visible the build just works.

    CategoryWAS Suite/Loaders

    Inputs (1)

    NameTypeDefaultDescription
    checkpointCOMBOWhich EMA-VFI weights to build. The 'small' files are faster and less accurate; the '_t' files can land anywhere between two frames and are the ones a multiplier above 2 needs. A name not yet on disk is fetched on the first run that needs it.

    Outputs (1)

    NameTypeDescription
    ema_vfi_modelEMA_VFI_MODELThe built network, for the ema_vfi_model input of EMA-VFI Frame Interpolation.