ComfyUI Node

Save Int8 CLIP

Save Int8 CLIP — quantize your encoder once, stop paying for it on every load

By DrBearJew·Created about a month ago·Updated about a month ago· 1
Save Int8 CLIP
  • clip
    filename_prefixint8_clip/INT8_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 CLIP you 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, so int8_clip/INT8_CLIPoutput/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

    1. Load the bf16 encoder with on_the_fly_quantization ON (ConvRot ON) in CLIPLoaderINT8 / DualCLIPLoaderINT8.
    2. Connect its CLIP here, run once, note the filename.
    3. Move the saved file into ComfyUI/models/text_encoders.
    4. Reload with on_the_fly_quantization OFF 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_encoders afterward. 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.
    Categoryloaders

    Inputs (2)

    NameTypeDefaultDescription
    clipCLIP
    filename_prefixSTRINGint8_clip/INT8_CLIP

    Outputs (0)

    No outputs