Nodes/MagoNodes/Save Conditioning (Mago)
ComfyUI Node

Save Conditioning (Mago)

Bake your prompt once, then run LTX workflows without ever loading the text encoder

By MagoStudio·Created 4 months ago·Updated 17 days ago· 6
Save Conditioning (Mago)
  • conditioning
  • conditioning
filenameprompt

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 - the CONDITIONING you want to cache. Feed it from CLIPTextEncode.
  • filename - base name, no extension needed. Use distinct names for your two sides, hdr_pos / hdr_neg, not prompt for 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.

CategoryMago Nodes/Conditioning

Inputs (2)

NameTypeDefaultDescription
conditioningCONDITIONING
filenameSTRINGpromptBase 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)

NameTypeDescription
conditioningCONDITIONING