comfy-mecha

comfy-mecha
★ 99

模型合并sd-mecha内存优化ComfyUI 节点
基于 sd-mecha 的模型合并节点,采用内存高效的 state_dict 配方合并方法,可在显存受限环境下合并与管理模型权重,提高合并效率与资源利用。
💡 在显存受限时高效合并多个模型权重,生成混合模型。
🍴 6 Forks💻 Python🔄 2026-03-19
📦
网盘下载
复制链接后前往夸克网盘下载
https://pan.quark.cn/s/9671236b7e59
📦 requirements.txt
sd-mecha==1.1.5
resources/weighted_sum.png
resources/clipped_add_difference.png
resources/ties_merging.png
📄 README

[](https://discord.gg/invite/2EPaw6fxxm)

sd-mecha for Comfyui

comfy-mecha is a complete model merging nodepack for ComfyUI with a focus on low memory footprint.

  • compose complex recipes without needing to save dozens of intermediate merges to disk
  • merge loras to models
  • support for block weights
  • and a bunch of other stuff. For more info, see the nodes listing below. See also the readme of the underlying library sd-mecha
  • Workflows

    Basic weighted sum

    Clipped add difference

    Ties merging

    Recipe workflows can get much, much more complex than this.

    If you are familiar with writing python code, you might be interested in using the sd-mecha library directly for experiments as an alternative to ComfyUI: https://github.com/ljleb/sd-mecha

    Install

    Install with ComfyUI-Manager

    Assuming you have ComfyUI-Manager installed:

  • Open a browser tab on ComfyUI
  • Click on the “Manager” button
  • Click on “Install Custom Nodes”
  • Search for “mecha”
  • Install “Mecha Merge Node Pack”
  • Install manually

    You can also install the node pack manually:

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

    Nodes listing

    Merge nodes

    Nodes used for merging. They all have Recipe in their name except for Mecha Merger.

  • nodes ending in ... Mecha Recipe return a merge recipe
  • Mecha Merger takes a MECHA_RECIPE as input, and returns a unet and a text encoder
  • Serializer takes a MECHA_RECIPE as input, and returns the recipe instructions using the mecha format
  • Deserializer takes a mecha recipe string as input, and returns the deserialized MECHA_RECIPE (this is the inverse operation of Serializer)
  • Mecha Model Recipe loads a model as a recipe to be used as input to other recipe nodes.
  • Mecha Lora Recipe loads a lora model as a recipe to be used as input to other recipe nodes.
  • Mecha Recipe List takes an arbitrary number of recipes and returns a MECHA_RECIPE_LIST. It is intended to be used as input to recipe nodes that accept an arbitrary number of recipes as input, i.e. the bounds input of Clip Mecha Recipe
  • Mecha Subtract Recipe List is the same as Mecha Recipe List but takes an additional base_recipe input that is subtracted from all other recipe inputs. This can simplify workflows that work with multiple deltas all obtained from the same base model.
  • Param Nodes

    Nodes used to specify parameters to merge methods. For example, Weighted Sum Mecha Recipe has a param input alpha with a default value of 0.5.

  • Blocks Mecha Params can specify a different parameter for each block of the models to be merged (A.K.A. “merge block weighted”)
  • Float Mecha Params specifies the same float for all keys of the models to be merged
  • Extensions

    To add custom merge nodes, you can add python scripts that make use of the mecha extension API under the mecha_extensions directory.

    The nodepack will run all scripts placed there and turn them into Comfy nodes.

    Currently, the documentation for the mecha extension API is under construction.

    For now, to get more information, you can either take a look at the custom merge method example,

    open a discussion post to ask questions, or join the discord server.