ModelMergeSD35_Large
Merging an 8B MMDiT that almost nobody actually merges
- model1
- model2
- MODEL
Let me save you some time: this node is for merging SD3.5 Large - Stability's big MMDiT model - and there is a good chance you will never actually use it. SD3.5 arrived after the SD3 release disaster poisoned the well, its fine-tune ecosystem never took off the way SDXL's and SD1.5's did, and on top of that you're merging two ~8B models, which means holding two full models plus working memory in VRAM at once. It exists because ComfyUI tracks every architecture, not because the community is clamoring for it. If you're here, you're probably an SD3.5 completist or you grabbed a workflow that happens to use it.
How it works
Same ModelMergeBlocks engine as the rest of the family: model1 is the cloned base, model2's weights get mixed in per-block with model1_weight * (1 - ratio) + model2_weight * ratio. The slider names are the SD3.5 architecture - joint_blocks.0. through joint_blocks.37. are the MMDiT blocks where image and text tokens are processed together, with a few embedder sliders up front (pos_embed., x_embedder., context_embedder., y_embedder., t_embedder.) and final_layer. on the end.
And yes, the family gotcha applies: every slider defaults to 1.0, which means "take model2." Run it untouched and you get pure model2. Base goes in model1, the model you want to influence the result goes in model2, and you lower sliders to actually blend.
What matters
The two MODEL inputs must both be SD3.5 Large. Do not feed it SD3 Medium or the 2B - different block counts, no matching weight keys, silent no-op that hands you model1 unchanged. Both models also need to be loadable in the first place, which for 8B checkpoints usually means a quantized load (GGUF or fp8) on consumer cards. A merged SD3.5 Large is a big file and a slow sampler; budget accordingly.
The output is a plain MODEL that feeds a sampler exactly like the input ones did - no special handling, since the merge only changes weights, never architecture.
The honest take
There's no battle-tested folklore for SD3.5 block merging like there is for SD1.5, because not enough people did it to accumulate any. If you're determined to blend two SD3.5 fine-tunes, start from the general rules: similar-aesthetic models merge more consistently than opposites, test with grids, and expect some garbage before something works. The node shipped in October 2024, right around SD3.5's release, and it's part of ComfyUI core - nothing to install. It's a niche tool for a niche model, but when you do need it, it does exactly what it says.
Inputs (46)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | MODEL | — | |
| model2 | MODEL | — | |
| pos_embed. | FLOAT | 1.000–1 | — |
| x_embedder. | FLOAT | 1.000–1 | — |
| context_embedder. | FLOAT | 1.000–1 | — |
| y_embedder. | FLOAT | 1.000–1 | — |
| t_embedder. | FLOAT | 1.000–1 | — |
| joint_blocks.0. | FLOAT | 1.000–1 | — |
| joint_blocks.1. | FLOAT | 1.000–1 | — |
| joint_blocks.2. | FLOAT | 1.000–1 | — |
| joint_blocks.3. | FLOAT | 1.000–1 | — |
| joint_blocks.4. | FLOAT | 1.000–1 | — |
| joint_blocks.5. | FLOAT | 1.000–1 | — |
| joint_blocks.6. | FLOAT | 1.000–1 | — |
| joint_blocks.7. | FLOAT | 1.000–1 | — |
| joint_blocks.8. | FLOAT | 1.000–1 | — |
| joint_blocks.9. | FLOAT | 1.000–1 | — |
| joint_blocks.10. | FLOAT | 1.000–1 | — |
| joint_blocks.11. | FLOAT | 1.000–1 | — |
| joint_blocks.12. | FLOAT | 1.000–1 | — |
| joint_blocks.13. | FLOAT | 1.000–1 | — |
| joint_blocks.14. | FLOAT | 1.000–1 | — |
| joint_blocks.15. | FLOAT | 1.000–1 | — |
| joint_blocks.16. | FLOAT | 1.000–1 | — |
| joint_blocks.17. | FLOAT | 1.000–1 | — |
| joint_blocks.18. | FLOAT | 1.000–1 | — |
| joint_blocks.19. | FLOAT | 1.000–1 | — |
| joint_blocks.20. | FLOAT | 1.000–1 | — |
| joint_blocks.21. | FLOAT | 1.000–1 | — |
| joint_blocks.22. | FLOAT | 1.000–1 | — |
| joint_blocks.23. | FLOAT | 1.000–1 | — |
| joint_blocks.24. | FLOAT | 1.000–1 | — |
| joint_blocks.25. | FLOAT | 1.000–1 | — |
| joint_blocks.26. | FLOAT | 1.000–1 | — |
| joint_blocks.27. | FLOAT | 1.000–1 | — |
| joint_blocks.28. | FLOAT | 1.000–1 | — |
| joint_blocks.29. | FLOAT | 1.000–1 | — |
| joint_blocks.30. | FLOAT | 1.000–1 | — |
| joint_blocks.31. | FLOAT | 1.000–1 | — |
| joint_blocks.32. | FLOAT | 1.000–1 | — |
| joint_blocks.33. | FLOAT | 1.000–1 | — |
| joint_blocks.34. | FLOAT | 1.000–1 | — |
| joint_blocks.35. | FLOAT | 1.000–1 | — |
| joint_blocks.36. | FLOAT | 1.000–1 | — |
| joint_blocks.37. | FLOAT | 1.000–1 | — |
| final_layer. | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |