Nodes/ComfyUI-FastTool/Mutation Anima变体自动烧录器
ComfyUI Node

Mutation Anima变体自动烧录器

The Anima baker that figures out which 'variant' you're running

By Fengxiaoxiao-001·Created 4 months ago·Updated a day ago· 0
Mutation Anima变体自动烧录器
  • lora_stack
  • MODEL
  • CLIP
  • VAE
model
clip
vae
save_dtypeauto
deviceauto

MutationAnimaModelBaker (displayed as "Mutation Anima变体自动烧录器" - "Mutation Anima variant auto-burner") is the sibling of the plain Anima模型烧录器 (SeparateModelMixerDictFuser), and the one with the party trick: before it bakes, it scans your checkpoint and your LoRAs - tensor key by tensor key - against a bundled registry of Anima "mutation" modules, detects which variant of the model you're actually running, and bakes with the matching graft applied. Same three dropdowns, same LoRA stack input, same MODEL/CLIP/VAE outputs. The difference is the auto-detection step and what it does with it.

What's a "mutation"? In this pack it's the author's experimental Anima modifications - you'll find them in the repo under AnimaMutation/Mutation/ as anima_spatial_graft_v1.py through v4.py. These are spatial-graft architecture patches (a MUDD-Former hybrid, low-resolution AttnRes blocks, and so on) that the author has been iterating on and has bundled into the baker as a registry. The baker loads a checkpoint, checks which graft class matches the tensor shapes in the file, applies that mutation's parameters, and then bakes LoRAs on top at your chosen precision. It even warns you about ComfyUI reporting "spatial_graft unexpected keys" on first load - that's expected when the graft tensors aren't part of stock Anima.

So who is this for? Honestly, a narrow slice of people: you're running one of the author's grafted Anima variants (or a LoRA trained against one), you want that variant's weights physically folded into a baked model for VRAM or sharing reasons, and you'd rather not hand-pick the graft yourself. The "auto" in the name is the whole value proposition. If you're on stock Anima and this is your first bake, the plain SeparateModelMixerDictFuser does the same job with less machinery - the code itself says that when no mutation matches, it "processes as original Anima," so this node is safe to use as a drop-in, just with a longer start-up (it has to scan and hash the model file's keys first).

Inputs and outputs

  • model, clip, vae - the Anima base, its Qwen3 CLIP, and its VAE, picked from your checkpoints, clip, and vae folders.
  • lora_stack (optional) - the pack's MultiLoRAStack output; each active LoRA gets scanned for mutation markers too, and baked.
  • save_dtype - auto / float16 / bfloat16 / float32. The usual bake trade: tighter precision for VRAM, float32 only if you're archiving.
  • device - auto / cpu / cuda / npu. CPU baking works but crawls; npu reflects the author's Ascend-NPU audience.

Outputs: MODEL, CLIP, VAE, wired straight into sampling or a save node.

Install

It's in ComfyUI-FastTool with the rest - Manager search "FastTool", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Fengxiaoxiao-001/ComfyUI-FastTool.git

Restart. No pip dependencies; the mutation modules ship inside the pack directory, which is also why updating the pack updates the graft registry.

The honest caveats

  • This is experimental tooling. The spatial-graft mutations are one author's research iteration, versioned v1 through v4 inside the pack. If you're not deliberately using a grafted Anima variant, the auto-detection is doing extra work for no benefit - use the plain baker.
  • The detection is shape-based, not semantic. It matches tensor key patterns from the mutation registry. A LoRA or checkpoint that happens to share tensor shapes with a graft gets treated as that graft. If your output looks off after a bake, check the console - the node prints which mutation it picked ("最终使用 Mutation: …") or "未检测到 Mutation,按原版 Anima 处理".
  • Anima's license still applies to what you bake. CircleStone's non-commercial terms cover the weights; a baked model is a derivative, so if you're planning to share it, read the v1.2 license before assuming it's clear.
  • If your goal is just "make Anima + LoRA fit my 8GB card," skip the mutation layer entirely and go straight to SeparateModelMixerDictFuser with float16. This node is for the variant crowd, not the VRAM crowd.
CategoryXiaoXiao/Fusion[Anima]

Inputs (6)

NameTypeDefaultDescription
modelCOMBO0 options:
clipCOMBO0 options:
vaeCOMBO0 options:
lora_stackoptLORA_STACK
save_dtypeoptCOMBOauto4 options: auto, float16, bfloat16, float32
deviceoptCOMBOauto4 options: auto, cpu, cuda, npu

Outputs (3)

NameTypeDescription
MODELMODEL
CLIPCLIP
VAEVAE