VVL VGGT Model Loader
Load once, wire once
- vggt_model
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, orcpu.autopicks CUDA when it's available and falls back to CPU, which is almost certainly what you want. Pickcpuexplicitly 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.ptfromComfyUI/models/vggt/if present. The shipped code doesn't actually do that - it callsVGGT.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.txtpinstorch==2.3.1andtorchvision==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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| device | COMBO | auto | 选择运行设备。auto会自动选择CUDA(如果可用)或CPU |
| vggt_model | COMBO | VGGT-1B | 选择VGGT模型版本。VGGT-1B是标准的10亿参数模型,约4.7GB |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| vggt_model | VVL_VGGT_MODEL | — |