Nodes/comfyui-cyclist/Memorize Conditioning
ComfyUI Node

Memorize Conditioning

Hold an encoded prompt in memory across Cyclist iterations

By Pos13·Created 2 years ago·Updated 2 years ago· 33
Memorize Conditioning
  • to_memory
    loop_idForLoop_1

    Memorize Conditioning stores a CONDITIONING - an already-encoded prompt - in memory so the next run of your loop can pick it up where you left it. It's the same Memorize/Recall mechanic as the Int, Float and String versions, but for the tensor that comes out of your CLIP Text Encode. That makes it the odd one out in a nice way: it lets a loop accumulate or evolve the actual conditioning rather than re-encoding text every pass.

    When you'd actually want this

    Most loops that change the prompt just memorize a string and re-encode it each run. Memorizing the conditioning directly is for when you're building it up with conditioning-space operations - concatenating, averaging, combining - and you don't want to lose that assembled state between iterations. The pack's "ugly animal crossbreeds" example leans on this: each pass adds a new conditioning for a random animal, and the result is a prompt that's been composed across many runs rather than written out as one string. Stashing the CONDITIONING means the next iteration starts from the built-up version, not from scratch.

    Worth being honest about scope: this is a niche node inside a niche pack. If your loop just tweaks prompt text, Memorize String plus a re-encode is simpler and you should reach for that. Memorize Conditioning earns its place only when you're doing genuine conditioning-space work in the loop.

    The inputs that matter

    • loop_id (STRING, default ForLoop_1) - the memory slot; the matching Recall Conditioning uses the same id.
    • to_memory (CONDITIONING) - the encoded prompt you're saving, straight off a text-encode or a conditioning-combine node.

    No output - it's a terminal node. One conditioning per loop_id, overwritten on the next write under that id. (It shares the id with a separate Int, Float and String slot; the types don't collide.)

    Install

    • ComfyUI Manager: search comfyui-cyclist, install, restart.
    • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/Pos13/comfyui-cyclist, restart.

    Nothing to download - pure Python.

    Heads-up

    Two things. First, unlike the disk-based Reload/Override nodes, this is stored in memory (the author's words: "It stores conditioning to memory, not to disc") - so a ComfyUI restart clears it. There's no disk equivalent for conditioning, which makes sense: a CONDITIONING is a live tensor, not a file. If you need to persist across restarts, you'd re-derive it from a saved string or image instead.

    Second, the whole pack is archived and the author has stepped away from maintaining it. Conditioning internals are exactly the kind of thing that shifts between ComfyUI versions, so this node is a little more exposed to bit-rot than the plain Int/Float ones. It works today; test it against your version before you build a big workflow on top of it.

    Categorycyclist/Write

    Inputs (2)

    NameTypeDefaultDescription
    loop_idSTRINGForLoop_1
    to_memoryCONDITIONING

    Outputs (0)

    No outputs