Nodes/ComfyUI Prompt Control/PC: Schedule LoRAs (Advanced)
ComfyUI Node

PC: Schedule LoRAs (Advanced)

Schedule LoRAs (Advanced) — access to the raw hooks, plus multi-pass filtering

By asagi4·Created 3 years ago·Updated about a month ago· 423
PC: Schedule LoRAs (Advanced)
  • model
  • clip
  • model
  • clip
  • hooks
text
apply_hookstrue
tags
start0.00
end1.00
num_steps0

This is PCLazyLoraLoader with two things added: direct access to the generated HOOKS object, and the same tag/range prompt-filtering the other Advanced nodes in this pack have. Most people never need either - the plain PCLazyLoraLoader covers the normal case - but if you're composing hooks from more than one source, or splitting a LoRA schedule across multiple sampling passes, this is the node with the extra surface area for it.

What it does

By default (apply_hooks set to true), this behaves exactly like the non-advanced node: your text field's LoRA expressions get turned into a graph of LoraLoader and CreateHookLora nodes, and the resulting hooks are applied to the model/clip you pass in automatically. The README is explicit that in this default mode you do not need to do anything extra with the hooks output - it's provided for the cases where you do want it, not because you're required to wire it up.

Flip apply_hooks to false and the node stops auto-applying the hooks to your model/clip - instead you get them back purely through the hooks output, free to combine with other hook sources yourself (say, hooks from a different LoRA schedule, or from an experimental hook-generating node elsewhere in this pack) before applying them manually, wherever that composition needs to happen in your graph.

The tags, start, end, and num_steps fields mirror the multi-pass filtering on PCLazyTextEncodeAdvanced - same idea, applied to which part of the LoRA schedule a given call is responsible for realizing, useful if your LoRA schedule needs to be split across a base pass and a refiner pass the same way a prompt schedule might.

Inputs and outputs

Required: text, apply_hooks (boolean, default true), tags (string filter), start / end (0–1, default 0/1), num_steps (default 0, up to 10000). Optional: model, clip. Outputs: model, clip, and hooks (type HOOKS).

Installing it

ComfyUI Manager: search "ComfyUI Prompt Control", install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/asagi4/comfyui-prompt-control

No models bundled - you still need your LoRA files in the usual place; this controls timing and hook composition, not sourcing.

Where people get tripped up

The most common unnecessary detour is setting apply_hooks to false without actually needing to compose hooks from elsewhere - if you just want scheduled LoRAs applied normally, leave it true (the default) and ignore the hooks output entirely; that's the plain PCLazyLoraLoader's whole job, minus the extra fields. Flip it off only when you have a concrete reason to hold the hooks and apply them yourself later in the graph.

Beyond that, the same general LoRA cautions apply as everywhere else in this pack: stacking is unpredictable (reorder with larger LoRAs first if you hit black images or NaNs), and don't assume the old 0.5–0.8 weight rule of thumb - check what each LoRA's own page recommends, since newer architectures increasingly ship LoRAs meant to run at 1.0 or above.

Categorypromptcontrol

Inputs (8)

NameTypeDefaultDescription
textSTRING
apply_hooksBOOLEANtrue
tagsSTRING
startFLOAT0.000–1
endFLOAT1.000–1
num_stepsINT00–10000
modeloptMODEL
clipoptCLIP

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
hooksHOOKS