Nodes/ComfyUI-Taiyi/TaiyiXLCheckpointLoader
ComfyUI Node

TaiyiXLCheckpointLoader

The checkpoint loader that actually speaks Chinese

By Layer-norm·Created 3 years ago·Updated 2 years ago· 10
TaiyiXLCheckpointLoader
    • MODEL
    • CLIP
    • VAE
    ckpt_nametaiyi_diffusion_xl.safetensors

    TaiyiXLCheckpointLoader exists to do exactly one thing: load Taiyi-Diffusion-XL (Taiyi-XL for short) into ComfyUI so you can generate images from Chinese prompts without translating them to English first. One input, three outputs, nothing else - it's a shim, and a good one. If you don't care about bilingual text-to-image, you can close this tab right now. If you do, this is the loader you've been looking for, because ComfyUI's built-in checkpoint loader simply can't handle this model.

    What Taiyi-XL actually is

    Taiyi-XL is IDEA-CCNL's bilingual Chinese–English text-to-image model: an SDXL-derived architecture at roughly 3.5B parameters, released in early 2024. The pitch is straightforward and worth taking seriously. SDXL's CLIP text encoder is English-centric; throw Chinese at it and you get mangled characters and random strokes. Taiyi-XL replaces the text-encoder side with a bilingual CLIP whose tokenizer includes Chinese vocabulary, so it can genuinely understand 一只白色的猫坐在花瓶旁边 instead of approximating it. The model's official deployment was Fooocus-Taiyi-XL - lllyasviel's zero-configuration SDXL UI - and the README admits it was mainly tested there.

    Why the node exists (the mechanism)

    Stock CheckpointLoaderSimple couldn't load this model: Taiyi-XL's UNet config doesn't match vanilla SDXL (different context dimension and ADM channel counts), so ComfyUI's model detection bails out. This pack fixes that by shipping its own fork of ComfyUI's loading machinery - sd.py, model_detection, supported_models, and clip_model are all re-imported and adapted, plus a custom TaiYiCLIPTextModel and bundled tokenizers. When you hit Load, the node walks the checkpoint's state dict, matches it against a hand-rolled TaiYiXL config, and hands back the standard three outputs. It's a real dependency, not a re-export: without the custom detection, this model is unloadable in ComfyUI.

    There's also a genuinely nice safety net: if the model file isn't in models/checkpoints, the node downloads it from HuggingFace itself - no hunting for links. One caveat from reading the source: it checks that the file exists, not that it's intact, so a truncated download will load badly rather than trigger a redownload. If output starts looking corrupted, delete the file and let it re-fetch.

    Inputs and outputs

    Only one input actually matters:

    • ckpt_name - a string defaulting to taiyi_diffusion_xl.safetensors. That's the whole input list.

    The three outputs are the standard trio, and they wire in exactly like any other checkpoint loader:

    • MODEL → KSampler
    • CLIP → CLIPTextEncode (this is where the bilingual magic lives - feed it Chinese directly)
    • VAE → VAEEncode/VAEDecode

    So your workflow is unchanged from a normal SDXL setup: loader → text encode → KSampler → VAE decode. You're just typing Chinese where you'd normally type English.

    How to install it

    Via ComfyUI Manager, search for Taiyi (pack title "ComfyUI-Taiyi"). Or the manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Layer-norm/ComfyUI-Taiyi
    

    Then restart ComfyUI. That's it - there are no pip dependencies, because the pack leans entirely on ComfyUI's own internals. The model file (taiyi_diffusion_xl.safetensors, a several-gigabyte download) goes in ComfyUI/models/checkpoints. If you skip that step, don't worry: the node downloads it on first run, though you'll sit through the whole file on someone else's schedule.

    Set your expectations

    The README is refreshingly honest, and you should take it at face value. The model was tested on Fooocus, so ComfyUI results may differ slightly. Chinese prompts still come out a bit worse than English. And it's an early-2024 model - a quality gap versus modern checkpoints, with no tolerance for complex prompt logic. If generation quietly ignores half your prompt, that's the model, not the node.

    This is also a quiet, niche corner of the ecosystem; the English-speaking community barely talks about Taiyi-XL. That's fine. If you found this page, you're probably exactly who it's for: someone who wants a native bilingual model running locally, generating for a Chinese audience without a translation layer in the middle.

    CategoryTaiyiXL

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameSTRINGtaiyi_diffusion_xl.safetensors

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE