π AI Depth Control
Be honest, its 'models' are just gradient ramps
- image
- depth_map
- depth_mask
- confidence
Here's the uncomfortable truth about AIDepthControl: it looks like a depth-estimation node with four model options, and it isn't one. The model_type selector offers midas, zoedepth, dpt and ensemble, and you'd reasonably assume those names mean the real MiDaS, ZoeDepth and DPT models from the depth-estimation world. They don't. Open the source (nodes/ai_depth_control.py) and each "model" is a different gradient formula applied to the image's row index - MiDaS-style is a linear ramp, ZoeDepth-style a power curve, DPT-style a sine, and "ensemble" averages the three. No model file is loaded, ever.
That's the pattern in this pack: the kanibus/kanibus repo is largely Claude-generated ("Generated by Claude Flow Hive Mind"), the README promises enterprise-grade depth for WAN 2.1/2.2, and several nodes are polished-looking placeholders. This is the most egregious one, because the placeholders here aren't even trying to look at your image.
What you actually get
Feed it any image and the output depth_map is a vertical gradient: bright at the bottom, dark at the top, regardless of scene content. There's no dog-in-front-of-tree depth, no person-vs-background separation. The quality input just blurs it, depth_range scales it, and the depth_mask output is literally all ones. The confidence output is the inverted variance of the gradient - mathematically computed, semantically meaningless.
The "WAN optimization" is equally cosmetic: wan_optimization adds a median blur, and output_format (t2i_adapter/controlnet/both) is declared but never actually branches on anything in the code. The wan_version handling that exists elsewhere in the pack at least tweaks parameters; here it's mostly decoration.
The inputs that matter
model_type- as established, all four choices produce gradients. Pick "ensemble" if you must pick one; the average of three fake ramps is no more real than one.quality-low/medium/high; high gives less blur (funny inverse, but that's what the code does).depth_range(1β100, default 10) - scales gradient intensity.enable_preprocessing/enable_postprocessing- a Gaussian blur and a median blur, respectively.
Outputs: depth_map (IMAGE), depth_mask (MASK), confidence (FLOAT). You can wire the depth_map into a ControlNet depth preprocessor chain, but garbage in, garbage out - the map carries no real scene geometry.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/kanibus/kanibus
cd kanibus # lowercase - README's "cd Kanibus" fails on case-sensitive systems
pip install -r requirements.txt # or requirements_minimal.txt if it clashes
python install.py
Restart ComfyUI, find it under Kanibus/Depth. No depth model downloads required - because it uses none. The README's ~5.6GB ControlNet model mandate is a scare, not a requirement for this node.
What to do instead
If you want real depth, use a node that actually runs a depth model. The community landscape is well-established here: MiDaS is the fast legacy baseline, ZoeDepth does metric depth (and, per the r/StableDiffusion classic "[Test] Zoe Depth vs MiDaS Depth. Spoiler alert: Use MiDaS," often loses for ControlNet work anyway), and Depth Anything v2/v3 are the modern defaults with far sharper edges. comfyui_controlnet_aux ships depth preprocessors that plug straight into ControlNet Apply. The roadmap in this pack even admits "real model integration (MiDaS, ZoeDepth, DPT)" is a future v1.1 feature - so what you're looking at here is the pre-integration stub shipped as if it were the feature.
Troubleshooting
- Depth map doesn't match the scene: not a bug, that's the node. Swap in a real depth estimator.
- All-ones mask / weird confidence: working as designed.
- Node missing after install: console will show an import error (usually mediapipe or torch); fix the dependency and restart.
Bottom line: don't build your pipeline around this node. If you're in the pack for the eye tracking (the one genuinely good part), this node is the packaging trying to look busier than it is. Grab a real depth preprocessor and move on.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| model_type | COMBO | ensemble | 4 options: midas, zoedepth, dpt, ensemble |
| quality | COMBO | medium | 3 options: low, medium, high |
| depth_rangeopt | FLOAT | 10.001β100 | β |
| enable_preprocessingopt | BOOLEAN | true | β |
| enable_postprocessingopt | BOOLEAN | true | β |
| cache_resultsopt | BOOLEAN | true | β |
| output_formatopt | COMBO | t2i_adapter | 3 options: t2i_adapter, controlnet, both |
| wan_optimizationopt | BOOLEAN | true | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| depth_map | IMAGE | β |
| depth_mask | MASK | β |
| confidence | FLOAT | β |