Nodes/Mecha Merge Node Pack/Already Loaded Model
ComfyUI Node

Already Loaded Model

Merge with the model already in your workflow — no reload, no refile

By ljleb·Created 3 years ago·Updated about a month ago· 101
Already Loaded Model
  • model
  • clip
  • vae
  • recipe

Every other model-loading node in this pack reads a file from disk. This one grabs the model you've already loaded in your ComfyUI workflow - the MODEL you got out of a checkpoint loader, an Unet Loader, or even a prior merge - and turns it into a MECHA_RECIPE without touching disk again. It's the pack's "use what's already here" node, and it exists to solve a specific annoyance: you've built a complex workflow, a model is already in memory, and you don't want to reload the same file just to feed a merge branch.

How it works

ComfyUI wraps loaded models in a ModelPatcher with the weights sitting in whatever state it's currently in. This node calls state_dict_for_saving to extract the tensors from the live object, then wraps them as a lazy recipe - the clip and vae you optionally wire in get folded into the recipe too, so the downstream merge sees a complete model rather than a headless UNet. Because it's a recipe, the usual rules apply: nothing merges until a Mecha Merger executes the graph, and the execution streams key-by-key.

Inputs:

  • model (required) - any MODEL in your workflow.
  • clip and vae (optional) - wire them in if you want the merged output to include a text encoder and VAE. Leave empty and the recipe is UNet-only, which matters for save time.

Output: one recipe (MECHA_RECIPE).

When to use it vs Model Mecha Recipe

Model Mecha Recipe loads from file and is the standard starting point - use that for the parents of a merge. Already Loaded Model is for the special cases: merging with a model that only exists in memory (like the output of another merge node), re-merging the result of a Mecha Merger without saving it to disk first, or folding a LoRA-patched model into a merge. The trade-off is real: the loaded model is already materialized in RAM, so this node is less memory-efficient than the streaming file loader - it's a convenience node, not the memory-optimal path. If your goal is a low-RAM merge of two checkpoints, reach for the file loader instead; if you need to merge the thing you're already working with, this is the one.

The merge_checkpointing toggle is notably useful here - the loaded model doesn't change, so caching its recipe extraction on CPU in fp16 saves real time across runs.

Install & gotchas

ComfyUI Manager → search mecha → "Mecha Merge Node Pack", or:

cd ComfyUI/custom_nodes
git clone https://github.com/ljleb/comfy-mecha.git
pip install -r comfy-mecha/requirements.txt

Restart after. Dependency is sd-mecha==1.1.7.

The easy miss: if you skip clip/vae, the recipe is UNet-only, and a downstream save may silently lack a text encoder. And don't treat it as a magic memory fix - the whole point of the pack's streaming is that you don't hold full models in RAM, and this node starts from one that's already there.

Categorymecha

Inputs (3)

NameTypeDefaultDescription
modelMODEL
clipoptCLIP
vaeoptVAE

Outputs (1)

NameTypeDescription
recipeMECHA_RECIPE