Nodes/ComfyUI-TP-OmnimatteZero/🎬 Omnimatte Loader
ComfyUI Node

🎬 Omnimatte Loader

The node that eats 48 GB for lunch

By tpc2233·Created 7 months ago·Updated 7 months ago· 36
🎬 Omnimatte Loader
    • OMNIMATTE_PIPE
    • VAE
    model_ida-r-r-o-w/LTX-Video-0.9.7-diffusers
    precisionbf16
    download_locationcomfyui_models
    vae_tilingfalse
    vae_slicingfalse
    cpu_offloadtrue
    vae_float32true
    cache_dir

    Everything in the TP-OmnimatteZero pack hangs off one node, and that node's job is mostly to pay the entrance fee. OmnimatteLoader pulls down the entire LTX-Video 0.9.7 model - the 13B one, in diffusers format, roughly 48 GB of weights - and wraps it in the pipeline the rest of the pack needs. The first time you run it, it will download for a while and you'll think it's hung. It isn't. That's the price of doing video layer decomposition on a diffusion model instead of on a magic trick.

    This is the pack's port of OmnimatteZero, the research project that decomposes a video into background plus per-object "omnimatte" layers - and omnimatte layers don't stop at the object; they include its shadow, its reflection, the splash. The Loader doesn't do any of that itself. It just loads the engine: an LTXConditionPipeline from the model repo, with a custom VAE swapped in that has the extra compositing method the Composition node needs.

    What the inputs actually mean

    Most of the loader is "leave it alone." The two that matter:

    • download_location - defaults to comfyui_models, which saves the model into ComfyUI/models/diffusers. Keep it there. If you set huggingface_cache instead, the weights go into the standard HF cache and anything else that downloads the same repo can share them. The one thing you don't want is to delete the folder and re-download 48 GB twice.
    • cpu_offload - defaults to on, and it's the reason this node runs at all on anything smaller than a datacenter card. The README's author lists RTX 6000 Ada and H200s as their test machines, so on a 12–24 GB card you want offload on and patience on.
    • vae_float32 - default on, and the tooltip says why: it avoids slow_conv3d errors on some GPUs. Leave it.
    • vae_tiling / vae_slicing - off by default. Turn them on only if you're OOMing; tiling in particular can add artifacts on certain frame counts.
    • precision - bf16 or fp16. Default bf16 is right for Ampere and newer.
    • model_id - defaults to a-r-r-o-w/LTX-Video-0.9.7-diffusers. You basically never touch this.
    • cache_dir - optional manual override for where the model goes, if you have opinions.

    Outputs

    You get two: an OMNIMATTE_PIPE (the loaded pipeline, fed into Mask Gen and Object Removal) and a VAE - and it's not the stock VAE. It's the custom one with the forward_composition method baked in, which is exactly why Composition insists on this node's VAE rather than any random VAE you have lying around.

    Installing and the big first run

    Install is the usual two-liner, and the README's own instruction is faithful:

    cd ComfyUI/custom_nodes
    git clone https://github.com/tpc2233/ComfyUI-TP-OmnimatteZero.git
    pip install -r ComfyUI-TP-OmnimatteZero/requirements.txt
    

    Then restart ComfyUI. Easier: ComfyUI Manager, search "ComfyUI-TP-OmnimatteZero", install, restart. The requirements are light - diffusers>=0.32.1, transformers, accelerate, sentencepiece, protobuf - the heavy lifting is the model itself, which the loader auto-downloads on first run. Make sure you have ~50 GB free and a connection that survives a big pull.

    Where people get burned

    • The wait. This is a 13B model in fp16/bf16. First run downloads ~48 GB, every run then loads it. The offload defaults are the pack trying to save you.
    • slow_conv3d crashes. If you see that error, vae_float32 somehow got turned off. Turn it back on.
    • Disk space. Under 60 GB free and the download fails halfway with an error that looks unrelated. Clear space first.
    • OOM. Keep cpu_offload on; if it still dies, flip vae_tiling and vae_slicing on. Expect slow over dead.

    One honest warning up front: this pack is genuinely heavy, and the community's omnimatte installs have a reputation for it - people report crashing even on 24 GB cards with the sibling pack, mostly from model bloat. The Loader is the moment of truth for whether your machine is up for the whole pipeline.

    CategoryOmnimatteZero

    Inputs (8)

    NameTypeDefaultDescription
    model_idSTRINGa-r-r-o-w/LTX-Video-0.9.7-diffusers
    precisionCOMBObf162 options: bf16, fp16
    download_locationCOMBOcomfyui_models2 options: comfyui_models, huggingface_cache
    vae_tilingBOOLEANfalseEnable VAE tiling for lower VRAM. May cause artifacts on some frame counts.
    vae_slicingBOOLEANfalseEnable VAE slicing to process frames sequentially (saves VRAM).
    cpu_offloadBOOLEANtrueEnable model CPU offload to reduce VRAM usage.
    vae_float32BOOLEANtrueForce VAE to float32 (avoids slow_conv3d errors on some GPUs).
    cache_diroptSTRINGOptional: Override download path manually.

    Outputs (2)

    NameTypeDescription
    OMNIMATTE_PIPEOMNIMATTE_PIPE
    VAEVAE