Anima Artist Mix Conditioning
Blend multiple artists into one positive
- clip
- positive
Anima is an artist-tag machine - the whole reason people switch is that naming an artist actually steers the output. But what if you want two artists at once? Naively stacking artist_a, artist_b usually makes the model blend them into mush or pick one and abandon the other. Anima Artist Mix Conditioning is the node that does artist blending properly: it takes a normal prompt plus separate artist tags and builds a positive CONDITIONING with real mix modes. And it's standalone - no Prompt Studio, no dict socket required.
What it does
You feed it a CLIP, a base prompt, and artist_tags. It positions the artists according to ANIMA ordering rules (correct) or pins them front/back, then encodes the result with one of the mix modes. The single output is positive CONDITIONING, ready for a KSampler.
The artist-tag syntax gives you two controls:
(artist:1.2)- a per-artist mix weight.[[artist_a, artist_b:0.7]]- keep multiple artists in one mix branch; the final:0.7is a conditioning mix weight, not a prompt-string weight.
The mix modes (and their real cost)
Every mode's tooltip tells you its branch cost - worth reading, because each positive branch is extra conditioning work per step:
prompt(default) andaverage- one branch, fastest, stable. Artist text stays inline / gets averaged as conditioning. Start here.delta_rms- one branch, mixes artist deltas from the base prompt and restores RMS style energy. Usually stronger than average.hybrid- keeps your strongesttop_kartists as exact branches and compresses the tail with delta_rms. The recommended balance for several artists.clustered- groups similar artist deltas intocluster_countcompressed branches; for many artists.exactandcomposite_exact- N (or N+1) branches, the most faithful per-artist output, and the most expensive.late_exact,average_late_exact,scheduled_average- change mix weights across timestep ranges instead of one flat mix.
The README's advice is the sane path: start with artist_position=correct and mode prompt or average, reach for hybrid when several artists need clearer separation, and use exact only when the artist count is small or per-artist separation matters more than conditioning cost. Watch the branch count before you raise tuning strength.
The tuning knobs - artist_mix_style_gain (1.35 default), artist_mix_rms_scale_cap (2), artist_mix_exact_top_k (4), artist_mix_dominant_threshold (0.25) - all have tooltips explaining exactly which branch or weight they affect. Defaults are good; adjust the ones whose tooltip names your problem.
When to use this vs the dict flow
If your workflow uses Prompt Studio Advanced v2, artist mixing is built into the prompt data and Prompt Data Conditioning handles it there. Use this standalone node when you don't use Prompt Data, or when you want to test artist-tag conditioning in isolation without dragging the editor in.
Install and gotchas
Pack install:
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 trap here is performance, not correctness: exact and composite_exact look seductive and will noticeably slow generation on midrange cards - Anima is already slow, and N conditioning branches make it slower. If a mix looks like one artist ate the other, that's usually a weight problem: raise the (artist:weight) on the one getting eaten before you switch modes. And remember the group syntax is [[a, b:weight]], not a nested weight - (a:0.35) is how you weight one artist inside a group.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | CLIP used to encode the prompt and artist tags. | |
| prompt | STRING | Base positive prompt without the standalone artist tags. | |
| artist_tags | STRING | Comma- or newline-separated artist tags. (artist:1.2) sets a mix weight. [[artist_a, artist_b:0.7]] keeps multiple artists in one mix branch. | |
| artist_position | COMBO | correct | correct applies ANIMA prompt ordering, front pins artists before the prompt, and back pins artists after the prompt. |
| artist_mix_mode | COMBO | prompt | off: Cost: 1 positive branch. Keeps artist-field text inline in the positive prompt. prompt: Cost: 1 positive branch. Keeps artist-field text inline in the positive prompt. average: Cost: 1 positive branch. Weighted average of artist conditionings; fastest stable mix. delta_rms: Cost: 1 positive branch. Mixes artist deltas from the base prompt and restores RMS style energy; usually stronger than average. hybrid: Cost: top_k + 1 positive branches. Keeps strongest artists as exact branches and compresses the tail with delta_rms; recommended balance. clustered: Cost: about cluster_count plus dominant artists. Groups similar artist deltas and compresses each cluster; useful for many artists. exact: Cost: N positive branches. Most faithful artist-specific model output mix. composite_exact: Cost: N + 1 positive branches. Adds one composite prompt branch plus exact artist branches. late_exact: Cost: base + N late exact branches. Applies exact mixing only after start. average_late_exact: Cost: 1 average branch plus N late exact branches. Fast early mix, exact late refinement. scheduled_average: Cost: scheduled average branches. Changes artist weights across timestep ranges. |
| artist_mix_start_percent | FLOAT | 0.500–1 | Start percent used by late/scheduled artist mix modes. |
| artist_mix_strength_scale | FLOAT | 1.000–5 | Strength multiplier used by exact artist mix modes. |
| artist_mix_style_gain | FLOAT | 1.350–3 | Style delta gain used by delta_rms, hybrid tail, and clustered compressed branches. |
| artist_mix_rms_scale_cap | FLOAT | 2.001–5 | Maximum RMS energy restore scale for delta_rms compressed artist branches. |
| artist_mix_exact_top_k | INT | 40–64 | Hybrid mode keeps this many strongest artists as exact positive branches. |
| artist_mix_cluster_count | INT | 41–32 | Clustered mode compresses non-dominant artists into this many positive branches. |
| artist_mix_dominant_isolation | BOOLEAN | true | Clustered mode keeps artists above the dominant threshold as exact branches. |
| artist_mix_dominant_threshold | FLOAT | 0.250–1 | Clustered dominant isolation threshold based on normalized artist weight. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | Positive CONDITIONING encoded from prompt plus artist tags. |