ModelMergeCosmosPredict2_2B
Merge the robotics backbone that accidentally powers Anima
- model1
- model2
- MODEL
ModelMergeCosmosPredict2_2B is the block-merge node for NVIDIA's Cosmos-Predict2 2B Text2Image variant - and it's the single most interesting backstory in this whole merge family, because that "robotics" model nobody here adopted became the backbone under Anima, the anime model that made people switch. The KB nails the arc: Cosmos-Predict2 landed June 2025, was written off in its own release thread as not competitive with Flux, NVIDIA archived the repo in December for the 2.5 update - and then Circlestone Labs took the 2B T2I variant as the base for Anima, and suddenly this is the node you reach for if you do any Anima-lineage merging.
Anima is 2B (~4 GB bf16) and Cosmos-Predict2 based, per the concepts KB. That means the Anima fine-tune ecosystem - and Anima-adjacent checkpoints built on top of it - all descend from this architecture. If you want to blend two of those, this node is the tool, and its block layout is simple enough to learn in one pass.
How it works
Family standard, ModelMergeBlocks subclass, per-tensor interpolation result = ratio · model1 + (1 − ratio) · model2 with ratio by longest key prefix. The Predict2 2B map:
pos_embedder.- positional embeddings.x_embedder.- input patch embedding.t_embedder.,t_embedding_norm.- timestep embedding plus its normalization. Note there's no separate text embedder here - Predict2 conditions differently than the image-first families, which is part of why its language understanding reads so clean compared to Danbooru-tag-marinated anime models.blocks.0throughblocks.27- 28 transformer blocks.final_layer.- output projection.
All defaults 1.0 (all model1).
The inputs that matter
model1, model2, and a range of blocks.N sliders is the whole game. The interesting part of Predict2's design - the reason it has no text embedder to merge and the reason its anime children keep clean prompt adherence - is exactly what you're preserving when you blend two Anima-lineage checkpoints. The one quirk to remember: this is the 2B node. Predict2 14B exists with 36 blocks and its own node; the shapes don't cross.
Output: one MODEL, into a KSampler or Save Checkpoint.
Where people get burned
The mixup risk is the big one: Cosmos-Predict2 is not the same family as the original Cosmos 7B/14B diffusion models, and the node names look dangerously similar. Merge nodes must match the checkpoint's architecture - wiring a Predict2 2B checkpoint into ModelMergeCosmos7B or vice versa fails with a shape mismatch at sampling time.
Also realistic expectations: this is a niche. The Anima ecosystem is young and its merge culture even younger; you're closer to the frontier than to a body of community recipes. And a 2B merge is cheap to run, which is the one genuine luxury this node has over its bigger siblings - the whole point of the Predict2-2B/Anima line is that it's small.
How you get it
Core ComfyUI, model/merging/model specific, landed June 2025 with the Predict2 nodes. Nothing to install.
Inputs (35)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | MODEL | — | |
| model2 | MODEL | — | |
| pos_embedder. | FLOAT | 1.000–1 | — |
| x_embedder. | FLOAT | 1.000–1 | — |
| t_embedder. | FLOAT | 1.000–1 | — |
| t_embedding_norm. | FLOAT | 1.000–1 | — |
| blocks.0. | FLOAT | 1.000–1 | — |
| blocks.1. | FLOAT | 1.000–1 | — |
| blocks.2. | FLOAT | 1.000–1 | — |
| blocks.3. | FLOAT | 1.000–1 | — |
| blocks.4. | FLOAT | 1.000–1 | — |
| blocks.5. | FLOAT | 1.000–1 | — |
| blocks.6. | FLOAT | 1.000–1 | — |
| blocks.7. | FLOAT | 1.000–1 | — |
| blocks.8. | FLOAT | 1.000–1 | — |
| blocks.9. | FLOAT | 1.000–1 | — |
| blocks.10. | FLOAT | 1.000–1 | — |
| blocks.11. | FLOAT | 1.000–1 | — |
| blocks.12. | FLOAT | 1.000–1 | — |
| blocks.13. | FLOAT | 1.000–1 | — |
| blocks.14. | FLOAT | 1.000–1 | — |
| blocks.15. | FLOAT | 1.000–1 | — |
| blocks.16. | FLOAT | 1.000–1 | — |
| blocks.17. | FLOAT | 1.000–1 | — |
| blocks.18. | FLOAT | 1.000–1 | — |
| blocks.19. | FLOAT | 1.000–1 | — |
| blocks.20. | FLOAT | 1.000–1 | — |
| blocks.21. | FLOAT | 1.000–1 | — |
| blocks.22. | FLOAT | 1.000–1 | — |
| blocks.23. | FLOAT | 1.000–1 | — |
| blocks.24. | FLOAT | 1.000–1 | — |
| blocks.25. | FLOAT | 1.000–1 | — |
| blocks.26. | FLOAT | 1.000–1 | — |
| blocks.27. | FLOAT | 1.000–1 | — |
| final_layer. | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |