Nodes/Anima Adapter Loader/Anima FeRA Loader
ComfyUI Node

Anima FeRA Loader

One gate, many experts, zero guesswork

By sorryhyun·Created 3 months ago·Updated 6 days ago· 0
Anima FeRA Loader
  • model
  • MODEL
adapter
strength1.00

If your Anima adapter file came out of the trainer as *_moe.safetensors with ss_network_spec=stacked_experts_global_fei - or as the older author-faithful FeRA format - the stock Load LoRA node and even the pack's main AnimaAdapterLoader are the wrong tools. This is the one. AnimaFeraLoader is the pack's specialist for FeRA (Yin et al., arXiv:2511.17979), and it's a genuinely different routing philosophy from HydraLoRA.

How it works

Where HydraLoRA routes per Linear, each layer deciding its own expert blend from its own input, FeRA goes the opposite way: one global router reads the latent's Frequency-Energy Indicator (a measure of how much of the image's energy sits in low vs high frequency bands) once per denoising step, and emits a single (B, num_experts) gate that every adapted Linear reuses for that step. Each Linear still carries its own independent stack of low-rank experts (lora_down/lora_up), and adds the gated correction Σₖ wₖ · Uₖ @ Dₖ @ x on top of the frozen base.

That global-gate design is why there's exactly one strength knob and no per-layer fiddling - the router decides where the experts go, not you.

The node auto-detects which of two on-disk formats it's looking at, because the trainer changed shape mid-life:

  • Author-faithful (networks.methods.fera) - N-band FEI, keys under router.net.*, stacked-Parameter experts.
  • Plan2 stacked_experts_global_fei - fixed 2-band FEI, keys under global_router.net.*, per-expert split lora_downs.{i}.weight / lora_ups.{i}.weight. This is the *_moe.safetensors naming.

Same inference semantics either way; the node just makes sure the FEI band ordering stays bit-correct per format.

Inputs and output

Three inputs, one of which is a dropdown:

  • model - an Anima-family MODEL (Cosmos-Predict2-based DiT).
  • adapter - the FeRA checkpoint, picked from the file list in ComfyUI/models/loras.
  • strength - default 1, range -2 to 2. At 0 it short-circuits to the frozen base model - handy for an instant A/B of "what did this adapter actually change."

Output is a single MODEL socket, wired straight to the sampler or into another loader in the pack.

Install and the one real trap

Same install as the rest of the pack: ComfyUI Manager (search "Anima Adapter Loader") or

cd ComfyUI/custom_nodes
git clone https://github.com/sorryhyun/ComfyUI-Anima_lora-Adapter

then restart. No extra dependencies; router kernels are vendored.

The trap is the mutual exclusion: FeRA and HydraLoRA are different save formats and different routing schemes, and you load one, not both, at the inference layer. If you drop a FeRA file into AnimaAdapterLoader by mistake, it now raises a pointed error telling you to use this node instead of quietly skipping hundreds of prefixes. That's the pack being kind - trust the error and switch nodes.

Categoryloaders

Inputs (3)

NameTypeDefaultDescription
modelMODEL
adapterCOMBOFeRA checkpoint — either author-faithful (networks.methods.fera; router.net.* + lora_unet_*.lora_down/lora_up) or plan2 stacked_experts_global_fei (global_router.net.* + lora_unet_*.lora_downs.{i}.weight / .lora_ups.{i}.weight, typically named *_moe.safetensors). Both use an independent-A stacked-expert layout with a single network-level FEI router.
strengthFLOAT1.00-2–2Scales the gated expert correction added to each adapted Linear (mirrors the training-side multiplier; 0 short-circuits to the frozen base).

Outputs (1)

NameTypeDescription
MODELMODEL