Anima-Qwen3.5-Conditioner
Qwen3.5-2B as the text encoder for Anima, via a conditioner (adapter) that maps Qwen3.5 hidden states into Anima's cross-attention context. Prompts can be written in English, Chinese or Japanese.
The conditioner was trained on its own with the Anima DiT frozen, so it works with the base Anima DiT alone. The DiT LoRA in this repository is a separate, optional add-on trained afterwards on top of this conditioner: add it or leave it out.
This is a personal project trained to personal preferences. The training data and choices are not neutral, so the results may be biased in style and content.
Files
| File | Description |
|---|---|
qwen35-conditioner-v3-distill-ep02-bf16.safetensors |
Conditioner (adapter + fusion + extended token embeddings), bf16 |
t5_bundle/ |
Tokenizer bundle for the conditioner (tokenizer.json, tokenizer_config.json, anima_vocab.json); must stay next to the conditioner file |
lora/anima-lora-ep14.safetensors |
Optional DiT LoRA (rank 96, fp32), trained on top of this conditioner |
qwen3.5-2b-base/ |
Qwen3.5-2B-Base text encoder (unmodified copy of Qwen/Qwen3.5-2B-Base, Apache-2.0), included for convenience; its LICENSE is in the folder |
Architecture
Anima's built-in text path feeds Qwen3-0.6B last-layer hidden states to an LLM adapter (6 layers, width 1024, 16 heads: self-attention, cross-attention to the Qwen features, MLP). The adapter's queries are embeddings of the prompt's T5-tokenizer token IDs (a 32,128-row table; the T5 model itself is not used), and its 1024-d output is the context for the DiT's cross-attention.
This conditioner replaces that path; the DiT itself is unchanged:
- Source features: hidden states of Qwen3.5-2B-Base are tapped at layers [2, 3, 6, 9, 12, 21]. Each tap goes through RMSNorm and a projection to 512 (with a GELU residual branch); the six outputs are concatenated (3072) and RMS-normalised. This is the fusion.
- Adapter: same layout as the original (6 layers, width 1024, 16 heads, self-attention + cross-attention + MLP), with the cross-attention reading the fused 3072-d Qwen features. Its queries are token embeddings from the extended tokenizer bundle in
t5_bundle/: 52,766 rows, the original 32,100 plus 20,666 new rows for Chinese/Japanese characters and words. - Output: the 1024-d adapter output, used as Anima's cross-attention context in place of the built-in adapter's output.
- Inference behaviour (ComfyUI node): padding positions are zeroed, short prompts are padded to 512 tokens, long prompts are not truncated, and prompt weights are applied to the adapter outputs.
Requirements
- Qwen3.5-2B text encoder: included under
qwen3.5-2b-base/(Apache-2.0). Copy that folder toComfyUI/models/text_encoders/qwen3.5-2b-base/. The official source is Qwen/Qwen3.5-2B-Base. - Anima base DiT
anima-base-v1.0.safetensorsand the Qwen-Image VAE from circlestone-labs/Anima. - ComfyUI custom node ComfyUI-Anima-Qwen35:
- Anima Qwen3.5 Adapter Loader loads the Qwen3.5 checkpoint and the conditioner (replaces the built-in text encoder path).
- Anima Qwen3.5 LoRA Loader (optional) loads the LoRA (wire the Anima
MODELand the node'sCLIPthrough it). - Place the files like this; the loader finds
t5_bundle/from the conditioner's metadata:ComfyUI/models/text_encoders/qwen3.5-2b-base/ model.safetensors-00001-of-00001.safetensors (and the other files from qwen3.5-2b-base/) ComfyUI/models/llm_adapters/anima-qwen35/ qwen35-conditioner-v3-distill-ep02-bf16.safetensors t5_bundle/ tokenizer.json tokenizer_config.json anima_vocab.json ComfyUI/models/loras/anima-lora-ep14.safetensors (optional)
The LoRA was trained with this conditioner; if you use it, do not pair it with other conditioners or the stock Anima text encoder.
Data
Several million anime-style images; the conditioner's text corpus is on the order of millions of caption and tag items.
Captions are tags (characters, series, artists, general tags, quality and other meta tags) and natural-language descriptions, long and short, in English, Chinese and Japanese. Tags are rendered per tag in any of the three languages, and most training prompts combine tags with a natural-language description. Prompts can therefore be tags, natural language, or both, in English, Chinese, Japanese or mixed.
Training amount
About 10.6M samples seen for the conditioner (its last two training stages) and more than 43M samples seen for the LoRA (cumulative over its training lineage). Step numbers in file names or metadata do not reflect actual training steps.
License
Derivative of Anima: released under the CircleStone Labs Non-Commercial License (LICENSE.md), non-commercial use only. See NOTICE. The Qwen3.5-2B-Base weights in qwen3.5-2b-base/ are unmodified copies released by Qwen under Apache-2.0 (qwen3.5-2b-base/LICENSE); they are not covered by the CircleStone license.
Model tree for SumomoLee/Anima-Qwen3.5-Conditioner
Base model
Qwen/Qwen3.5-2B-Base