Loader ckpt+clip+vae+lora (Arrssenne)
>` tags right in your prompt
- MODEL
- CLIP
- VAE
- text
- checkpoint_name
If you came from Forge or A1111 and keep typing <lora:style_v3:0.8> into your prompt out of muscle memory, this node is aimed squarely at you. It's an all-in-one loader that takes a checkpoint, a CLIP text encoder, a VAE, and your prompt - and pulls any <lora:...> tags out of the prompt, applies them, and hands you back the cleaned text. Four nodes (CheckpointLoader + CLIPLoader + VAELoader + a lora-tag loader) collapsed into one.
Why it exists
The author's stated reason, straight from the source: some checkpoints (their example is the Krea2-style ones) ship without a usable embedded text encoder, and the normal loader chain then dies with a "clip input is invalid" error. This node never loads the checkpoint's embedded CLIP or VAE - it only loads the MODEL from the checkpoint and gets CLIP and VAE externally. No embedded encoder, no crash. You always know exactly which text encoder is in play.
How it works
- checkpoint → loaded via ComfyUI's
load_checkpoint_guess_configwithoutput_clip/output_vaedisabled, so you get the MODEL alone. - CLIP → from your
text_encodersfolder via the builtin CLIPLoader, with aclip_typeselector. - VAE → from your VAE files via the builtin VAELoader.
- LoRAs → the node regexes
<lora:name[:strength_model[:strength_clip]]>out of the prompt, matches the name against your installed LoRA files (exact path, then path-minus-extension, then bare filename), applies each via the builtin LoraLoader - so ComfyUI's LoRA caching still works - and strips the tags from thetextoutput. Missing strengths default to 1.0 (clip strength defaults to the model strength). A tag that matches nothing is logged and skipped, never fatal.
That tag syntax - <lora:name:weight> in the prompt - is a genuine Forge/A1111 convention, and it's the hook that makes this feel like home if you're migrating. You keep the whole generation config in one text box and let the node sort out the loading.
Inputs that matter
- ckpt_name - dropdown of your checkpoints.
- clip_name - dropdown of files in
text_encoders/. - clip_type - inherited from the builtin CLIPLoader. For SD1.5/SDXL/Pony/Illustrious it's
stable_diffusion; newer model families (SD3, LTX, Wan, Mochi…) have their own. This is the beginner trap: pick the wrong one and CLIP encoding fails with a confusing error. - vae_name - your VAE files (newer ComfyUI builds also list the built-in
pixel_spacepassthrough here). - text - forceInput, so wire your prompt. Don't type it in.
Outputs - and the one everyone gets wrong
- MODEL → your sampler. CLIP → CLIP Text Encode. VAE → VAE Decode.
- text → the prompt with the tags stripped. Wire this into CLIP Text Encode, not the raw prompt you typed. This is the classic mistake: people bypass the cleaned output, and the literal
<lora:...>text gets encoded and shows up as garbage tokens in the render. - checkpoint_name → the raw checkpoint string, for feeding Filename ckpt+seed (Arrssenne) or Image Saver metadata.
When NOT to use it
This node loads a separate CLIP file even when your checkpoint has a perfectly good embedded one - that's wasted disk reads and VRAM. If you're on a normal self-contained checkpoint (SDXL, Pony, Illustrious, most merged .safetensors), the pack's Loader ckpt+lora (Arrssenne) is the right tool, and it's drop-in swappable: same five outputs. Reach for this one when the checkpoint can't provide its own usable CLIP, or when you deliberately want a different text encoder.
Install
ComfyUI Manager → search "ComfyUI-Arrssenne", or:
cd ComfyUI/custom_nodes
git clone https://github.com/arrssenne/comfyui-arrssenne
Restart, and it's under Arrssenne/Loaders. No model downloads, no API keys. The only Python dependency is Pillow (already present in any ComfyUI install); everything else is the builtin APIs.
One caveat worth stating: this is a small, personal, French-authored pack - low traffic, maintained for one person's workflow. It's cleanly written and delegates to ComfyUI's own loaders, so it's low-risk to install, but don't expect weekly updates. If the <lora:>-in-prompt habit is what you want, it's the tidiest one-node version around.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| clip_name | COMBO | 0 options: | |
| clip_type | COMBO | 28 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +22 | |
| vae_name | COMBO | 1 options: pixel_space | |
| text | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| text | STRING | — |
| checkpoint_name | STRING | — |