ModelMergeFlux1_motorway_edition
60 ratios, not one slider
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
Flux is a transformer, and its merge node reflects that: ModelMergeFlux1 exposes a ratio for every embedder and every one of the 57 transformer blocks in the model. This is its Motorway-ed clone. If you're blending Flux checkpoints, this is how you do it with precision instead of a single strength dial.
The layout, in plain terms
img_in,time_in,guidance_in,vector_in,txt_in- the five input embedders: image latent, timestep, guidance vector, pooled text, and token text. These decide what the model attends to, so they have outsized influence on conditioning behavior.double_blocks.0–double_blocks.18- 19 dual-stream blocks where image and text tokens interact. The early blocks build structure and semantic understanding; this is the "composition" side of the model.single_blocks.0–single_blocks.37- 38 single-stream blocks, the bulk of the compute, where the model refines detail. This is the "texture and finish" side.final_layer- the output projection.
And the trap, same as every node in this family: all ratios default to 1.0, so an untouched node hands you model2. The workflow is: set a base blend across the board (this is where most people start), sample, then raise or lower the double blocks versus the single blocks to steer composition-versus-detail. The KB's merge essay has the right mental model - merges combine parent strengths at the cost of consistency, and per-block merging is how you spend that cost deliberately.
Merging Flux is where per-block control actually pays for itself, because Flux fine-tunes (dev vs schnell, community LoRA-converted checkpoints, etc.) tend to differ in where they changed the weights. If you can see which blocks carry a style, you can graft just those.
The inputs
INPUT_model1_key(defaultmodel1) andINPUT_model2_key(defaultmodel2) - the two Flux models.- The embedder and 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 ModelMergeFlux1.
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
- Output identical to model2? All ratios default to 1.0 - set a base blend before fine-tuning.
- The guidance-related embedders (
guidance_in) matter most for distilled/guidance-distilled Flux variants; blending them badly can break CFG behavior. Keep them near your base blend unless you know why you're moving them. - Merge Flux with Flux only. Double/single block counts differ across transformer models, so these ratios won't map to other architectures.
'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 (67)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — | |
| INPUT_model1_key | STRING | model1 | — |
| INPUT_model2_key | STRING | model2 | — |
| img_in. | FLOAT | 1.000–1 | — |
| time_in. | FLOAT | 1.000–1 | — |
| guidance_in | FLOAT | 1.000–1 | — |
| vector_in. | FLOAT | 1.000–1 | — |
| txt_in. | FLOAT | 1.000–1 | — |
| double_blocks.0. | FLOAT | 1.000–1 | — |
| double_blocks.1. | FLOAT | 1.000–1 | — |
| double_blocks.2. | FLOAT | 1.000–1 | — |
| double_blocks.3. | FLOAT | 1.000–1 | — |
| double_blocks.4. | FLOAT | 1.000–1 | — |
| double_blocks.5. | FLOAT | 1.000–1 | — |
| double_blocks.6. | FLOAT | 1.000–1 | — |
| double_blocks.7. | FLOAT | 1.000–1 | — |
| double_blocks.8. | FLOAT | 1.000–1 | — |
| double_blocks.9. | FLOAT | 1.000–1 | — |
| double_blocks.10. | FLOAT | 1.000–1 | — |
| double_blocks.11. | FLOAT | 1.000–1 | — |
| double_blocks.12. | FLOAT | 1.000–1 | — |
| double_blocks.13. | FLOAT | 1.000–1 | — |
| double_blocks.14. | FLOAT | 1.000–1 | — |
| double_blocks.15. | FLOAT | 1.000–1 | — |
| double_blocks.16. | FLOAT | 1.000–1 | — |
| double_blocks.17. | FLOAT | 1.000–1 | — |
| double_blocks.18. | FLOAT | 1.000–1 | — |
| single_blocks.0. | FLOAT | 1.000–1 | — |
| single_blocks.1. | FLOAT | 1.000–1 | — |
| single_blocks.2. | FLOAT | 1.000–1 | — |
| single_blocks.3. | FLOAT | 1.000–1 | — |
| single_blocks.4. | FLOAT | 1.000–1 | — |
| single_blocks.5. | FLOAT | 1.000–1 | — |
| single_blocks.6. | FLOAT | 1.000–1 | — |
| single_blocks.7. | FLOAT | 1.000–1 | — |
| single_blocks.8. | FLOAT | 1.000–1 | — |
| single_blocks.9. | FLOAT | 1.000–1 | — |
| single_blocks.10. | FLOAT | 1.000–1 | — |
| single_blocks.11. | FLOAT | 1.000–1 | — |
| single_blocks.12. | FLOAT | 1.000–1 | — |
| single_blocks.13. | FLOAT | 1.000–1 | — |
| single_blocks.14. | FLOAT | 1.000–1 | — |
| single_blocks.15. | FLOAT | 1.000–1 | — |
| single_blocks.16. | FLOAT | 1.000–1 | — |
| single_blocks.17. | FLOAT | 1.000–1 | — |
| single_blocks.18. | FLOAT | 1.000–1 | — |
| single_blocks.19. | FLOAT | 1.000–1 | — |
| single_blocks.20. | FLOAT | 1.000–1 | — |
| single_blocks.21. | FLOAT | 1.000–1 | — |
| single_blocks.22. | FLOAT | 1.000–1 | — |
| single_blocks.23. | FLOAT | 1.000–1 | — |
| single_blocks.24. | FLOAT | 1.000–1 | — |
| single_blocks.25. | FLOAT | 1.000–1 | — |
| single_blocks.26. | FLOAT | 1.000–1 | — |
| single_blocks.27. | FLOAT | 1.000–1 | — |
| single_blocks.28. | FLOAT | 1.000–1 | — |
| single_blocks.29. | FLOAT | 1.000–1 | — |
| single_blocks.30. | FLOAT | 1.000–1 | — |
| single_blocks.31. | FLOAT | 1.000–1 | — |
| single_blocks.32. | FLOAT | 1.000–1 | — |
| single_blocks.33. | FLOAT | 1.000–1 | — |
| single_blocks.34. | FLOAT | 1.000–1 | — |
| single_blocks.35. | FLOAT | 1.000–1 | — |
| single_blocks.36. | FLOAT | 1.000–1 | — |
| single_blocks.37. | FLOAT | 1.000–1 | — |
| final_layer. | FLOAT | 1.000–1 | — |
| OUTPUT_MODEL_key | STRING | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |