Nodes/Mikey Nodes/Model Merge PixArtSigmaXL2_1024MS (Mikey)
ComfyUI Node

Model Merge PixArtSigmaXL2_1024MS (Mikey)

Block-by-block merging for PixArt Sigma

By bash-j·Created 3 years ago·Updated 10 months ago· 188
Model Merge PixArtSigmaXL2_1024MS (Mikey)
  • model1
  • model2
  • MODEL
blocks.0.1.00
blocks.1.1.00
blocks.2.1.00
blocks.3.1.00
blocks.4.1.00
blocks.5.1.00
blocks.6.1.00
blocks.7.1.00
blocks.8.1.00
blocks.9.1.00
blocks.10.1.00
blocks.11.1.00
blocks.12.1.00
blocks.13.1.00
blocks.14.1.00
blocks.15.1.00
blocks.16.1.00
blocks.17.1.00
blocks.18.1.00
blocks.19.1.00
blocks.20.1.00
blocks.21.1.00
blocks.22.1.00
blocks.23.1.00
blocks.24.1.00
blocks.25.1.00
blocks.26.1.00
blocks.27.1.00
final_layer1.00
pos_embed1.00
t_block.11.00
t_embedder1.00
x_embedder1.00
y_embedder1.00

PixArt Sigma had a real moment in 2024 - a DiT model that hit SD3-level prompt adherence at a fraction of the parameter count, before the team got absorbed into Nvidia and Flux ate the "best open model for following instructions" crown out from under it. It never fully died, and this node is for the people still merging PixArt Sigma checkpoints together: a block-by-block merger built specifically for the PixArtSigmaXL2_1024MS architecture, rather than a generic one-size-fits-all merge tool.

How it works

Model merging blends the weights of two checkpoints. The crude version of that is one global ratio - "70% model A, 30% model B" - applied uniformly across the whole network. This node does the finer-grained version: every transformer block in the architecture gets its own weight slider, so you can keep model A's early blocks (which tend to carry broad composition) while pulling in model B's later blocks (which tend to carry finer detail and style), or any other split you want to experiment with. That's the whole appeal of a block merge over a flat one - it's more work to dial in, but it's the only way to keep what one checkpoint does well in one part of the network while borrowing something else from a different checkpoint elsewhere.

The inputs and outputs that matter

  • model1 and model2 - the two checkpoints to merge. Both need to be built on the same PixArtSigmaXL2_1024MS architecture; this node's block count and structure are hard-wired to that specific model, not a general PixArt or DiT merger.
  • blocks.0. through blocks.27. (FLOAT, default 1, range 0–1, step 0.01) - one slider per transformer block, 28 in total. A value of 1 keeps that block entirely from model1; 0 takes it entirely from model2; anything between linearly blends the two.
  • final_layer, pos_embed, t_block.1, t_embedder, x_embedder, y_embedder - the same 0–1 blend control extended to the architecture's other named components outside the numbered transformer blocks (positional embedding, timestep embedding, input/output embedders, final projection).
  • MODEL (output) - the merged checkpoint, ready to wire into a sampler the same as any other model.

Leaving every slider at its default of 1 gives you back model1 unchanged - a useful sanity check before you start actually tweaking values.

How to install it

Comes with the rest of Mikey Nodes; there's no separate package for merge-specific nodes. ComfyUI Manager: search "Mikey Nodes," install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/bash-j/mikey_nodes

then restart. You'll need two PixArt Sigma PixArtSigmaXL2_1024MS checkpoints already downloaded into your models folder - this node merges what you already have, it doesn't fetch anything.

Common issues & troubleshooting

Wrong architecture plugged in. If model1 or model2 isn't actually a PixArtSigmaXL2_1024MS checkpoint, expect an error or garbage output rather than a graceful fallback - the 28-block structure this node expects is specific to that architecture's layout, and a mismatched model simply doesn't have the same shapes to merge against.

Merged model performs worse than either parent. This isn't a bug specific to this node - it's the general risk of merging in the first place. The wider ecosystem's own experience with merges is that averaging two checkpoints with meaningfully different strengths tends to dilute both rather than combine their best traits; a realism-leaning merge and a stylized-leaning merge rarely produce something better at either. Block-level control mitigates this compared to a flat ratio, but it doesn't eliminate it - expect to iterate.

28 sliders is a lot to tune by hand. There's no shortcut built into this node for that - no group-select, no preset. Start by changing a handful of blocks at a time (early vs. late) rather than randomizing all 28 at once, so you can actually tell which section of the network is responsible for what you're seeing change.

CategoryMikey/Model Merging/Model Specific

Inputs (36)

NameTypeDefaultDescription
model1MODEL
model2MODEL
blocks.0.FLOAT1.000–1
blocks.1.FLOAT1.000–1
blocks.2.FLOAT1.000–1
blocks.3.FLOAT1.000–1
blocks.4.FLOAT1.000–1
blocks.5.FLOAT1.000–1
blocks.6.FLOAT1.000–1
blocks.7.FLOAT1.000–1
blocks.8.FLOAT1.000–1
blocks.9.FLOAT1.000–1
blocks.10.FLOAT1.000–1
blocks.11.FLOAT1.000–1
blocks.12.FLOAT1.000–1
blocks.13.FLOAT1.000–1
blocks.14.FLOAT1.000–1
blocks.15.FLOAT1.000–1
blocks.16.FLOAT1.000–1
blocks.17.FLOAT1.000–1
blocks.18.FLOAT1.000–1
blocks.19.FLOAT1.000–1
blocks.20.FLOAT1.000–1
blocks.21.FLOAT1.000–1
blocks.22.FLOAT1.000–1
blocks.23.FLOAT1.000–1
blocks.24.FLOAT1.000–1
blocks.25.FLOAT1.000–1
blocks.26.FLOAT1.000–1
blocks.27.FLOAT1.000–1
final_layerFLOAT1.000–1
pos_embedFLOAT1.000–1
t_block.1FLOAT1.000–1
t_embedderFLOAT1.000–1
x_embedderFLOAT1.000–1
y_embedderFLOAT1.000–1

Outputs (1)

NameTypeDescription
MODELMODEL