Nodes/EasyLoRAMerger/🎨 Easy Checkpoint Merger
ComfyUI Node

🎨 Easy Checkpoint Merger

A ComfyUI node in Checkpoint/Experimental with 28 inputs and 6 outputs.

By TerpentinasΒ·Created 6 months agoΒ·Updated 3 months agoΒ· 11
🎨 Easy Checkpoint Merger
  • checkpoint_data_a
  • checkpoint_data_b
  • checkpoint_data_c
  • model
  • clip
  • vae
  • checkpoint_data
  • output_path
  • forensic_report
β—„methodlinearβ–Ί
β—„density1.00β–Ί
β—„checkpoint_aβ–Ύβ–Ί
β—„checkpoint_bβ–Ύβ–Ί
β—„checkpoint_cβ–Ύβ–Ί
β—„weight_a1.00β–Ί
β—„weight_b1.00β–Ί
β—„weight_c1.00β–Ί
β—„weight_unet1.00β–Ί
β—„weight_clip1.00β–Ί
β—„weight_vae1.00β–Ί
β—„weight_te1.00β–Ί
β—„blend_modeautoβ–Ί
β—„balancing_modedisabledβ–Ί
β—„magnitude_scalingnoneβ–Ί
β—„uniqueness0.70β–Ί
β—„threshold0.00β–Ί
β—„blend0.50β–Ί
β—„deviceautoβ–Ί
β—„precisionautoβ–Ί
β—„batch_size64β–Ί
β—„save_triggerfalseβ–Ί
β—„filenamemerged_checkpointβ–Ί
β—„save_folder/tmp/ComfyUI/models/checkpointsβ–Ί
β—„metadata_modemerge_basicβ–Ί
CategoryCheckpoint/Experimental

Inputs (28)

NameTypeDefaultDescription
methodCOMBOlinearChoose merging method
densityFLOAT1.000.1–1Keep top % of weights after merging. WARNING: Values < 1.0 sparsify checkpoint weights, which may degrade quality. Only reduce if you understand the risk.
checkpoint_aoptCOMBO1 options: None
checkpoint_boptCOMBO1 options: None
checkpoint_coptCOMBO1 options: None
checkpoint_data_aoptCHECKPOINTβ€”
checkpoint_data_boptCHECKPOINTβ€”
checkpoint_data_coptCHECKPOINTβ€”
weight_aoptFLOAT1.00-5–5Global strength of first checkpoint. For linear method: weights should sum close to 1.0 (e.g., 0.5+0.5) to avoid doubling magnitudes β€” 1.0+1.0 produces noise.
weight_boptFLOAT1.00-5–5Global strength of second checkpoint. For linear method: weights should sum close to 1.0 (e.g., 0.5+0.5) to avoid doubling magnitudes β€” 1.0+1.0 produces noise.
weight_coptFLOAT1.00-5–5Global strength of third checkpoint. For linear method: weights should sum close to 1.0 (e.g., 0.5+0.5) to avoid doubling magnitudes β€” 1.0+1.0 produces noise.
weight_unetoptFLOAT1.000–2Component scaling for UNET weights
weight_clipoptFLOAT1.000–2Component scaling for CLIP visual encoder
weight_vaeoptFLOAT1.000–2Component scaling for VAE
weight_teoptFLOAT1.000–2Component scaling for Text Encoder
blend_modeoptCOMBOautoauto: Smart choice based on trainer metadata (match β†’ dense, mismatch β†’ active) | dense: Traditional weighted sum
balancing_modeoptCOMBOdisableddisabled: Use weights as given (no equalization) | safe: Subtle equalization for cross-architecture merges | creative: Looser equalization (experimental)
magnitude_scalingoptCOMBOnoneSignal magnitude scaling before merging – scales checkpoint B and C to match A's energy using RMS or top‑X% percentile.
uniquenessoptFLOAT0.700.1–1For feature_mix: higher = preserve more unique features
thresholdoptFLOAT0.000–1For subtract: minimum magnitude to subtract
blendoptFLOAT0.500–1For magnitude: 0=strict, 1=blended
deviceoptCOMBOauto3 options: auto, cuda, cpu
precisionoptCOMBOauto6 options: auto, float32, bfloat16, float16, fp8_e4m3fn, fp8_e5m2
batch_sizeoptINT641–256Number of keys to process per batch. DeviceManager.suggest_batch_size() can auto-tune based on VRAM.
save_triggeroptBOOLEANfalseβ€”
filenameoptSTRINGmerged_checkpointβ€”
save_folderoptSTRING/tmp/ComfyUI/models/checkpointsβ€”
metadata_modeoptCOMBOmerge_basicHow to handle metadata from source checkpoints

Outputs (6)

NameTypeDescription
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
checkpoint_dataCHECKPOINTβ€”
output_pathSTRINGβ€”
forensic_reportSTRINGβ€”