LBMLoader
The unglamorous half of the LBM relighting pack (and the 5GB file it needs)
- model
LBMLoader is the half of the LBM pack you'll forget exists until LBMRelight stares back at you with an unconnected model input. It's the boring one, and you can't skip it. LBM - Latent Bridge Matching, the research model from jasperai that made people post "is the new ic-light!!!" when the wrappers landed - doesn't ship as a ComfyUI checkpoint you can drag into a KSampler. It ships as a single weights file, and LBMLoader is what turns that file into something LBMRelight can actually run.
Calling it a "loader" undersells the job slightly. On a normal loader you're just reading weights; here the node reconstructs the whole model around them - an SDXL-backbone UNet, the SDXL VAE, and a FlowMatch scheduler - then loads the state dict into it with strict=True. It also auto-downloads the SDXL VAE and scheduler from stabilityai/stable-diffusion-xl-base-1.0 on first run, so your first load needs internet even after the model file is in place. Everything ends up in bf16 and parked on the offload device until LBMRelight needs it.
Two inputs, and you only really touch one:
lbm_model_name- a dropdown listing everything in yourmodels/diffusion_modelsfolder. Pick the LBM file. If it's empty, that's the model download screaming at you (below).model_config- a dropdown with exactly one entry right now,lbm_relight. There's no reason to touch it; it exists so the same loader can serve future LBM configs.
The output is a single model (MODEL) socket, and here's the trap: this is not a checkpoint MODEL. The socket type is literally "MODEL", so a KSampler will happily accept the wire - and then blow up at runtime, because it's a custom LBMModel object, not something KSampler understands. Only LBMRelight (and its sibling code) knows how to sample it. Wire model into LBMRelight, not into the standard denoising stack.
Installing. ComfyUI Manager is the easy path - search "LBM Latent Bridge Matching" (the pack title is LBM-comfyui). Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/thrumdev/lbm-comfyui
# restart ComfyUI
Then grab the weights - this is where people stall. Download model.safetensors from jasperai/LBM_relighting and drop it in ComfyUI/models/diffusion_models/. It's a BF16 2.5-billion-parameter file, so roughly 5GB; budget the download. The pack's own dependencies (diffusers>=0.32.2, torchvision>=0.20.0, lpips) install automatically.
Where people get burned: the loader dropdown shows nothing because the model file isn't in diffusion_models (easy fix - that's the whole problem, the file goes in a specific folder); the load errors out with missing/unexpected keys because something else was dropped in that folder and picked; and first-run stalls on the VAE download because there's no network. One thing worth knowing before you commit: the weights are cc-by-nc-4.0, so no commercial use - fine for tinkering, a problem if you were eyeing this for paid product work. This pack is also one of several LBM wrappers; kijai's ComfyUI-LBMWrapper is the one with the big following. The model itself is a research artifact that never got much community adoption, so don't expect an active support scene either way.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| lbm_model_name | COMBO | 0 options: | |
| model_config | COMBO | lbm_relight | 1 options: lbm_relight |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |