Nodes/ComfyUI/ModelMergeCosmos7B
ComfyUI Node Runs on cloud

ModelMergeCosmos7B

Block-merging NVIDIA's world model, for people who actually run Cosmos

By Comfy-Org·Created 4 years ago·Updated about 3 hours ago· 129,870
ModelMergeCosmos7B
  • model1
  • model2
  • MODEL
pos_embedder.1.00
extra_pos_embedder.1.00
x_embedder.1.00
t_embedder.1.00
affline_norm.1.00
blocks.block0.1.00
blocks.block1.1.00
blocks.block2.1.00
blocks.block3.1.00
blocks.block4.1.00
blocks.block5.1.00
blocks.block6.1.00
blocks.block7.1.00
blocks.block8.1.00
blocks.block9.1.00
blocks.block10.1.00
blocks.block11.1.00
blocks.block12.1.00
blocks.block13.1.00
blocks.block14.1.00
blocks.block15.1.00
blocks.block16.1.00
blocks.block17.1.00
blocks.block18.1.00
blocks.block19.1.00
blocks.block20.1.00
blocks.block21.1.00
blocks.block22.1.00
blocks.block23.1.00
blocks.block24.1.00
blocks.block25.1.00
blocks.block26.1.00
blocks.block27.1.00
final_layer.1.00

ModelMergeCosmos7B is the block-merge node for the 7B variant of NVIDIA's Cosmos world-model family. If you've never heard of Cosmos, that's not a knock on you - the KB's Cosmos story is that it's a world foundation model built for Physical AI (robotics, simulation, autonomous driving), never aimed at the image/video generation community, and most of it drew a fortnight of polite curiosity before being written off. The 7B is one of the two diffusion-model variants (14B is the other) that actually run through ComfyUI's video pipelines.

So who is this node for? Realistically: the small group who fine-tune Cosmos 7B checkpoints for video or world-simulation work and want to blend two of them block-by-block. It's a specialist tool for a niche architecture, and it's here so you don't have to hand-type a 34-input merge graph. If you're not running Cosmos, there's nothing this node does for you - and that's fine, you're the 99%.

How it works

Family standard: a ModelMergeBlocks subclass doing per-tensor interpolation, result = ratio · model1 + (1 − ratio) · model2, ratio picked by longest matching key prefix. The Cosmos 7B key map:

  • pos_embedder., extra_pos_embedder. - the two positional embedding paths (Cosmos uses an extra position embedder for its temporal/video dimension, which is why there are two).
  • x_embedder. - input patch embedding.
  • t_embedder. - timestep embedding.
  • affline_norm. - a normalization layer (the misspelling is upstream's, not ComfyUI's).
  • blocks.block0 through blocks.block27 - 28 transformer blocks. The model.
  • final_layer. - output projection.

All defaults at 1.0 (all model1). The embedders are small; the block range is where merges actually change behavior.

The inputs that matter

Two MODEL inputs, and for most merges you'll only move a range of the blocks.blockN sliders. The extra_pos_embedder. is worth calling out because it's unusual - it's tied to Cosmos's video/time handling, so if you're merging across models with different temporal behavior, it can matter more than the name suggests. Everything else is the standard "keep structure from one, detail from the other" pattern.

One MODEL out, into a video sampler or Save Checkpoint.

Where people get burned

Cosmos merges are thin on the ground and community documentation is thin too - this is not a node with a decade of CivitAI wisdom behind it. The honest guidance is: both inputs must be the same Cosmos 7B architecture, and expect to experiment without much precedent to lean on. Also, Cosmos video runs are heavy; holding two 7B models in memory for a merge is not free.

One genuinely useful cross-reference: the reason people care about Cosmos at all in this community is that NVIDIA's Cosmos-Predict2 2B backbone became the base under Anima, the anime model that made people switch. The Cosmos-Predict2 merge nodes are a different, newer family - don't confuse the two when picking a node.

How you get it

Core ComfyUI, model/merging/model specific, landed February 2025 when Cosmos video support shipped. No installation.

Categorymodel/merging/model specific

Inputs (36)

NameTypeDefaultDescription
model1MODEL
model2MODEL
pos_embedder.FLOAT1.000–1
extra_pos_embedder.FLOAT1.000–1
x_embedder.FLOAT1.000–1
t_embedder.FLOAT1.000–1
affline_norm.FLOAT1.000–1
blocks.block0.FLOAT1.000–1
blocks.block1.FLOAT1.000–1
blocks.block2.FLOAT1.000–1
blocks.block3.FLOAT1.000–1
blocks.block4.FLOAT1.000–1
blocks.block5.FLOAT1.000–1
blocks.block6.FLOAT1.000–1
blocks.block7.FLOAT1.000–1
blocks.block8.FLOAT1.000–1
blocks.block9.FLOAT1.000–1
blocks.block10.FLOAT1.000–1
blocks.block11.FLOAT1.000–1
blocks.block12.FLOAT1.000–1
blocks.block13.FLOAT1.000–1
blocks.block14.FLOAT1.000–1
blocks.block15.FLOAT1.000–1
blocks.block16.FLOAT1.000–1
blocks.block17.FLOAT1.000–1
blocks.block18.FLOAT1.000–1
blocks.block19.FLOAT1.000–1
blocks.block20.FLOAT1.000–1
blocks.block21.FLOAT1.000–1
blocks.block22.FLOAT1.000–1
blocks.block23.FLOAT1.000–1
blocks.block24.FLOAT1.000–1
blocks.block25.FLOAT1.000–1
blocks.block26.FLOAT1.000–1
blocks.block27.FLOAT1.000–1
final_layer.FLOAT1.000–1

Outputs (1)

NameTypeDescription
MODELMODEL