ModelMergeSD35_Large_motorway_edition
38 joint blocks of MMDiT, blended in the Motorway
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
SD3.5 Large was Stability's serious SD3 push - the model that fixed a lot of what 3.0 got wrong - and its MMDiT is bigger than the 2B's. ModelMergeSD35_Large is ComfyUI's per-block merge node for it, and this is its Motorway-ed clone. If you're merging SD3.5 Large checkpoints, this is the tool, and it's the same shape as the SD3 2B node with more blocks.
The layout
pos_embed- positional embedding for image tokens.x_embedder- the image-latent input projection.context_embedder- text-token conditioning projection.y_embedder- the pooled-text/CLIP conditioning path.t_embedder- timestep conditioning.joint_blocks.0–joint_blocks.37- 38 joint blocks where image and text tokens attend together; the bulk of the model. Early blocks carry structure and cross-modal semantics, late blocks carry detail and finish.final_layer- the output projection.
The family gotcha, one more time: all ratios default to 1.0, so an untouched node returns model2. The working recipe is the same as every per-block merge - choose a base blend for all the floats, sample, then raise or lower the regions that matter (embedders for prompt adherence, late joint_blocks for detail).
SD3.5 Large is the one member of the SD3 family with a real checkpoint ecosystem, which makes its merge node genuinely usable rather than academic. The KB's merge framing applies: per-block merging is how you steer which parent's strength shows up where, at the cost of some consistency. If you're blending two 3.5 Large checkpoints to trade prompt-following for aesthetic or vice versa, the embedders (context_embedder, y_embedder) are where you'll feel that trade.
The inputs
INPUT_model1_key(defaultmodel1) andINPUT_model2_key(defaultmodel2) - the two SD3.5 Large models.- The block ratios, each 0.0–1.0, step 0.01, default 1.0.
OUTPUT_MODEL_key(defaultMODEL) - where the merged model lands.
The wrapper keeps every ratio as a widget, turns the models into key strings, and keyed-writes the result. Runtime behavior matches stock ModelMergeSD35_Large.
Install
One install for the whole pack. ComfyUI Manager, search "ComfyUI_agilly1989_motorway", or:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No requirements.txt, no model downloads.
Troubleshooting
- Result is pure model2? All ratios default to 1.0 - set a base blend first.
- Use
ModelMergeSD3_2Bfor SD3 2B weights - that variant has 24 joint blocks, not 38, and the layouts don't swap. - Merge SD3.5 Large with SD3.5 Large. Different architectures have different block names; the ratios won't mean anything across families.
'MotorwayClass' object has no attribute 'hash_'= a model key isn't in the Motorway; check the loaders ran and the key spelling matches (case-sensitive).- Pack caveats: BETA, and the newest published version (1.1.7) disabled clone generation, so on a fresh install these
_motorway_editionnodes may be missing from the menu. They're present in the 1.1.0–1.1.6 builds comfy.icu indexed.
Inputs (48)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — | |
| INPUT_model1_key | STRING | model1 | — |
| INPUT_model2_key | STRING | model2 | — |
| 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 | — |
| OUTPUT_MODEL_key | STRING | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |