DepthAnything3 (CRT)
DA3 that downloads its own weights
- image
- image
Depth Anything 3 (DA3) is ByteDance Seed's any-view depth-and-pose model - the point where the Depth Anything line stopped being just a ControlNet preprocessor and became a 3D-reconstruction model. DepthAnything3 (CRT) wraps it for ComfyUI with the CRT house style: pick a checkpoint, and it downloads the weights itself on first run into ComfyUI/models/geometry_estimation/, then runs the whole inference-and-render pipeline. One node, from image in to depth map out, no manual model downloads.
It's from PGCRT's CRT-Nodes pack. What makes this wrapper worth a look over the stock core support is the self-downloading - no hunting for a checkpoint, no guessing which .safetensors goes where - plus a couple of convenience knobs the core nodes make you assemble yourself.
The honest DA3 story
Before you invest, know the reception: DA3 launched loudly in November 2025, but as a preprocessor it never displaced Depth Anything V2. On single-image depth - the job everyone already had solved - it beats V2 incrementally, not dramatically, and the community mostly kept using V2 for ControlNet conditioning. Where DA3 genuinely matters is multi-view: consistent depth plus camera pose across a set of images, which fuses into point clouds and geometry for 3D pipelines. So the realistic question for this node is: are you feeding one image to a ControlNet, or are you reconstructing geometry from several views? The former is the V2 job; the latter is where this earns its keep.
How it works
The node calls into ComfyUI's own core DA3 inference and render machinery (comfy_extras.nodes_depth_anything_3), which merged into ComfyUI core in June 2026 - so you need a reasonably current ComfyUI, not a bleeding-edge one. It loads the model with your chosen weight_dtype (default default, or force fp16/bf16/fp32), infers depth geometry from your image, then renders it into the output format you asked for.
Four checkpoint options, all the Apache-2.0 ones - note the deliberate choice: DA3's two best checkpoints (Large and Giant) are CC BY-NC 4.0 non-commercial, so this node skips them entirely and offers small, base, mono_large, and metric_large. That's a nicer licensing posture than most wrappers bother with.
The settings that matter:
mode-mono(default) for a single image;multiviewfor a batch of views, which unlocksref_view_strategy(how reference views get chosen) andpose_method(camera-pose estimation strategy). Multiview is the 3D-reconstruction feature.output-depth,depth_colored,sky_mask, orconfidence.depthis the grayscale map you'd feed a ControlNet; the others are DA3-specific extras.megapixels(default 0.5) - the processing resolution. Higher gives finer detail at more cost; the resolution is derived from your image's aspect ratio, rounded to the model's 14px grid, capped at 2520.normalization-v2_style(matches Depth Anything V2's output so your existing pipelines behave the same),min_max, orraw.apply_sky_clip- clips the sky region, useful for sky-specific tasks.
Inputs: image (the IMAGE to estimate) plus model_name, keep_model_loaded, weight_dtype. Output: a single IMAGE with your chosen rendering.
Installing it
Part of CRT-Nodes - install once:
cd ComfyUI/custom_nodes
git clone https://github.com/PGCRT/CRT-Nodes.git
pip install -r requirements.txt
or via ComfyUI Manager (search CRT-Nodes), then restart. The requirements list is heavy because the pack bundles audio and vision tooling, so the install is slow even if DA3 is all you care about. First run downloads the model from Comfy-Org's DA3 repo - small/base are small models, so that part is quick.
Common issues
- "Failed to load DA3 model" - you're on a ComfyUI older than the June 2026 core DA3 merge. Update ComfyUI; the node depends on core nodes that didn't exist before.
- First run stalls - it's the model download; watch the console for the progress bar.
- Forgetting it's a license filter, not a bug - the Large/Giant checkpoints aren't in the dropdown on purpose (non-commercial license). If you need them you're out of luck with this node by design.
- Update breakage - red sockets or
NaNafter a CRT update → right-click → Fix node (recreate).
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | depth_anything_3_small.safetensors | 4 options: depth_anything_3_small.safetensors, depth_anything_3_base.safetensors, depth_anything_3_mono_large.safetensors, depth_anything_3_metric_large.safetensors |
| keep_model_loaded | BOOLEAN | true | — |
| weight_dtype | COMBO | default | 4 options: default, fp16, bf16, fp32 |
| image | IMAGE | — | |
| megapixels | FLOAT | 0.500.05–8 | — |
| mode | COMBO | mono | 2 options: mono, multiview |
| output | COMBO | depth | 4 options: depth, depth_colored, sky_mask, confidence |
| normalization | COMBO | v2_style | 3 options: v2_style, min_max, raw |
| apply_sky_clipopt | BOOLEAN | false | — |
| coloredopt | BOOLEAN | false | — |
| ref_view_strategyopt | COMBO | saddle_balanced | 4 options: saddle_balanced, saddle_sim_range, first, middle |
| pose_methodopt | COMBO | cam_dec | 2 options: cam_dec, ray_pose |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |