Nodes/EasyLoRAMerger/🔬 Easy LoRA Extractor
ComfyUI Node

🔬 Easy LoRA Extractor

A ComfyUI node in EasyLoRAMerger/extraction with 20 inputs and 4 outputs.

By Terpentinas·Created 6 months ago·Updated 3 months ago· 11
🔬 Easy LoRA Extractor
  • model
  • clip
  • model
  • clip
  • forensics
  • lora_path
checkpoint_base
checkpoint_tuned
rank_modeauto
rank64
alpha_modeauto
alpha64
svd_modeauto_energy
energy_threshold0.95
noise_thresholdingtrue
strength_multiplierauto
detection_modeauto_fast
save_triggerfalse
filenameextracted_lora
lora_formatnative
deviceauto
strength_model1.00
strength_clip1.00
save_folder/tmp/ComfyUI/models/checkpoints
CategoryEasyLoRAMerger/extraction

Inputs (20)

NameTypeDefaultDescription
checkpoint_baseCOMBOReference (unedited) checkpoint — the 'before' state.
checkpoint_tunedCOMBOFine-tuned checkpoint — the 'after' state whose concept to extract.
rank_modeCOMBOautoauto: automatically determine optimal rank from SVD spectrum analysis. manual: use the specified rank value below.
rankINT641–320Target rank (when rank_mode='manual') or upper bound (when rank_mode='auto').
alpha_modeCOMBOautoauto: alpha = effective_rank × component_scale (e.g., TE=0.5×). manual: use the specified alpha value below.
alphaFLOAT641–512Alpha value (only used when alpha_mode='manual').
svd_modeCOMBOauto_energyauto_energy: automatic rank selection via energy threshold. manual: use specified rank. full: keep all singular values (no compression).
energy_thresholdFLOAT0.950.5–1Only used in 'auto_energy' mode. Energy retention threshold (0.50–1.0). Higher = more precision (higher effective rank). Lower = more compression.
noise_thresholdingBOOLEANtrueEnable Marchenko-Pastur noise-aware SVD thresholding. Disable for cross-model deltas (e.g., Turbo vs. Base) where the noise model may incorrectly reject signal.
strength_multiplierCOMBOautoauto: automatically detect baking attenuation and compensate. 1.5/2.0/3.0: manual multiplier applied before SVD.
detection_modeCOMBOauto_fastauto_fast: sample 30 layers for quick attenuation estimate (default). auto_precise: analyze ALL layers for exact estimate.
save_triggerBOOLEANfalse
filenameSTRINGextracted_loraFilename for the output LoRA (.safetensors added automatically).
lora_formatCOMBOnativenative: standard CivitAI-compatible format (diffusion_model.* keys, merged QKV). diffusers: HuggingFace Diffusers format (transformer.* keys, QKV split).
deviceCOMBOautoauto: pick best available (CUDA if enough VRAM). cuda: force GPU. cpu: force CPU.
modeloptMODELOptional: connect a model to preview the extracted LoRA applied to it.
clipoptCLIPOptional: connect a CLIP to preview the extracted LoRA applied to it.
strength_modeloptFLOAT1.000–10Strength of the extracted LoRA when applied to the model (0.0–10.0). Ignored if model/clip not connected.
strength_clipoptFLOAT1.000–10Strength of the extracted LoRA when applied to the CLIP (0.0–10.0). Ignored if model/clip not connected.
save_folderoptSTRING/tmp/ComfyUI/models/checkpointsOutput folder. Leave blank to use ComfyUI's default loras folder.

Outputs (4)

NameTypeDescription
modelMODEL
clipCLIP
forensicsSTRING
lora_pathSTRING