π₯ Winnougan LTX Save Conditioning
Stop paying the Gemma text-encoder tax on every run
- conditioning
- conditioning
- save_info
LTX-2.3 pairs its 22B video model with a Gemma 3 12B text encoder, and that encoder is the quiet tax on every generation: it's huge, it eats VRAM, and re-encoding the same prompt takes real seconds on every single run. If you're iterating on seeds, resolution, or sampler settings while keeping the prompt fixed, you're paying that cost over and over for identical output. Winnougan LTX Save Conditioning is the fix - it writes your encoded conditioning to disk as a .safetensors file so you encode once and reuse forever.
This is half of a two-node caching system: Save writes the file, its sibling (Winnougan LTX Load Conditioning) reads it back without ever loading Gemma. Save your positive and negative encodings separately and the entire text-encoder stage disappears from your iteration loop - no Gemma in VRAM, no wait.
How it works
The node takes a CONDITIONING tensor, converts it to your chosen precision, and saves it to ComfyUI/models/embeddings/<filename>.safetensors using ComfyUI's own save_torch_file. It stores each conditioning entry plus its attention mask, and stamps metadata - how many conditionings, the dtype, and a timestamp - so the Load node can reconstruct everything correctly. Because it's an output node, the UI shows the save path, file size, and timestamp right on the node, which is exactly the feedback you want when a "save" is silently failing.
Inputs
conditioning- wire your encoded conditioning here. It passes through the node unchanged, which is a nice touch: you can leave the Save node in the graph permanently and it behaves like a passthrough.filename- no extension needed; only letters, numbers, underscores, and hyphens survive (the node sanitizes the rest). Pick something meaningful likemy_scene_positive.dtype-bfloat16is the recommended default;float16gives slightly smaller files.
Outputs are the passthrough conditioning and a save_info string for a Show Text node or just the on-node display.
Install
This ships in the ComfyUI_WLTX_nodes pack, which installs all eight nodes under Winnougan LTX:
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/ComfyUI_WLTX_nodes
Restart ComfyUI, or search ComfyUI_WLTX_nodes in ComfyUI Manager. No extra dependencies - it uses ComfyUI's built-in safetensors helpers.
Common issues
The files land in the embeddings folder, which is the same folder the Load node's dropdown reads - so if you save and the dropdown shows "(no files found)", you're looking at the wrong install or the save silently failed (check the on-node status). Name collision is the other trap: same filename overwrites the old file, which is usually what you want when iterating on a prompt, but a mistake if you thought you were versioning. And a gentle reminder from the docs: if you only change the content of the prompt, you must re-run the encoder and save again - a cached stale encoding is a wrong encoding, and there's no way to know from the file alone.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | β | |
| filename | STRING | my_prompt | Name for the saved file (without .safetensors extension). Only letters, numbers, underscores and hyphens. Saved to ComfyUI/models/embeddings/ |
| dtype | COMBO | bfloat16 | Precision for storage. bfloat16 recommended. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | β |
| save_info | STRING | β |