AnyText Loader
Load the AnyText model (full checkpoint or SD1.5 + control)
- model
- vae
- ckpt_name
This is the front door of the AnyText workflow - the node that loads the model everything else feeds off. Get this wired correctly and the encoder, sampler and LoRA nodes all have their AnyText_Model to work with. Get it wrong and nothing downstream even starts.
There are two ways to feed AnyText, and this loader supports both. That's the one decision you make here, so it's worth understanding before you pick a dropdown.
How it works - the two options
Option 1: full AnyText checkpoint. Point ckpt_name at a complete AnyText checkpoint (the Sanster/AnyText weights, or ModelScope's anytext_v1.1.ckpt) and leave control_net_name on None. Everything's baked into one file. This is the simplest path and the one to start with.
Option 2: SD 1.5 checkpoint + AnyText control model. Load any SD 1.5 checkpoint in ckpt_name and the AnyText control model (control_sd15_anytext_v1_1.safetensors) in control_net_name. Now AnyText rides on top of a base checkpoint of your choosing - the KB frames AnyText's control model as exactly this kind of add-on that "can be plugged into existing diffusion models." Handy if you want a specific SD 1.5 aesthetic under the text.
The node's own note is blunt about not mixing them up: for Option 1, don't also load a control_net.
The inputs and outputs that matter
ckpt_name- either the full AnyText checkpoint (Option 1) or an SD 1.5 base (Option 2). Empty on this listing because the crawl box had no checkpoints; on your machine it listsComfyUI/models/checkpoints.control_net_name-Nonefor Option 1, the AnyText control model for Option 2. This single choice is what selects your path.miaobi_clip- optional CLIP for encoding Chinese prompts without a translator. Here it offersgoogle-flan-t5-large. Leave itNoneif you're routing Chinese through the translator nodes instead.weight_dtype(defaultauto) - precision.autois fine;fp16saves memory if you're tight.
Outputs: model (AnyText_Model) to the encoder and sampler, vae (VAE) to your VAE Decode, and ckpt_name (STRING) for logging.
How to install it
ComfyUI Manager, search ComfyUI_Anytext, or:
cd ComfyUI/custom_nodes
git clone https://github.com/zmwv823/ComfyUI_Anytext
then restart. Then download models: full AnyText checkpoint into ComfyUI/models/checkpoints, or an SD 1.5 checkpoint there plus the control model in ComfyUI/models/controlnet. A base font (Arial_Unicode.ttf) goes in ComfyUI/models/fonts. China-based users have hf-mirror.com and ModelScope mirrors for all of these.
Common issues & troubleshooting
"I loaded both a full checkpoint and a control_net and it broke." That's mixing Option 1 and Option 2. Full AnyText checkpoint means control_net_name = None. Only the SD 1.5 path uses the control model.
The dropdown is empty. No checkpoints in ComfyUI/models/checkpoints. Download one of the AnyText checkpoints first.
UL_AnyText_Loader vs UL_AnyTextLoader. The pack has both. This underscore version exposes a miaobi_clip with the google-flan-t5-large option; the non-underscore UL_AnyTextLoader adds an init_device control instead. Same core job - loading the AnyText model - just different revisions. And there's a UL_AnyTextLoaderTest that additionally accepts a model/clip/vae you've loaded elsewhere.
Chinese prompts come out as gibberish. Either route them through the translator nodes to English first, or set miaobi_clip so AnyText encodes the Chinese directly. Doing neither is the usual cause.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| control_net_name | COMBO | 1 options: None | |
| miaobi_clip | COMBO | 2 options: None, google-flan-t5-large/model.safetensors | |
| weight_dtype | COMBO | auto | Only fp16 and fp32 works. 仅支持fp16和fp32。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | AnyText_Model | — |
| vae | VAE | — |
| ckpt_name | STRING | — |