Anima 2.9B LoRA Stack Loader
Running 28-block LoRAs on the 40-block model, experimentally
- model
- clip
- lora_stack
- model
- clip
Anima 2.9B is a bigger build of the model - 40 blocks instead of the original 28 - and that creates an uncomfortable problem: every LoRA you already trained for the 28-block base was trained against block names that no longer line up. Load one naively and the patches land on the wrong layers, or not at all. Anima 2.9B LoRA Stack Loader is the pack's bridge for exactly this situation: it takes a regular 28-block Anima LoRA stack and experimentally remaps each block to its inherited position in the 40-block model.
How it works
The node's tooltip is refreshingly honest about what this is: experimental. Internally it reads the LoRA's state dict, matches block-indexed keys against known 28-block patterns, and remaps each index through a fixed map to the 28 block positions that the 2.9B model inherited from the original architecture. The 12 new blocks get nothing copied into them - they stay at their native 2.9B behavior, which is the whole point: the added capacity isn't corrupted by weights that were never trained for it.
The load order matches the stack order, and the CLIP gets any text-encoder LoRA patches it can apply. Outputs are model and clip - the patched pair, ready for a sampler.
When to use it (and when not to)
Use it when you have a library of regular Anima LoRAs and want to try them on 2.9B without retraining. The results will be close - the remap reconnects each trained block to the same conceptual position - but the tooltip and the release notes both say the visual effect can differ from the original model. That's the honest trade of a structural compatibility conversion.
Don't use it as a permanent solution. The pack's own guidance is unambiguous: a LoRA trained specifically for Anima 2.9B is the recommended path, and this node exists to keep your existing stack usable during the transition. It also has a safety valve: if the loader detects a LoRA that already contains 2.9B block indices, it refuses and tells you to use a regular LoRA loader instead. Similarly, ambiguous partial legacy stacks throw a clear error rather than guessing - if you hit that, this node is your explicit path, because it assumes the legacy 28-block layout.
Inputs and outputs
Three required inputs: model (a 40-block Anima 2.9B diffusion model loaded by Easy Use Anima), clip (the paired CLIP), and lora_stack (the regular 28-block stack to remap and apply in order). Two outputs: model and clip, both patched. Wire them into a KSampler or conditioning node as usual.
Install and gotchas
Part of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/n0va39/ComfyUI-EasyUseAnima
cd ComfyUI-EasyUseAnima && pip install -r requirements.txt
Restart ComfyUI; Manager: "ComfyUI EasyUse Anima".
The big gotcha is expectation management: this is a remap, not a retrain, and it's flagged experimental for a reason. If a LoRA looks visibly different on 2.9B, that's the expected behavior of the bridge, not a bug - and the correct fix is a native 2.9B LoRA. Also note that the AiO Generator can auto-adapt compatible 28-block stacks when 2.9B is selected; this node is for when the automatic path refuses (ambiguous or partial stacks) or you want the explicit remap.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | A 40-block Anima 2.9B diffusion model loaded by Easy Use Anima. | |
| clip | CLIP | The CLIP model paired with the Anima model. | |
| lora_stack | LORA_STACK | A regular 28-block Anima LoRA stack to remap experimentally and apply in order. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Anima 2.9B model with the experimental legacy LoRA remap applied. |
| clip | CLIP | CLIP model with any text-encoder LoRA patches applied. |