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

Load T-LoRA (LyCORIS, Bypass, Model Only)

Model Only, LyCORIS edition

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

If you've used Load T-LoRA (LyCORIS, Bypass), this node is the same thing with the text encoder taken out. It loads a LyCORIS-format T-LoRA checkpoint, applies the per-step rank mask through LyCORIS's runtime APIs, and returns only the patched MODEL - no CLIP input, no CLIP output. "Model Only" is a promise, and it's the variant you want in the workflows where CLIP plumbing is just noise.

When to use it

The most common case is Flux-style workflows where the text encoder is loaded and conditioned somewhere else entirely - a single-diffusers-style graph, or a setup where you keep the CLIP handling separate and swap LoRAs on the model alone. It's also the natural choice when you're chaining a T-LoRA in front of another loader and the CLIP side simply isn't part of what you're doing. And because T-LoRA is a model-side, timestep-masking technique anyway, there's no conditioning magic you're giving up: strength_clip is ignored across this whole pack.

How it works

Mechanically it's the LyCORIS T-LoRA loader. At each denoise step an active rank is computed from the schedule -

r = int(((max_timestep - t) / max_timestep)^alpha * (max_rank - min_rank)) + min_rank
  • then handed to LyCORIS via set_timestep_mask(...) so the adapter's rank dimensions switch on progressively as t falls. The node's own inputs are the same list minus clip and strength_clip: lora_name, strength_model (start at 1.0), max_rank (0 = infer from checkpoint), min_rank (1), alpha (1.0), max_timestep (0 = infer from sampling), mask_group_id, and debug / debug_every for per-step rank logging. Output is a single MODEL wire, which feeds your sampler exactly like a patched base model always has.

Installing and gotchas

Same install as its big sibling: ComfyUI Manager (search ComfyUI-T-LoRA) or

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

plus the dependency that actually matters - LyCORIS with T-LoRA support, which means upstream main, not necessarily the PyPI release:

pip install -U git+https://github.com/KohakuBlueleaf/LyCORIS.git

Restart ComfyUI afterward. If you hit an import error about missing T-LoRA APIs (set_timestep_mask, compute_timestep_mask, ...), that's this exact gap - reinstall from git. If the node can't infer a rank from the checkpoint, set max_rank by hand. Nothing else is worth troubleshooting until you've checked the console for [ComfyUI-T-LoRA] warnings, which will tell you whether the file even loaded as a T-LoRA.

Categoryloaders

Inputs (10)

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
mask_group_idINT00–32
debugBOOLEANfalse
debug_everyINT11–1000

Outputs (1)

NameTypeDescription
MODELMODEL