Dust3rLoader
The boring node that loads the multi-gigabyte brain
- model
Every dust3r workflow in this pack starts with Dust3rLoader, and honestly it's the most important node of the three - because if you get this one wrong, nothing else runs. It does exactly one job: pick which of Naver's DUSt3R checkpoints to load and hand the result to Dust3rRun or CameraPoseVideo as a Dust3rModel.
There's no magic here. The path dropdown is built by listing whatever files sit in ComfyUI/custom_nodes/ComfyUI-dust3r/checkpoints/, load_model reads the chosen .pth onto the requested device, and out pops a model. Two inputs, one output, done.
The two settings
- path - a dropdown of every
.pthalready in thecheckpointsfolder. Defaults toDUSt3R_ViTLarge_BaseDecoder_512_dpt.pth. - device - a string, default
cuda. If you're on CPU-only hardware, typecpu; it'll be slow, but it'll run.
The output, model (Dust3rModel), plugs into the model input on Dust3rRun and CameraPoseVideo. That's the whole graph edge.
Which checkpoint should you pick?
The README offers three, all from Naver's download server:
| File | Head | Notes |
|---|---|---|
| DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth | DPT | The default, and the one to use. Best detail at 512px. |
| DUSt3R_ViTLarge_BaseDecoder_512_linear.pth | Linear | Slightly lighter output head, faster; marginally rougher geometry. |
| DUSt3R_ViTLarge_BaseDecoder_224_linear.pth | Linear | 224px - much lighter on VRAM and time, noticeably coarser. Only reach for it on a weak card. |
The 512 models are big files - think multiple gigabytes each - and they're plain .pth weights, not safetensors. Keep just the one you actually use.
Installing it
Same install as the rest of the pack: ComfyUI Manager → search ComfyUI-dust3r, or git clone https://github.com/chaojie/ComfyUI-dust3r into ComfyUI/custom_nodes/, then restart. The pack auto-installs its dependencies on first load (roma, trimesh, opencv-python, scipy, einops, pyglet), so the first startup takes a minute.
What it will not do is fetch the model. The checkpoints folder gets created automatically the first time the nodes load, but the actual .pth is on you - download it from the README's link and drop it in there.
The trap
The dropdown only shows what's already in the folder. The most common failure is: install the pack, restart, load a workflow, and the path dropdown is empty - because no checkpoint was ever downloaded. If you see that, you haven't broken anything; you just haven't fetched the model yet. Drop the .pth into checkpoints/, restart ComfyUI, and it appears.
One more thing worth knowing: because the dropdown is a live listing of that folder, two checkpoints means two entries. Pick the 512 DPT for quality, and don't forget the whole pack runs under CC BY-NC-SA 4.0 - non-commercial use only.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| path | COMBO | DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth | 0 options: |
| device | STRING | cuda | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | Dust3rModel | — |