Delta Mix Qwen 3.5 4B
Dual-encoder routing for Anima 2B / 2.9 / 3.8-0.6B.
Keeps the native Qwen 0.6B clip and adds Qwen 3.5 4B only where you ask it to.
This is glue, not a new text encoder. The 4B loader and weights stay with the original pack.
A separate page for the method is available at https://civarchive.com/models/2964040/delta-qwen-35-4b?modelVersionId=3358244
What it does
Two encodes of the same prompt: stock 0.6B on the edges, 4B in the middle.
Default mode blocks_ortho projects 4B toward native space, clips per-token spikes delta_guard), then injects a soft block window.
Start at strength 0.50 / delta_cap 0.50 / guard on. That is a visible start, not an optimum. The checkpoint moves more than the sliders.
Works on 2B (28), 2.9 (40), and 3.8-0.6B (52). Not the 3.8 Q35 connector pack.
Downloads
This pack (nodes + example workflow)
- GitHub: https://github.com/bestluner-create/Delta-Mix-Qwen-3-5-4B
- Same zip and workflow are attached on this CivitAI page under Files.
Required — 4B loader (not bundled)
- Nodes: https://github.com/GumGum10/comfyui-qwen35-anima
- Idea / original 4B-on-Anima page: https://civarchive.com/models/2455272/anima-2b-qwen-35-4b-text-encoder
- Weights + sidecar: https://huggingface.co/lylogummy/anima2b-qwen-3.5-4b
Put qwen35_4b.safetensors in models/text_encoders/.
Put rotation_matrix.safetensors and qwen35_tokenizer/ in custom_nodes/comfyui-qwen35-anima/.
Required — native Anima TE
- qwen_3_06b_base.safetensors → models/text_encoders/
(stock Anima CLIP, CLIPLoader type qwen_image or stable_diffusion)
Install both custom_node folders, restart Comfy, load the workflow from Files.
Required for 2.9 / 40-block checkpoints
Without this patch ComfyUI still loads the file as 28 blocks and silently drops 12 layers.
https://github.com/gazingstars123/ComfyUI-Anima-2.9B
Same text → CLIPTextEncode 0.6B (edge) and CLIPTextEncode 4B (center), pos and neg.
LoRA on MODEL only. Do not LoRA the 4B CLIP. Do not lerp the two conds before the node.
LoadQwen35AnimaCLIP: alignment ON, 0.5.
(cap strip)
Same seed, same prompt, strength locked at 1.00.
1 Base — node off, native 0.6B only.
2 cap 0.25 — 4B on, tight per-token clip.
3 cap 0.50 — default cap, strength still 1.00.
4 cap 0.75 — clip loosened.
delta_cap is not “more style”.
It is the per-token ceiling on |C_4B − C_0.6B|.
Low cap keeps the lock (goggles, heart, stance).
High cap at strength 1.00 lets 4B rewrite pose and outfit.
Raise cap only after strength is already set.
delta_cap — how large a single token residual may be versus native 0.6B.
Default 0.50. Lower = closer to Base. Higher = 4B may move props, pose, clothes.
Does nothing if delta_guard is off. Pair with strength; do not slam both to 1.00.

