DA3_CreateCameraParams
Set a camera for Depth Anything 3 conditioning
- camera_params
This node builds a camera definition - position, rotation, and field of view - that you can feed into DepthAnything_V3 to condition the depth estimate on a known camera. It's a niche node, and you should know that up front: most people never touch it. Depth Anything 3 predicts the camera on its own, so you only reach for this when you actually want to override that guess with a camera you specify.
What "camera conditioning" means here
DA3 doesn't just estimate depth - it estimates the camera that took the shot (its pose and focal length), because depth and camera geometry are entangled. Normally that's inferred. But the main-series and Nested models support camera conditioning: you can tell the model "assume this camera," and it'll produce depth consistent with those parameters. That's what this node's output plugs into. Note the capability caveat from the README - camera conditioning is a feature of the main series and Nested only; the Mono and Metric variants ignore it.
The inputs
Two required, both about the frame:
image_widthandimage_height(both default 512) - the pixel dimensions of the view you're describing. Match them to your actual image.
Then the optional camera controls, all defaulting to a neutral, centered camera:
cam_x,cam_y,cam_z- the camera's position in space.rot_x,rot_y,rot_z- its rotation, in degrees.focal_lengthandfov_degrees(default 60) - the lens.fov_degreesis the intuitive one: a wider FOV is a wide-angle lens, narrower is more telephoto. If you set an explicitfocal_lengthit takes precedence; otherwise the 60° FOV drives it.
The single output is camera_params (a CAMERA_PARAMS), which wires into the camera_params input on DepthAnything_V3. That's its only destination.
When you'd actually use it
Honestly? Rarely, and that's fine. The default "let DA3 predict the camera" path is what almost every workflow wants and it works well. Reach for this node when you have real camera metadata you want to honor, when you're building a multi-view setup with cameras you're placing deliberately, or when you're experimenting and want to see how forcing a particular FOV or position changes the reconstruction. For plain "make me a depth map" or "make me a point cloud from this photo," skip it entirely and leave camera_params unconnected.
Common issues
If connecting this node makes your depth worse, that's the expected failure mode - a wrong camera is worse than a predicted one. The model's own estimate is usually good, so if you don't have a real reason to override it, don't. If it seems to do nothing, check your model: Mono and Metric variants don't support camera conditioning, so the params get ignored - load a main-series or Nested model if you need this to bite. And make sure image_width/image_height match your actual input; a mismatch between the camera you describe and the image you feed produces geometry that doesn't line up.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| image_width | INT | 5121–8192 | — |
| image_height | INT | 5121–8192 | — |
| cam_xopt | FLOAT | 0.00-100–100 | — |
| cam_yopt | FLOAT | 0.00-100–100 | — |
| cam_zopt | FLOAT | 0.00-100–100 | — |
| rot_xopt | FLOAT | 0.0-180–180 | — |
| rot_yopt | FLOAT | 0.0-180–180 | — |
| rot_zopt | FLOAT | 0.0-180–180 | — |
| focal_lengthopt | FLOAT | 00–10000 | — |
| fov_degreesopt | FLOAT | 601–180 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| camera_params | CAMERA_PARAMS | — |