Nodes/ComfyUI Anima Remap/Anima Random LoRA Loader (28/40/52 Auto)
ComfyUI Node

Anima Random LoRA Loader (28/40/52 Auto)

Roll the dice on your Anima LoRA folder, with the 28/40 remap handled

By shin131002·Created 22 days ago·Updated 4 days ago· 6
Anima Random LoRA Loader (28/40/52 Auto)
  • model
  • clip
  • MODEL
  • CLIP
  • positive_text
  • negative_text
  • positive
  • negative
  • preview
additional_prompt_positive
additional_prompt_negative
lora_folder_path_1
include_subfolders_1true
unique_by_filename_1true
model_strength_11.0
clip_strength_11.0
num_loras_11
lora_folder_path_2
include_subfolders_2true
unique_by_filename_2true
model_strength_21.0
clip_strength_21.0
num_loras_20
lora_folder_path_3
include_subfolders_3true
unique_by_filename_3true
model_strength_31.0
clip_strength_31.0
num_loras_30
trigger_word_sourcejson_combined
seed0
auto_remaptrue
extend_to_new_layersfalse
blend_ratio1.00
extend_strength0.50
manifest

If you've ever wanted to just shuffle through your LoRA collection and see what sticks - instead of manually typing <lora:...> tags for every test - the AnimaRandomLoRALoader is the node. It's an Anima-only port of shin131002's own RandomLoRALoader (the 3-folder simultaneous-selector version), with the pack's automatic 28/40 block remap built straight into the selection. Every LoRA it picks is checked and, if needed, remapped before it's applied. No tagging, no thinking about block counts, just a shuffle.

How it works

You point it at up to three folders - the classic setup is style / character / concept - and it randomly picks a few LoRAs from each, applies them to your model and CLIP, and assembles the prompt text for you. Because it's Anima-only, it shares the same remap logic as the pack's tag loaders: block-count detection on both the model and each selected LoRA, remap via expand_manifest.json when the model is 40 blocks and the LoRA is 28, and a hard error if a selected LoRA references more blocks than the model has (no silent partial applications).

Inputs that matter

The node is big, but you set maybe a third of it:

  • lora_folder_path_1 / _2 / _3 - one folder per group, e.g. a path under ComfyUI/models/loras/.
  • model_strength_1..3 / clip_strength_1..3 - fixed ("1.0") or a random range ("0.4-0.8"), written as strings. This is the fun input: ranges make each run genuinely different.
  • num_loras_1..3 - how many to pick per group (0 disables that group).
  • include_subfolders_1..3 and unique_by_filename_1..3 - recurse, and skip duplicate filenames across subfolders.
  • seed - the selection seed. Set it and the same LoRAs get picked every time; leave it wandering and every run is a surprise.
  • trigger_word_source - where the node pulls each LoRA's trigger words from (json_combined / json_random / json_sample_prompt / metadata). Details live in the original RandomLoRALoader's README.
  • auto_remap, extend_to_new_layers, blend_ratio, extend_strength, manifest - the remap settings, and unlike the per-group stuff above, these are one shared set applied to every LoRA regardless of which folder it came from.

There's also additional_prompt_positive / additional_prompt_negative for extra text combined with each selected LoRA's trigger words.

Outputs and wiring

Seven outputs, and you can wire it straight into the sampler:

  • model / clip - the patched model and CLIP.
  • positive_text / negative_text - ready-made prompt strings with each LoRA as <lora:name:model_strength:clip_strength>, trigger words.
  • positive / negative - already-encoded CONDITIONING, so you can skip the text-encoder dance entirely.
  • preview - an IMAGE output showing which LoRAs got picked, for sanity checks.

What's different from the original RandomLoRALoader

Three things, per the README. No LoRA Block Weight support - Anima's flat transformer-block layout doesn't map onto SDXL's IN/MID/OUT convention. No save_remapped / on-disk cache - a cached remap would go stale the moment your remap settings changed, and would show up in the folder scan as a duplicate candidate, so it remaps in-memory every run (LoRA files are small; the cost is negligible). And the folder scan explicitly skips _29Bremap / _29Bremap_ext files, so any caches the tag loaders wrote don't get picked up as candidates.

Install

Same pack as the rest:

cd ComfyUI/custom_nodes
git clone https://github.com/shin131002/ComfyUI-Anima29B-Remap.git

or ComfyUI Manager → "Anima-2.9B Remap", then restart. No extra dependencies or downloads. One reminder that applies to everything in this pack: the repo is frozen (development moved to ComfyUI-Anima-Remap), don't install both, and remapped LoRA files are non-commercial derivatives under the CircleStone Labs license - the images they produce are fine to use commercially.

Categoryloaders/anima/random

Inputs (29)

NameTypeDefaultDescription
modelMODEL
clipCLIP
additional_prompt_positiveSTRING
additional_prompt_negativeSTRING
lora_folder_path_1STRING
include_subfolders_1BOOLEANtrue
unique_by_filename_1BOOLEANtrue
model_strength_1STRING1.0
clip_strength_1STRING1.0
num_loras_1INT10–20
lora_folder_path_2STRING
include_subfolders_2BOOLEANtrue
unique_by_filename_2BOOLEANtrue
model_strength_2STRING1.0
clip_strength_2STRING1.0
num_loras_2INT00–20
lora_folder_path_3STRING
include_subfolders_3BOOLEANtrue
unique_by_filename_3BOOLEANtrue
model_strength_3STRING1.0
clip_strength_3STRING1.0
num_loras_3INT00–20
trigger_word_sourceCOMBOjson_combined4 options: json_combined, json_random, json_sample_prompt, metadata
seedINT00–18446744073709550000
auto_remapBOOLEANtrue
extend_to_new_layersBOOLEANfalse
blend_ratioFLOAT1.000–1
extend_strengthFLOAT0.500–2
manifestCOMBO4 options: Auto (Recommended), expand_manifest_28_40.json, expand_manifest_28_52_composed.json, expand_manifest_40_52.json

Outputs (7)

NameTypeDescription
MODELMODEL
CLIPCLIP
positive_textSTRING
negative_textSTRING
positiveCONDITIONING
negativeCONDITIONING
previewIMAGE