Prism (Tensor Prism)
Merging in the frequency domain instead of weight space
- model_A
- model_B
- merged_model
The pack is named after this node, so it should surprise nobody that Prism is the flagship: a spectral merge that doesn't average weights directly but transforms them into the frequency domain, blends there, and transforms back. The pitch is that frequency-domain merging preserves detail better than plain interpolation - low frequencies carry structure, high frequencies carry texture, and you can treat them as separate dials instead of one mushy average.
It's also the node to be most skeptical about, and I mean that as a compliment. FFT-based merging on weights is a real and somewhat exotic technique, and it's exactly the kind of thing a first-time, "vibe-coded" pack would reach for first. The good news: the knob layout is clear enough that you can A/B it against Main Merge in an evening and let your own renders decide.
How it works
model_A and model_B in, pick merge_method from five:
spectral_blend- the basic frequency-domain blend, gated bystrength(0.5).frequency_bands- splits low and high frequencies into separate controls (low_freq_bias0.7,high_freq_bias0.3), so you can keep one model's structure while taking the other's detail.magnitude_weighted- weights the blend by each parameter's magnitude, so stronger weights dominate.adaptive_mix- adjusts the blend per-region based on measured similarity.harmonic_merge- a sign-based harmonic blend, the most experimental of the five.
spectral_precision (fast/balanced/precise) trades speed against transform accuracy, and layer_selective (off) restricts the spectral path to select layers. Single output: merged_model.
The settings that matter
Start with spectral_blend at strength 0.5 - it's the honest benchmark. Move to frequency_bands when you have a specific goal: lean low_freq_bias toward the model whose composition you trust, high_freq_bias toward the one whose texture you like. The README's own tip is that different frequency biases "can dramatically change results," which is the polite way of saying you'll want to sweep them.
Installing it
Part of ComfyUI-Tensor-Prism-Node-Pack. ComfyUI Manager → search "Tensor Prism" → Install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/AstrionX/ComfyUI-Tensor-Prism-Node-Pack
No model downloads; deps are torch, numpy, psutil. Ignore the typo'd clone URL in the README.
The honest caveat
Spectral merging is computationally heavier than linear, and "preserves detail better" is a claim this pack hasn't yet earned a track record on. The README's troubleshooting is honest about the general case - if results are poor, try different methods or adjust spectral parameters - which is the correct advice for a technique that's still finding its audience. My take: run Prism's spectral_blend and frequency_bands against Main Merge's slerp on the same two models. If Prism wins, great, you've found the pack's magic. If not, that's data too.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model_A | MODEL | — | |
| model_B | MODEL | — | |
| merge_method | COMBO | 5 options: spectral_blend, frequency_bands, magnitude_weighted, adaptive_mix, harmonic_merge | |
| strength | FLOAT | 0.500–1 | — |
| low_freq_biasopt | FLOAT | 0.700–1 | — |
| high_freq_biasopt | FLOAT | 0.300–1 | — |
| spectral_precisionopt | COMBO | fast | 3 options: fast, balanced, precise |
| layer_selectiveopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| merged_model | MODEL | — |