ComfyUI Node

VVL VGGT Model Loader

Load once, wire once

By wTechArtist·Created about a year ago·Updated about a year ago· 7
VVL VGGT Model Loader
    • vggt_model
    deviceauto
    vggt_modelVGGT-1B

    This node has exactly one job: hand the estimator a ready-to-run VGGT-1B model. That's it. It's the front half of the standard two-node split this pack uses - a loader that instantiates the model once, and a worker that actually estimates cameras. If you've used Impact Pack or VideoHelperSuite, you've seen this pattern a hundred times; ComfyUI nodes are separate processes in spirit even when they share a graph, so loading a 4.7GB model on every execution would be brutal. This node exists to make sure you don't.

    So what's VGGT? It's not a diffusion model and it's not one of the checkpoints you're used to dropping into the Load Checkpoint node. VGGT - Visual Geometry Grounded Transformer, Meta's March 2025 release (arXiv:2503.11651) - is a feed-forward transformer that looks at a handful of frames and predicts the camera poses, intrinsics, depth, and point maps for the scene. The "camera" in this pack's name is literal: you feed it video, you get out where the camera was. That's the model this loader pulls down.

    The inputs (both of them)

    • device - auto, cuda, or cpu. auto picks CUDA when it's available and falls back to CPU, which is almost certainly what you want. Pick cpu explicitly only if your CUDA setup is broken and you're OK with slowness.
    • vggt_model - the model version. Today there's exactly one choice, VGGT-1B, a ~1B-parameter model that the author's config sizes at about 4.7GB. The dropdown exists for future variants; don't expect a menu of options.

    What comes out

    One output, vggt_model, typed VVL_VGGT_MODEL. It's a bundled dict carrying the model instance, the device it's on, and a bit of metadata. It wires straight into the vggt_model input on VVL VGGT Video Camera Estimator - that's its only real destination. The node caches the loaded model keyed by model name + device, so re-running a workflow (or re-executing this node) won't re-download or re-instantiate the weights.

    Installing it

    The pack is ComfyUI VVL VideoCamera Advanced - search that in ComfyUI Manager and hit install, or do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera_Advanced
    # restart ComfyUI
    

    The vggt package itself is vendored inside the repo, so you don't need to pip install Meta's repo separately. The model, though, is a first-run download from HuggingFace (facebook/VGGT-1B, ~4.7GB) - make sure you have network and disk space on that first execution.

    Two gotchas worth knowing before you blame yourself:

    • The README says it loads vggt_1b.pt from ComfyUI/models/vggt/ if present. The shipped code doesn't actually do that - it calls VGGT.from_pretrained("facebook/VGGT-1B") unconditionally and pulls from HuggingFace's cache. Dropping a weight file in that folder is harmless but also useless right now.
    • The pack's requirements.txt pins torch==2.3.1 and torchvision==0.18.1. If you're on a newer ComfyUI/torch, let ComfyUI Manager skip the install of those rather than letting it downgrade your environment - you almost never want a custom node dragging your torch back.

    One more thing: facebook/VGGT-1B is licensed CC-BY-NC-4.0. Fine for tinkering, but don't build a commercial service on it without checking that license first.

    Category💃VVL/VGGT

    Inputs (2)

    NameTypeDefaultDescription
    deviceCOMBOauto选择运行设备。auto会自动选择CUDA(如果可用)或CPU
    vggt_modelCOMBOVGGT-1B选择VGGT模型版本。VGGT-1B是标准的10亿参数模型,约4.7GB

    Outputs (1)

    NameTypeDescription
    vggt_modelVVL_VGGT_MODEL