Save Int8 CLIP
Save Int8 CLIP — quantize your encoder once, stop paying for it on every load
- clip
The quiet workhorse of this pack. CLIPLoaderINT8 can quantize a bf16/fp16 text encoder to INT8 on the fly, but on-the-fly means every single load. Save Int8 CLIP is the node that makes that work permanent: you quantize once, save the result as a real INT8 file, and from then on you load it with on_the_fly_quantization switched off and get the same speed and memory savings without the recurring conversion cost.
That's the whole workflow it enables, and it's worth doing as a one-time pass: load your encoder through CLIPLoaderINT8 (or DualCLIPLoaderINT8) with on-the-fly quantization on and ConvRot on, pipe the resulting CLIP into this node, and it writes out a proper INT8 safetensors file - laid out exactly the way the community's pre-quantized encoder files already are (per-encoder split and prefix-strip, mirroring the stock CLIP save path), so your own CLIPLoaderINT8 will happily read it back.
The inputs
There are only two, and you only really touch one:
- clip - the
CLIPyou loaded/quantized via the pack's loader. Nothing else works here; this node is written against the INT8 patcher those loaders produce. - filename_prefix - where the file lands, defaulting to
int8_clip/INT8_CLIP. It saves into ComfyUI's output directory (the counter gets appended automatically, soint8_clip/INT8_CLIP→output/int8_clip/INT8_CLIP_00001_.safetensors).
It's an output node - no outputs to wire, you just run the graph and go fishing in the output folder. One nicety worth knowing: it bakes in any non-dynamic INT8 LoRA patches before saving, so if your encoder has a LoRA riding on it, that gets materialized into the saved file too.
Install
Same pack for all of it. ComfyUI Manager → search ComfyUI-INT8-Fast-ROCM-ConvRot → install → restart, or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/DrBearJew/ComfyUI-INT8-Fast-ROCM-ConvRot
Zero declared pip deps - it rides entirely on your ComfyUI install. Keep ComfyUI reasonably current and you're fine.
The pattern, end to end
- Load the bf16 encoder with
on_the_fly_quantizationON (ConvRot ON) inCLIPLoaderINT8/DualCLIPLoaderINT8. - Connect its
CLIPhere, run once, note the filename. - Move the saved file into
ComfyUI/models/text_encoders. - Reload with
on_the_fly_quantizationOFF and your now-permanent INT8 encoder.
Where people get burned
- The saved file lands in the output dir, not your models folder. That's by design - you're meant to move it into
text_encodersafterward. Forgetting that step is the classic "where did my quantized file go?" moment. - Don't bother if you already have prequantized files. If you downloaded an INT8 encoder, this node has nothing to add - the point is freezing your on-the-fly result so you stop recomputing it.
- It's a one-way street in the good sense. The quality you get is whatever the on-the-fly path produced, so if typography looks soft after the save, re-run with different settings (or keep the encoder in bf16). Saving a bad quant just makes the bad quant reproducible.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| filename_prefix | STRING | int8_clip/INT8_CLIP | — |
Outputs (0)
No outputs