Z-Image TIES Merge (Method 2)
TIES merge, the smarter sibling for blending Z-Image weights
- model_base
- model_turbo
- merged_model
Plain vector merge (ZImageVectorMerge) has a problem: it mixes in every weight difference between two models, including the noise. TIES merging was invented to fix exactly that - you keep only the biggest, most meaningful changes and drop the small stuff, on the theory that those tiny deltas are training noise, not signal. ZImageTIESMerge is "Method 2" in the Zlycoris pair, and it's the one you reach for when a plain blend comes out muddy.
How it works
The node implements a single-pair trim-only TIES merge:
- Compute the task vector:
delta = turbo - base. - Trim: keep only the top
densityfraction of changes by magnitude, zero everything else. Withdensity = 0.2(the default), you keep the top 20% of each layer's deltas and flush the rest. - Merge:
base + strength × trimmed_delta.
That's the difference from Method 1 in one line: Method 1 trusts every delta, TIES only trusts the confident ones. The density slider is the tooltip's own description - "fraction of weights to keep (0.2 = keep top 20% of changes)" - so treat it literally.
The inputs that matter
model_base(MODEL) andmodel_turbo(MODEL) - same as the vector merge; base is what you keep, turbo is the flavor.density- 0.01 to 1.0, default 0.2. Lower = more aggressive noise filtering; 1.0 = no trimming, effectively a plain merge.strength- 0 to 5, default 1.0. Unlike the vector merge's ±2, TIES expects you to stay positive; the trim already did the "focus" job.
Output is merged_model (MODEL), ready for a sampler.
Why you'd pick it over Method 1
The trim makes it the better choice when the two models are close in quality but you want the signature of one without its artifacts - the classic Z-Image case is pulling Base's style and seed diversity into Turbo without dragging along everything that makes Base slower and fuzzier. Community fine-tunes like Z-Image-Turbo-Art did essentially this kind of selective fusion by hand before fine-tuning; this node automates the fusion half. There's no harm starting with TIES for any Turbo+Base blend - the density knob gives you a dial the vector merge simply doesn't have.
Install
ComfyUI Manager (search ComfyUI-Zlycoris) or:
cd ComfyUI/custom_nodes
git clone https://github.com/TripleHeadedMonkey/ComfyUI-Zlycoris.git
Restart ComfyUI. No model downloads.
Where people get burned
- It runs the heavy math on CPU, deliberately. The code moves tensors to CPU to dodge "tensor on different device" crashes and GPU OOM during the sort/top-k work. That means it's slow - a full 6B model merge can take a couple of minutes while your GPU idles. That's a feature, but it reads like a hang the first time.
- Shape mismatches are skipped with a console message, not an error. Same Frankenstein risk as the vector merge: if Turbo and Base aren't actually the same architecture, half the keys come from one model and the output will be visibly broken.
- Density below ~0.1 over-trims. With too aggressive a filter, the "kept" 10% starts including random medium-sized deltas that are themselves noise. The 0.15–0.3 band is where this technique earns its keep.
- Don't expect TIES to fix the fundamental Turbo/Base relationship question - the community has openly wondered whether the released Base is a true ancestor of Turbo, and no merge node resolves that. Test-render before committing a merged model to a workflow.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_base | MODEL | — | |
| model_turbo | MODEL | — | |
| density | FLOAT | 0.200.01–1 | Fraction of weights to keep (0.2 = keep top 20% of changes) |
| strength | FLOAT | 1.00–5 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| merged_model | MODEL | — |