Nodes/ComfyUI_agilly1989_motorway/ModelMergeAuraflow_motorway_edition
ComfyUI Node

ModelMergeAuraflow_motorway_edition

The DiT that brought flow matching to open weights

By agilly1989·Created 2 years ago·Updated about a year ago· 7
ModelMergeAuraflow_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_model1_keymodel1
INPUT_model2_keymodel2
init_x_linear.1.00
positional_encoding1.00
cond_seq_linear.1.00
register_tokens1.00
t_embedder.1.00
double_layers.0.1.00
double_layers.1.1.00
double_layers.2.1.00
double_layers.3.1.00
single_layers.0.1.00
single_layers.1.1.00
single_layers.2.1.00
single_layers.3.1.00
single_layers.4.1.00
single_layers.5.1.00
single_layers.6.1.00
single_layers.7.1.00
single_layers.8.1.00
single_layers.9.1.00
single_layers.10.1.00
single_layers.11.1.00
single_layers.12.1.00
single_layers.13.1.00
single_layers.14.1.00
single_layers.15.1.00
single_layers.16.1.00
single_layers.17.1.00
single_layers.18.1.00
single_layers.19.1.00
single_layers.20.1.00
single_layers.21.1.00
single_layers.22.1.00
single_layers.23.1.00
single_layers.24.1.00
single_layers.25.1.00
single_layers.26.1.00
single_layers.27.1.00
single_layers.28.1.00
single_layers.29.1.00
single_layers.30.1.00
single_layers.31.1.00
modF.1.00
final_linear.1.00
OUTPUT_MODEL_keyMODEL

AuraFlow was the first serious open-weights flow-matching DiT - the architecture family that Flux later made famous - and its block layout is completely unlike a U-Net. There's no encoder/decoder split; there are stacked transformer blocks, a dual-stream "double" section up front and a single-stream tail, plus embedders. ModelMergeAuraflow is ComfyUI's per-block merge for exactly that layout, and this is its Motorway-ed clone.

How the blocks map

The node exposes a ratio per named region, all defaulting to 1.0:

  • init_x_linear, positional_encoding, cond_seq_linear, register_tokens, t_embedder - the input embedders and conditioning wiring.
  • double_layers.0double_layers.3 - the early dual-stream blocks, where text and image tokens attend to each other separately before merging.
  • single_layers.0single_layers.31 - the long single-stream tail, the bulk of the model and where most of the texture lives.
  • modF and final_linear - the output projection.

The same merge-node gotcha applies and is worth stating again: all ratios default to 1.0, so an untouched node returns model2. Set a base blend first, then push individual regions. With DiT merges, the interesting split is usually double layers (conditioning/structure) versus single layers (finish).

One thing to know before you invest time here: AuraFlow's checkpoint ecosystem was a flash in the pan - the model was important as a proof that open flow-matching worked, but most people moved to Flux-class models for merging. This node is here because ComfyUI supports the architecture, not because it's the merge everyone's doing. If you're actually working with AuraFlow checkpoints, it's your tool; otherwise you're learning the layout for its own sake.

The inputs

  • INPUT_model1_key (default model1) and INPUT_model2_key (default model2) - the two AuraFlow models.
  • The block ratios above, each 0.0–1.0, step 0.01, default 1.0.
  • OUTPUT_MODEL_key (default MODEL) - where the merged model lands.

The wrapper keeps every ratio as a widget, turns the two models into key strings, and keyed-writes the result. Runtime behavior matches stock ModelMergeAuraflow.

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? Every ratio defaults to 1.0 - set a base blend first.
  • Only merge AuraFlow with AuraFlow (and matching sizes). The double/single layer counts differ across model families; Flux has 19 double + 38 single, so the numbers won't line up.
  • '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_edition nodes may be missing from the menu. They're present in the 1.1.0–1.1.6 builds comfy.icu indexed.
Categoryagilly1989 Nodes/Motorway-ed/advanced/model_merging/model_specific

Inputs (47)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_model1_keySTRINGmodel1
INPUT_model2_keySTRINGmodel2
init_x_linear.FLOAT1.000–1
positional_encodingFLOAT1.000–1
cond_seq_linear.FLOAT1.000–1
register_tokensFLOAT1.000–1
t_embedder.FLOAT1.000–1
double_layers.0.FLOAT1.000–1
double_layers.1.FLOAT1.000–1
double_layers.2.FLOAT1.000–1
double_layers.3.FLOAT1.000–1
single_layers.0.FLOAT1.000–1
single_layers.1.FLOAT1.000–1
single_layers.2.FLOAT1.000–1
single_layers.3.FLOAT1.000–1
single_layers.4.FLOAT1.000–1
single_layers.5.FLOAT1.000–1
single_layers.6.FLOAT1.000–1
single_layers.7.FLOAT1.000–1
single_layers.8.FLOAT1.000–1
single_layers.9.FLOAT1.000–1
single_layers.10.FLOAT1.000–1
single_layers.11.FLOAT1.000–1
single_layers.12.FLOAT1.000–1
single_layers.13.FLOAT1.000–1
single_layers.14.FLOAT1.000–1
single_layers.15.FLOAT1.000–1
single_layers.16.FLOAT1.000–1
single_layers.17.FLOAT1.000–1
single_layers.18.FLOAT1.000–1
single_layers.19.FLOAT1.000–1
single_layers.20.FLOAT1.000–1
single_layers.21.FLOAT1.000–1
single_layers.22.FLOAT1.000–1
single_layers.23.FLOAT1.000–1
single_layers.24.FLOAT1.000–1
single_layers.25.FLOAT1.000–1
single_layers.26.FLOAT1.000–1
single_layers.27.FLOAT1.000–1
single_layers.28.FLOAT1.000–1
single_layers.29.FLOAT1.000–1
single_layers.30.FLOAT1.000–1
single_layers.31.FLOAT1.000–1
modF.FLOAT1.000–1
final_linear.FLOAT1.000–1
OUTPUT_MODEL_keySTRINGMODEL

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