Nodes/u5 FreeVRAM - Memory Management/Sequential CLIP Loader
ComfyUI Node

Sequential CLIP Loader

Swap text encoders mid-workflow without blowing up VRAM

By u5dev·Created 12 months ago·Updated 12 months ago· 8
Sequential CLIP Loader
  • trigger
  • CLIP
  • Bypass(Relay)
clip_name
type

Sequential CLIP Loader is ComfyUI's standalone CLIP loader with a trigger bolted on: it loads a .safetensors text encoder from your models/clip folder, and only when something upstream tells it to. Most of the time you don't need a standalone CLIP at all - your checkpoint carries one - but there's a specific situation where this node earns its keep: a two-pass workflow where the second pass wants a different text encoder than the first.

Say you're doing an SDXL rough pass and a finish pass that re-encodes through an fp16-fixed standalone CLIP. On a small card you can't keep both the checkpoint's CLIP and the standalone one resident at once, so you load the standalone one after the rough pass is done and its models are unloaded. That sequencing is the whole point of this node.

How it works

It scans models/clip for .safetensors files (and only those) and pulls its type dropdown directly from ComfyUI's built-in CLIPLoader - so you get the same list of types the core node offers: stable_diffusion, sdxl, flux, sd3, plus the long tail (qwen_image, wan, hidream, chroma, and a couple dozen more). On execution it calls comfy.sd.load_clip with the matching CLIPType enum. The type isn't decoration: it tells ComfyUI which architecture the encoder is, so picking the wrong one produces garbage conditioning or a hard error.

Inputs and outputs

  • clip_name (required) - dropdown of .safetensors CLIP files in models/clip. If you see "No safetensors CLIP files found," that's the node telling you the folder is empty of matching files, not a bug.
  • type (required) - the CLIP architecture, matched to your model family.
  • trigger (optional, any type) - wire the previous node's output here to control ordering; it's relayed to the output.
  • Outputs: CLIP (wire to CLIP Text Encode) and Bypass(Relay) (continue the chain).

In a two-pass setup it slots in right after a Sequential Checkpoint Loader:

[FREE VRAM] → [Sequential Checkpoint Loader] → trigger → [Sequential CLIP Loader]
                                                                    └─ CLIP → CLIP Text Encode

Installing it

It ships in the u5 FreeVRAM pack. ComfyUI Manager → search "u5 FreeVRAM" → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/u5dev/comfyUI_u5_VramFREE
# restart ComfyUI

No model downloads, no extra dependencies - it uses ComfyUI's own comfy.sd loading path.

Where people get burned

  • .safetensors only. .ckpt-format CLIP files won't even show up in the dropdown, and like the rest of the pack it has no GGUF support.
  • Don't double-load your CLIP. If you're chaining this after a Sequential Checkpoint Loader, the checkpoint already brings its own CLIP - the standalone loader is for when you deliberately want a different encoder. Loading both for no reason just eats the VRAM you were trying to save.
  • Get the type right. This is the classic trap: the file can be structurally fine while the type enum mismatches your checkpoint family, and you'll get silently weird text conditioning instead of an error. Match the type to the model, not to what's convenient.
Categoryu5

Inputs (3)

NameTypeDefaultDescription
clip_nameCOMBO1 options: No safetensors CLIP files found
typeCOMBO25 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +19
triggeroptIMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEANTrigger(Any): Connect from previous node to control execution order

Outputs (2)

NameTypeDescription
CLIPCLIP
Bypass(Relay)IMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEAN