CR Cycle LoRAs (Legacy)
Swap LoRAs across an animation frame by frame (legacy)
- model
- clip
- lora_list
- MODEL
- CLIP
- show_help
This one cycles LoRAs across an animation. As the frame counter advances, it applies a different LoRA from a list to your model and CLIP, holding each for a set number of frames - so your generated content can drift from one trained style or character to another over the course of a clip.
Same disclaimer as the rest of the cycle family: it's a legacy node. Comfyroll's maintained path for scheduling LoRAs is now the scheduler nodes (CR Load Scheduled LoRAs), and for anything current you'd likely lean on that or an AnimateDiff-based pipeline. Use Cycle LoRAs to keep an existing frame-by-frame workflow running.
How it works
You pass in your base model and clip, plus a lora_list (a LORA_LIST built by a companion Comfyroll node - this is where you assemble which LoRAs, at which strengths, participate in the cycle). The timing controls are the usual trio: frame_interval holds each LoRA for that many frames, loops repeats the whole cycle, and current_frame tells the node which frame is rendering so it knows which LoRA to apply right now.
The mode here has two settings: Sequential (walk the list in order, applying LoRAs as the frames advance) and Off (pass the model and CLIP through untouched - handy for A/B-ing the animation with and without the LoRA cycle).
Because it outputs a modified model and CLIP, it sits in the same place a normal LoRA loader would - between your checkpoint and your sampler.
The inputs that matter
model/clip- the base model and CLIP the LoRAs get applied to.lora_list- the LoRAs to cycle, as aLORA_LISTfrom a Comfyroll list-builder.mode(Off/Sequential) - cycle on, or bypass.frame_interval(default 30) - frames each LoRA holds.current_frame- the frame being rendered, which selects the active LoRA.
Outputs are the modified MODEL and CLIP (feed both to your sampler chain), plus the show_help wiki link.
Where you'd actually reach for it
Style-morph animations: cycle through a set of style LoRAs so a scene shifts aesthetic over time, or rotate character LoRAs to hand off between subjects across frames. It's a genuinely fun effect when the LoRAs are chosen to blend well.
Reality check, though - swapping LoRAs on hard frame_interval boundaries produces cuts, not smooth transitions, and reloading LoRAs per frame isn't fast. For controlled, interpolated LoRA scheduling the scheduler nodes are the better fit, and most modern animation doesn't drive style this way at all. This is a legacy effect for legacy graphs.
How to install it
- ComfyUI Manager: search
Comfyroll Studio, install, restart. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, then restart.
The pack ships no LoRAs - put your .safetensors in ComfyUI/models/loras as usual.
Common issues
If the node's gone, it's usually the whole pack failing to load - on newer ComfyUI builds Comfyroll can throw a submodule import error at startup (NameError: name 'CR_...' is not defined) and hide every CR node. Read the first traceback (the real cause) and update via Manager.
Node-specifically: the lora_list input needs a proper LORA_LIST from a Comfyroll list-builder - you can't feed it loose LoRA files, so if the wire won't take, that's the missing piece. If the animation looks like it's ignoring the LoRAs, check that mode is Sequential (not Off) and that current_frame is advancing between runs. And every LoRA in the list still has to match your base architecture - an SD 1.5 LoRA on an SDXL model won't apply cleanly.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 2 options: Off, Sequential | |
| model | MODEL | β | |
| clip | CLIP | β | |
| lora_list | LORA_LIST | β | |
| frame_interval | INT | 300β999 | β |
| loops | INT | 11β1000 | β |
| current_frame | INT | 00β9999 | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | β |
| CLIP | CLIP | β |
| show_help | STRING | β |