Nodes/ComfyUI-T-LoRA/Load T-LoRA (Bypass, Model Only)
ComfyUI Node

Load T-LoRA (Bypass, Model Only)

Load T-LoRA (Bypass, Model Only) for official-format checkpoints

By bghira·Created 7 months ago·Updated 7 months ago· 1
Load T-LoRA (Bypass, Model Only)
  • model
  • MODEL
lora_name
strength_model1.00
max_rank0
min_rank1
alpha1.00
max_timestep0
debugfalse
debug_every1

Load T-LoRA (Bypass, Model Only) is the trimmed version of the official-format T-LoRA loader: it takes a MODEL and a T-LoRA file, applies the timestep-masked rank schedule, and hands back a single patched MODEL. No clip input, no CLIP output. For anyone who already loads their text encoder elsewhere - the standard shape of a Flux graph - this is the cleaner node to reach for, and it's the only one of the two official-format variants you need once CLIP isn't part of the loop.

What it's for

The parent node, Load T-LoRA (Bypass), reads official-format T-LoRA checkpoints - keys like ...attn1.processor.to_q_lora.down.weight and ...up.weight - covering both SDXL-style and Flux.1-dev-style layouts. This variant does exactly that job and stops there. It's ideal when you're swapping the model-side adapter while the conditioning graph stays untouched, or when you're composing a T-LoRA with other model patches and the extra CLIP wire would just add clutter. Since the whole pack ignores strength_clip anyway, you're not losing any text-side adjustment by going Model Only.

How it works

Same mechanism as the full node: at each denoise step the active rank is computed from

r = int(((max_timestep - t) / max_timestep)^alpha * (max_rank - min_rank)) + min_rank

and converted into a binary mask over the adapter's rank dimensions, applied before the UNet forward through ComfyUI bypass adapters. Early steps run at low effective rank; late steps approach max_rank. The inputs are lora_name, strength_model (1.0 to start), max_rank (0 = infer from checkpoint), min_rank (1), alpha (1.0), max_timestep (0 = infer from sampling), and debug / debug_every for per-step rank logging. The one MODEL output feeds straight into your sampler.

Installing it

Self-contained - no LyCORIS, no extra pip packages. Via ComfyUI Manager (search ComfyUI-T-LoRA) or:

cd ComfyUI/custom_nodes
git clone https://github.com/bghira/ComfyUI-T-LoRA

Restart ComfyUI, put the checkpoint in models/loras, and you're done.

Troubleshooting

If you get "No T-LoRA adapters were created from this checkpoint," the file isn't in the official key layout - a LyCORIS-format T-LoRA belongs in the LyCORIS loader instead. An error about not being able to infer rank means you should set max_rank manually. And on Flux, some "unmapped key" warnings in the console are normal: the loader intentionally skips single-transformer-block projection keys that don't map into ComfyUI. When in doubt, enable debug and watch the step logs to confirm the rank mask is actually moving.

Categoryloaders

Inputs (9)

NameTypeDefaultDescription
modelMODEL
lora_nameCOMBO0 options:
strength_modelFLOAT1.00-100–100
max_rankINT00–40960 = infer from checkpoint
min_rankINT10–4096
alphaFLOAT1.000.05–8
max_timestepINT00–2000000 = infer from model sampling
debugBOOLEANfalse
debug_everyINT11–1000

Outputs (1)

NameTypeDescription
MODELMODEL