(strength strip)
Same seed, same prompt, delta_cap locked at 0.50.
1 s 0.25 — 4B barely in.
2 s 0.50 — pack default.
3 s 0.75 — pose starts to sit.
4 s 1.00 — sleeves and stance rewrite.
strength is how much of the already-clipped 4B residual is added.
cap decides the ceiling; strength decides how far you walk toward it.
0.25–0.50 keeps the lock. Past 0.75 the camera and clothes move first.
strength — mix amount after guard: C = C_0.6B + strength × D_guarded.
Default 0.50. This is the main “how much 4B” knob.
Leave cap at 0.50 while you find a strength that still holds the pose.
CheckpointLoader Anima 2B / 2.9 / 3.8-0.6B
CLIPLoader qwen_3_06b_base.safetensors
type: qwen_image (or stable_diffusion)
LoadQwen35AnimaCLIP qwen35_4b.safetensors
alignment ON, strength 0.5
calibration OFF, output_scale 1.0
VAELoader qwen_image_vae.safetensors
EmptySD3LatentImage your size
same POSITIVE text ──► CLIPTextEncode (0.6B) ──► cond_edge_pos
└─► CLIPTextEncode (4B) ──► cond_center_pos
same NEGATIVE text ──► CLIPTextEncode (0.6B) ──► cond_edge_neg
└─► CLIPTextEncode (4B) ──► cond_center_neg
LoraLoader MODEL only
CLIP slot = 0.6B if the LoRA has TE keys
do not attach LoRA to the 4B CLIP
DeltaQ4B Apply
model ← Checkpoint / LoraLoader
cond_edge_pos ← 0.6B positive
cond_center_pos ← 4B positive
cond_edge_neg ← 0.6B negative
cond_center_neg ← 4B negative
mode blocks_ortho
strength 0.50
delta_guard True
delta_cap 0.50
center_start/end 8/19 (2B)
10/29 (2.9)
14/37 (3.8)
taper 4
enabled True
KSampler ← model / positive / negative from DeltaQ4B Apply
VAEDecode ← KSampler + VAE
SaveImage2B 28 blocks → 8–19
2.9 40 blocks → 10–29
3.8 52 blocks → 14–37
inset 1–2 from the edges, taper 4
Compatibility
The node runs on Anima 2B (28 blocks), 2.9B (40) and 3.8B-0.6B (52).
Change the center window to match the stem. It is not the 3.8 Q35 connector pack.
Sample cards on this page use a 2.9-based merge.
Credits
Anima 2.9B — architecture and official 2.9 checkpoint
[gazingstars321 / Anima-2.9B](https://civarchive.com/models/2855007/anima-29b)
4B-on-Anima idea — original method this pack routes around
[LyloGummy / Anima 2B Qwen 3.5 4B Text Encoder](https://civarchive.com/models/2455272/anima-2b-qwen-35-4b-text-encoder)
Anima itself is CircleStone Labs. 4B loader and weights stay with GumGum10 / lylogummy (linked in Downloads). This page is the dual-encoder glue only.
Description
FAQ
Comments (5)
What are thr benefits provided by this model compared to regular anima?
You can project the second CLIP over the full length or only over a block range.
Global - the whole pass. Only strength matters.
Range - stronger by itself. Start around the middle, ±2 blocks.
Two sliders: q4b CLIP strength, and Delta Guard (adapter alignment). Same seed, bypass the node, compare. If you want the actual routing, the tech notes on the page are enough — I can recap the formulas if you need them.
@bestluner180 i dont get it... what benefit does second clip provide
@Aemeath1 Simplest picture: a room.
0.6B will furnish it from what Anima already knows — a table, a lamp, a window, maybe ten objects and it stops. Same prompt through Q4B usually puts more décor in the same room: extra props, materials, how the space is dressed.
That is only the toy example. The real gap is deeper. CLIP is not “more objects.” It pulls more of the frame out of the same diffusion model — staging, materials, characters, where people stand. The model is the toolbox. CLIP is the director that decides what gets used.
Easiest test, same seed, same prompt:
native 0.6B (node off / bypass)
Q4B on, Guard off, strength 0.5
You should see a large jump in how the frame is understood. If you already like 0.6B, stay there. This page is an experiment: a stronger CLIP on Anima models. The benefit is the picture, not a spec sheet. I cannot make it simpler than that.
@Aemeath1 Separate note on “why,” because “what does it give vs regular Anima” is the wrong scale.
While working on 2.9 / 3.8 I had to write a scanner: each block of a 2B file against base Anima. Unique drop at 0.05 is about a 5% gap. In a sample of ~50 models — including big names, some tagged train — more than 90% were 28/28 the same floors as base. You can see a huge jump in the picture and still be looking at a cosmetic shift, often in the range of one LoRA baked into the file. That is what merge and a lot of “train” actually do: slide weights toward a style or one new habit, not rebuild the model.
So take your own question one step further. If the tensors are that close, why does anyone need third-party merges, or a lot of the trains that already exist? You could repeat the same thing with LoRAs.
Because people are not shipping new physics. They are shipping a taste, a way of seeing, or a tool for driving the same chassis. That is the whole product. If 0.6B already gives you the frame you want, stay there. This page is one more experiment of that kind — a different director on the same toolbox — not a claim that Anima was incomplete.
Details
Files
deltaMix29BQwen354B_29Q4B_bf16.safetensors
Mirrors
deltaMix29BQwen354B_29Q4B_fp8.safetensors
Mirrors
animaDeltaMix38BQwen3_v10_txt.safetensors
animaDeltaMix38BQwen3_deltamix38B11V3_fp8.safetensors
animaDeltaMix38BQwen3_deltamix38B11V5_fp8.safetensors
anima2BQwen354BText_base.safetensors
anima38B_base_txt.safetensors
deltaMix29BQwen354B_29Q4B_fp8.safetensors
animaDeltaMix38BQwen3_deltamixv4q35_fp8.safetensors








