Nodes/ComfyUI_StarNodes/⭐ Star Conditioning Saver
ComfyUI Node

⭐ Star Conditioning Saver

Save the conditioning instead

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Conditioning Saver
  • conditioning
  • conditioning
filenameconditioning

CLIP encoding is not free. With the heavy text encoders that Flux, Qwen and the video models ship these days, re-encoding the same prompt on every run wastes real seconds - and if you're on a consumer card, the 20GB text encoder has to load and unload each time. Star Conditioning Saver is the StarNodes answer to a problem the pack's author clearly hit himself: encode once, save the conditioning to disk, and load it back later without touching the text encoder at all.

It lives in ⭐StarNodes/Conditioning and is the save half of a save/load pair.

How it works

Two inputs:

  • conditioning - a CONDITIONING tensor, typically straight out of a CLIP Text Encode node.
  • filename (default "conditioning") - the base name. The node sanitizes it to alphanumerics plus a few safe characters, appends a timestamp, and writes {filename}_{timestamp}.pt into ComfyUI/output/conditionings/. The timestamp means you can't accidentally overwrite an earlier save - every run gets a fresh file.

It also has a pass-through conditioning output, so you can drop it inline in an existing graph without rewiring: whatever goes in comes out unchanged.

Under the hood it saves the full conditioning object (the prompt embedding tensor plus its metadata) as a torch .pt file. This isn't a compressed format - it's the raw tensor, so a big Flux conditioning is a big file - but re-reading a local tensor is dramatically cheaper than re-encoding it through a 12B text encoder.

Why you'd use it

The obvious case is a fixed prompt you generate from over and over: bake the conditioning once, then reuse it in workflow after workflow. The bigger case is workflow sharing and A/B testing - save two variants' conditioning side by side, swap the loader dropdown, and compare sampler behavior with the text-encoding variable removed from the equation.

It also decouples graph editing from re-encoding: change the sampler or the latent all you want; as long as the conditioning file is unchanged, nothing re-encodes.

Installing it

Standard StarNodes install - ComfyUI Manager, search Starnodes, install, restart:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Search the canvas for star - it's under ⭐StarNodes/Conditioning, right next to its loader sibling.

Gotchas

Two worth knowing. First, the timestamp suffix means your output/conditionings/ folder accumulates files fast; there's no built-in cleanup, so occasionally prune it. Second - and this is the one that confuses people - conditioning is tied to the model family it was encoded with. A conditioning saved from an SDXL CLIP won't work on a Flux sampler, and the error may be cryptic. If you save conditioning to share a workflow, label the file with the model it belongs to. And if you're saving from a video or edit model, same rule: it's a prompt-embedding cache, not a universal token.

Category⭐StarNodes/Conditioning

Inputs (2)

NameTypeDefaultDescription
conditioningCONDITIONING
filenameSTRINGconditioning

Outputs (1)

NameTypeDescription
conditioningCONDITIONING