Nodes/ComfyUI-LZNodes/LZ Anima Loader
ComfyUI Node

LZ Anima Loader

Three parts, one node

By liz-ils·Created 7 months ago·Updated 12 days ago· 1
LZ Anima Loader
    • MODEL
    • CLIP
    • VAE
    • positive
    • negative
    • positive_text
    • negative_text
    • lz_pipe
    • model_name
    • model_hash
    diffusion_model
    text_encoder
    vae
    positivemasterpiece, best quality, score_9, safe,
    negativeworst quality, low quality, score_1, score_2, score_3, artist name

    Anima isn't an SDXL checkpoint, so it doesn't load like one. The Circlestone 2B diffusion transformer ships as separate pieces - the DiT itself, a Qwen3-0.6B text encoder, and a Qwen-Image VAE - and vanilla ComfyUI makes you wire up three loaders for them. LZ Anima Loader does it in one node: three dropdowns, two prompt boxes, ten outputs including a ready-to-go pipe.

    How it works

    The class is a thin composite over ComfyUI's own UNETLoader, CLIPLoader, and VAELoader. Pick your three files, type your prompts, and it loads the diffusion model from models/diffusion_models, the text encoder from models/text_encoders, and the VAE from models/vae, then encodes both prompts against the Qwen encoder. Outputs:

    • MODEL / CLIP / VAE - for people who still want the raw pieces.
    • positive / negative - the two CONDITIONING tensors.
    • positive_text / negative_text - the strings, for logging.
    • lz_pipe - the whole bundle in one socket for the pack's pipe-based sampler.
    • model_name / model_hash - the diffusion model filename plus a cached 10-char SHA-256 prefix (same streaming hash the pack's checkpoint loader uses). Log these and you know exactly which weights made an image.

    The prompt defaults are the telling detail: positive pre-fills masterpiece, best quality, score_9, safe, and negative pre-fills worst quality, low quality, score_1, score_2, score_3, artist name. Those score_1score_9 tags are Anima's quality language - its training data uses them the way Illustrious-era models use "best quality" - and the negative's artist name placeholder is a genuine Anima tip: because the base is so strongly artist-tag driven, explicitly suppressing generic artist output is a real lever.

    What Anima is, in one breath

    If you haven't met it: Anima is Circlestone Labs' 2B anime model on NVIDIA's Cosmos-Predict2 backbone - not SDXL, not AnimateDiff (the names are unrelated). Its Qwen text encoder never got its world knowledge overwritten by Danbooru training, so it handles natural language and multi-character scenes better than the SDXL anime line. Costs: it's slow for its size, plain out of the box until you add an artist tag, and has no ControlNet. This node doesn't fix any of that; it just makes running it not a chore.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/liz-ils/ComfyUI-LZNodes
    

    restart, find it under MyCustomNodes/Loaders. Or ComfyUI Manager → search ComfyUI-LZNodes. No extra pip dependencies - the pack ships no requirements.txt and this node only wraps core loaders.

    Where people get burned

    The classic Anima trap isn't this node, it's the model you point it at: you need all three components in the right folders, and the text encoder has to be a Qwen-compatible one, not an SDXL CLIP. Grab the files from the official Anima model card (HF: circlestone-labs/Anima). Also remember the 16-channel latent thing - the pack's PresetEmptyLatentImage has an "Anima (16ch)" mode for exactly this reason, so if you're hand-rolling latents, use that instead of an SDXL latent generator. And as with any Anima setup, skip the negative boilerplate you're used to from SDXL: at the turbo-LoRA CFG ~1 settings the negative does nothing anyway, and on the base model the score_ tags are the dialect.

    CategoryMyCustomNodes/Loaders

    Inputs (5)

    NameTypeDefaultDescription
    diffusion_modelCOMBO0 options:
    text_encoderCOMBO0 options:
    vaeCOMBO0 options:
    positiveSTRINGmasterpiece, best quality, score_9, safe,
    negativeSTRINGworst quality, low quality, score_1, score_2, score_3, artist name

    Outputs (10)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE
    positiveCONDITIONING
    negativeCONDITIONING
    positive_textSTRING
    negative_textSTRING
    lz_pipeLZ_PIPE
    model_nameSTRING
    model_hashSTRING