Anima Artist Apply Preset
Where the Anima artist mixing actually gets patched in
- model
- artist_pack
- preset
- advanced_options
- model
- base_prompt
AnimaArtistPresetApply is the node that does the actual work in the modern workflow. The pack's other setup nodes build ingredients - AnimaArtistPack splits and encodes your artists, AnimaArtistPreset picks a strategy - but this is the one that takes your Anima model, patched nothing yet, and returns a model that mixes artists at its cross-attention layers. If you're following the pack's recommended AnimaArtistPack → AnimaArtistPresetApply route, this is the node you connect between your model loader and KSampler.
How it works
Mechanically, it patches each DiT block's cross_attn.forward via ComfyUI's add_object_patch. Each artist's separately-encoded conditioning is run through Anima's LLMAdapter on first use, cached, and then mixed into the base attention output according to the preset you feed in. The patch is per-layer exception-isolated: if one layer's injection fails, that layer silently falls back to original cross-attention and the rest keep working. It's designed to not blow up your whole run over one bad layer.
The one thing to respect: by default it injects only into the cond rows of the batch. Anima's CFG batches cond and uncond together, and leaving uncond alone is what keeps guidance working. apply_to_uncond exists, but the tooltip and the docs agree - turning it on usually breaks CFG. Leave it off.
What you connect
model- your Anima model.artist_pack- fromAnimaArtistPack(or theartist_chainoutput ofAnimaArtistStarter→ Pack).preset- an ANIMA_PRESET payload fromAnimaArtistPreset,AnimaArtistStarter, orAnimaArtistRecipeLoad. It owns combine/fusion/strength, so the node has no strength widget of its own.enabled- master switch.apply_to_uncond- default False. See above; leave it.
Optionally advanced_options (ANIMA_OPTS) as an explicit override on top of the preset. The docs say leave it disconnected unless you need to tweak something the preset doesn't expose.
Outputs
model → KSampler's model. base_prompt → KSampler's positive. That's the whole wiring - the README is emphatic that base_prompt goes directly to positive, not through another text encode.
Install
Manager → search "Anima Artist Mixer Forge", or:
cd ComfyUI/custom_nodes
git clone https://github.com/peter119lee/Anima-Artist-Mixer-Forge
then restart. No extra deps; needs the standard Anima files and the Anima-compatible CLIP loader. Don't run it beside the original Anima-Artist-Mixer.
My take
This node is the current answer to a problem the older manual route had: too many widgets, too easy to mis-set. A preset now owns the fiddly combine/fusion/strength decisions, and the manual widgets disappear when a preset is connected. If something behaves strangely, that's what AnimaArtistInspector is for - wire it in and read the effective weights instead of guessing.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| artist_pack | ANIMA_PACK | — | |
| preset | ANIMA_PRESET | Preset payload from Anima Artist Preset, Starter, or Recipe Load. It owns combine/fusion/strength. | |
| enabled | BOOLEAN | true | — |
| apply_to_uncond | BOOLEAN | false | Default False. Applying style to uncond usually breaks CFG. |
| advanced_optionsopt | ANIMA_OPTS | Optional explicit option override. Leave disconnected when the preset alone is enough. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| base_prompt | CONDITIONING | — |