Save Conditioning (Mago)
Bake your prompt once, then run LTX workflows without ever loading the text encoder
- conditioning
- conditioning
If you've ever queued an LTX-Video job and watched it sit at 0% for minutes while the text encoder slurps into VRAM, this node is for you. MagoSaveConditioning writes whatever CONDITIONING you feed it to disk as a .pth file - and it's the "bake it once" half of the trick. Pair it with Load Conditioning (Mago) and a fixed-prompt workflow never touches the text encoder again.
That matters more for LTX than for most models. LTX-2 and 2.3 pair their diffusion model with a Gemma 3 12B text encoder, and launch day taught everyone how heavy that thing is - it was the source of most of the OOM reports on 16GB cards. If your production prompt never changes (the pack's own example is an LTX HDR-conversion graph), re-running that encoder on every queue is pure waste.
How it works
The node takes a conditioning input and a filename, saves the whole CONDITIONING structure to output/conditioning/<filename>.pth, and passes the conditioning straight through unchanged. Two details make the cache portable: every tensor is moved to CPU before saving, so the file isn't coupled to whatever GPU wrote it, and the logic is prompt- and model-agnostic - it'll happily cache a WAN conditioning or an SDXL one.
The inputs are the whole story, so:
conditioning- theCONDITIONINGyou want to cache. Feed it fromCLIPTextEncode.filename- base name, no extension needed. Use distinct names for your two sides,hdr_pos/hdr_neg, notpromptfor both.
The output is the same conditioning you put in, which means the node can sit inline or as a terminal node. It's marked as an output node, so it'll show in the queue and can act as the end of a bake-only pass.
Wiring it up
The workflow is two passes. First, bake:
CLIPTextEncode (positive) → Save Conditioning (filename: hdr_pos)
CLIPTextEncode (negative) → Save Conditioning (filename: hdr_neg)
Then delete the text-encoder nodes and run production with Load Conditioning instead, so only the diffusion model and VAE load. One real gotcha from the author's docs: cache the encoder output before any per-input node. LTXAddVideoICLoRAGuide injects image-dependent guide tokens that change every run - bake before it, not after. LTXVConditioning only stamps frame-rate metadata and carries no model, so you can keep it in the production graph safely (or move the save to after it if you'd rather drop it too).
Installing
The node ships in the MagoStudio/ComfyUI-MagoNodes pack. In ComfyUI Manager, search "ComfyUI-MagoNodes" under Install Custom Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/MagoStudio/ComfyUI-MagoNodes
Restart ComfyUI. The pack has no extra dependencies - no model files to download, nothing beyond ComfyUI's own torch.
What'll bite you
Not much, honestly - it's a dumb file-write. Just remember to refresh the node list after the first save so the Load side's dropdown sees the new file, and don't point both positive and negative at the same filename.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| filename | STRING | prompt | Base name for the cache file (saved under output/conditioning/<name>.pth). Use distinct names for positive and negative, e.g. hdr_pos / hdr_neg. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |