🛡️ Easy Checkpoint Studio
Shrink to FP8, Strip the VAE, or Ship a GGUF
- checkpoint_data
- checkpoint
- model
- clip
- vae
- output_path
- forensic_report
A 12GB checkpoint won't fit your card, or you want a version without the VAE, or you want a GGUF quant of a model you only have as safetensors. Easy Checkpoint Studio is the pack's "precision surgery" node for full checkpoints: it re-casts precision, strips components, runs SVD compression, remaps structure, and even exports GGUF - all in one node.
Think of it as the heavy-duty sibling of the Component Extractor. Where the extractor pulls pieces out for reuse, the Studio is about transforming a whole checkpoint into a new one that better fits your hardware or your use case.
How it works
Pick a checkpoint (or feed checkpoint_data), and the node loads it, applies your transforms, and returns a complete MODEL + CLIP + VAE. The transforms:
- Precision.
precisionruns the full ladder:auto,float32,bfloat16,float16,fp8_e4m3fn,fp8_e5m2, plusint8andint8_convrot. The int8 options save roughly half again over fp8 but need the ComfyUI-Flux2-INT8 custom node to load;int8_convrotuses a Hadamard rotation to get better quality at the same size.svd_onlycompresses via SVD without touching dtype. - Component stripping.
strip_vae,strip_te(text encoder / T5 / CLIP),strip_clip(CLIP vision) - flip one and that component is gone from the output. That's how you make a lean checkpoint that assumes a shared VAE or TE at load time. - SVD compression.
svd_mode(none/selective/full) compresses weight matrices, withsvd_energy_threshold(default 0.95) controlling how much energy you keep. - GGUF export.
output_formatswitches fromsafetensorstogguf_q8_0/gguf_q5_0/gguf_q4_0block-wise quantization. Those load with city96's ComfyUI-GGUF nodes, and they're the standard path for getting a big Flux-class model to fit a 12GB card.
The GGUF options require the gguf Python package. The README calls it optional, but it's actually in the pack's requirements.txt, so installing via Manager pulls it in automatically. If it's somehow missing, the node loads fine and simply hides the GGUF options - no crash.
Inputs that matter
precision- for everyday shrinking,fp8_e4m3fnis the sane default: half the VRAM of fp16, quality cost close to invisible. Go lower only when you must.strip_vae/strip_te/strip_clip- the surgical removal toggles.output_format- leave onsafetensorsunless you specifically want a GGUF quant.keep_metadata- on by default; turn off to drop the source's metadata from the output.save_trigger- preview vs. write. Saved files get_convertedappended.
Outputs: checkpoint, model, clip, vae, output_path, and a forensic_report string (feed it into Easy Text Display).
Installing it
Manager (search "Easy LoRA Merger") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Terpentinas/EasyLoRAMerger
Restart ComfyUI. The gguf dependency installs with the pack; you additionally need ComfyUI-GGUF to load any GGUF you export, and ComfyUI-Flux2-INT8 if you use the int8 precisions.
Gotchas
Read the precision tooltips before you go exotic. The int8 options are the one place this pack's output won't just load in stock ComfyUI - they need their companion node, and people have been burned assuming otherwise. GGUF, by contrast, is the well-trodden path: Q8 is basically fp16 at half the size, Q5 is the last stop before visible loss, and Q4 is for 12GB cards. And a tip from how the ecosystem works: keep your original safetensors around when you export GGUF - quantizing is lossy, and re-quantizing from an already-quantized file is how quality quietly dies.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint | COMBO | 1 options: None | |
| strip_vae | BOOLEAN | false | Remove VAE weights from the checkpoint |
| strip_te | BOOLEAN | false | Remove Text Encoder weights (CLIP/T5) |
| strip_clip | BOOLEAN | false | Remove CLIP visual encoder (if present) |
| precision | COMBO | auto | Precision: int8 / int8_convrot save ~50% smaller files but require ComfyUI-Flux2-INT8 custom node to load. ConvRot uses Hadamard rotation for better quality at the same file size. |
| output_format | COMBO | safetensors | Output file format: safetensors (standard) or GGUF with block-wise quantization (load with ComfyUI-GGUF nodes). |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| save_trigger | BOOLEAN | false | — |
| filename | STRING | converted_checkpoint | — |
| checkpoint_dataopt | CHECKPOINT | — | |
| keep_metadataopt | BOOLEAN | true | Preserve original metadata |
| svd_modeopt | COMBO | none | SVD compression mode: none, selective (large weight matrices only), full (all weight matrices) |
| svd_energy_thresholdopt | FLOAT | 0.950.5–1 | Energy threshold for automatic rank selection (0.95 = keep 95% of energy) |
| save_folderopt | STRING | /tmp/ComfyUI/models/checkpoints | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| checkpoint | CHECKPOINT | — |
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| output_path | STRING | — |
| forensic_report | STRING | — |