BD Lotus-2 Model Loader
Lotus-2 depth/normal — diffusion-grade geometry, but it costs you a FLUX model
- model
BD Lotus-2 Model Loader is the "bring your own FLUX" step of the Lotus-2 depth pipeline. Lotus-2 is the diffusion-based depth/normal estimator: instead of a feedforward network that guesses depth in one pass (Depth Anything, MiDaS, and friends), it runs a proper FLUX denoising loop conditioned on your image. The KB's own depth estimation essay notes Lotus ranked in the top two in the community's big 8-model comparison - the catch, which this node makes very literal, is that it's built on a ~24 GB FLUX.1-dev base model.
The loader's job is to assemble the whole thing: load FLUX.1-dev from your HuggingFace cache, apply the Lotus-2 depth or normal LoRA pair, and splice in the LCM bridge module. You wire the resulting LOTUS2_MODEL into BD Lotus-2 Predict, and that's the whole front of the pipeline. Depth and normal are separate weight sets - task is your first decision:
depth- ~1.5 GB of LoRA weights.normal- ~2.9 GB (higher rank).
Both auto-download to ComfyUI/models/lotus2/{task}/ on first use if missing. The FLUX base comes from flux_repo_id (default black-forest-labs/FLUX.1-dev), loaded through the standard HF cache - so if you've ever downloaded FLUX.1-dev, this reuses it, and if you haven't, brace for the ~24 GB pull.
The inputs that actually matter
dtype-bf16is the default and the right call on Blackwell/H100; it's the training precision and saves you a chunk of VRAM over fp32.cpu_offload- the one you'll flip when things get tight. Each pipeline module (transformer, VAE, text encoders) lives on CPU and moves to GPU only when needed. Peak VRAM drops from ~35 GB to ~27 GB - that's what makes Lotus-2 coexist with Qwen-Image-Edit or a FLUX generator in the same workflow. The cost is roughly 1.5× slower per call. If you're on a 24 GB card, this is often the difference between it running and not.device-autopicks the GPU; you rarely need to touch it.
There's a genuinely nice bit of engineering behind this node: the loaded model is cached at module level, so the second and later BD Lotus-2 Predict calls on the same task are instant instead of re-assembling a 24 GB pipeline. The brief calls it out - first load is slow, subsequent same-task calls hit the cache. When you're iterating on a single image, that's the difference between usable and miserable.
Installing
Install the pack normally - ComfyUI Manager, search "BrainDead", install; or clone into custom_nodes and pip install -r requirements.txt. The heavier lifting is models, not the pack: the node pulls Lotus-2 weights itself, and it needs a recent ComfyUI (V3 API) plus a working diffusers install with FLUX support. You're also committing to the ~24 GB FLUX.1-dev download if it's not already cached.
The honest warning
This is not a cheap node. It's a diffusion model running as a depth estimator, which means a GPU that can breathe and a wait measured in seconds-to-tens-of-seconds per image. If you just need a quick ControlNet depth pass, use a feedforward estimator and move on. You reach for Lotus-2 when quality genuinely matters - PBR derivation, character plates where silhouette halos in the depth would ruin the bake, anything where the extra geometry fidelity pays for the wait. Know which of those you're doing before you load it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| task | COMBO | depth | Which Lotus-2 LoRA pair to load. depth = ~1.5 GB, normal = ~2.9 GB (different LoRA rank). |
| dtype | COMBO | bf16 | Inference precision. bf16 recommended on Blackwell/H100. |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| flux_repo_idopt | STRING | black-forest-labs/FLUX.1-dev | HF repo id for the FLUX.1-dev base. Loaded via HF cache (HF_HOME env). Override only if you have a fork. |
| lotus2_weights_diropt | STRING | Override directory containing the three Lotus-2 weight files. Default: <ComfyUI models dir>/lotus2/{task}/ | |
| cpu_offloadopt | BOOLEAN | false | Enable diffusers model CPU offload. Each pipeline module (transformer / VAE / text encoders) lives on CPU and moves to GPU only when needed. Peak VRAM drops from ~35 GB to ~27 GB (largest single module + activations) at the cost of ~1.5x slower inference per call. Turn on when running Lotus-2 alongside other large models (Qwen-Image-Edit, FLUX gen, etc). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | LOTUS2_MODEL | — |