Load Universal Conditioning
Load your prompt encodings from disk in milliseconds
- CONDITIONING
If you have a .bin file sitting in models/conditionings/ - written by its sibling SaveUniversalConditioning, or handed to you by someone who pre-computed their prompt - this node loads it back into a live CONDITIONING socket in the blink of an eye. No text encoder loads, no model shuffles, no GPU work. That's the entire point: re-encoding a prompt through a big text encoder is the expensive part, and this node skips it entirely.
How it works
It reads the file with torch.load(map_location="cpu") and returns the conditioning exactly as it was saved. The dropdown lists every .bin it finds in ComfyUI/models/conditionings/ (a folder this pack creates automatically). It also does two small things under the hood that keep it honest:
IS_CHANGEDhashes the file (SHA-256), so if you re-save over the same filename, the node re-runs instead of ComfyUI's cache silently feeding you the stale copy. This is the always-rerun machinery fromcomfyui-node-plumbing.mddone properly - a hash, not theTrue == Truefootgun.- It validates the file exists before execution and gives you a clear error instead of a cryptic traceback.
The input and output
- conditioning_file - the one enum widget. Pick the saved
.binfrom the list; if you just dropped a file in, hit the refresh button on the widget. - Output: CONDITIONING - wire it into a KSampler's positive or negative, or anywhere else conditioning flows. The saved value carries everything the original CLIP Text Encode produced, so it plugs in exactly where the text-encode node's output would.
When this pays off
Pair it with the save node for the two-workflow split: one "encode pass" that runs your big text encoder and writes the .bin, and a second generation workflow that loads it in a fraction of a second. This is the community's answer to video models with enormous text encoders - LTX-2's Gemma 3 encoder is the classic offender, but it works the same for FLUX's T5. People also use it to keep one canonical prompt encoding across a dozen workflows, so tweaking the wording happens in exactly one place.
Install
Same as any custom node, and there are no pip dependencies or models to fetch - the pack imports only ComfyUI's own torch, folder_paths, and comfy.cli_args.
- ComfyUI Manager → install from Git URL →
https://github.com/XxcomfyTestxX/ComfyUI-SaveLoadUniversalConditioningLatent, then restart; or cd ComfyUI/custom_nodes && git clone https://github.com/XxcomfyTestxX/ComfyUI-SaveLoadUniversalConditioningLatentand restart.
Where people get burned
Two things. First, loaded conditioning comes back on CPU - that's deliberate and safe; ComfyUI moves tensors to the right device when you feed the sampler, so don't go "fixing" it. Second, and this is the one that actually bites: a saved SD1.5 conditioning will not make sense in an SDXL graph. "Universal" means the loader accepts any conditioning structure, not that embeddings transfer between model families. Save and load within the same family, and if the dropdown is empty, your .bin is in the wrong folder - it belongs in models/conditionings/, not output/.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning_file | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |