Nodes/MiniMax H3 INT8 Fast (ROCm)/Load CLIP INT8 (W8A8)
ComfyUI Node

Load CLIP INT8 (W8A8)

Your text encoder is eating your VRAM — Load CLIP INT8 shrinks it

By DrBearJew·Created 2 months ago·Updated 2 months ago· 2
Load CLIP INT8 (W8A8)
    • CLIP
    ◄clip_name▾►
    ◄type▾►
    ◄weight_dtype▾►
    ◄on_the_fly_quantizationfalse►
    ◄enable_convrottrue►

    By the time you're googling this node, the diffusion model probably fits on your card fine and the text encoder is what's knocking everything out of VRAM. That's the modern reality: for a big LLM-encoded model like Flux 2 or WAN, the encoder is a second model you load, and it's often the component that decides whether anything runs at all. CLIPLoaderINT8 is the fix - it loads an INT8 text encoder with the same fast 8-bit path the diffusion side of this pack uses, only on ComfyUI's native text-encoder pipeline.

    The name is the whole pitch: W8A8, meaning 8-bit weights and 8-bit activations. Instead of the stock Load CLIP node dragging in a bf16/fp16 encoder that hogs a third of your card, this one runs every linear layer through the pack's Int8TensorwiseOps - torch._int_mm under the hood with a Triton kernel on top, so it's not just smaller, it's meant to be faster too. Same story as the INT8-ConvRot diffusion models ComfyUI adopted natively in v0.27.0, but pointed at the encoder file.

    The inputs that matter

    Most of them you can leave alone:

    • clip_name - the encoder file. The dropdown pulls from both ComfyUI/models/text_encoders and the legacy clip folder, so an umt5_xxl_int8_convrot.safetensors you downloaded just shows up.
    • type - the same dropdown as the stock Load CLIP node (wan, flux, sd3, mochi, ltxv, hidream, chroma, and two dozen more). Set it to match the model family.
    • weight_dtype - INT8 compute dtype: default follows the encoder's own dtype; you rarely need to touch it.
    • on_the_fly_quantization - the one to understand. Off by default, and that's correct when your file is already INT8. Flip it on only when you have a plain bf16/fp16 encoder and want it quantized at load time. Per the tooltip: leave OFF for an already-INT8 file.
    • enable_convrot - ConvRot rotation for the on-the-fly path. Pre-quantized files carry their own per-layer flag and ignore this, so its default of ON only matters when you're quantizing on the fly.

    One output: a CLIP that wires straight into CLIPTextEncode (or the type-appropriate encode node) exactly like the stock loader's. No workflow changes beyond swapping the loader.

    Install

    Same pack install for every node here. 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
    

    Registry users can comfy node install minimax-h3-int8-fast-rocm. The pack declares zero pip dependencies - everything comes from your ComfyUI install, so keep ComfyUI reasonably current (0.32+) and make sure your PyTorch has Triton available. It's a fork of patientx's ROCm-first INT8-Fast line, and while the CLIP nodes aren't ROCm-exclusive, AMD is the validated home turf here.

    Where people get burned

    • A scaled-FP8 encoder throws an error. The node deliberately refuses to mix scaled-FP8 with the INT8 ops ("use the stock CLIP loader for this file"). Swap in an INT8 or plain bf16 encoder.
    • The dropdown is empty - the file is in the wrong folder. text_encoders or clip, not diffusion_models.
    • Typography degrades on on-the-fly quantization. Encoder precision is what you lose first when you cut it - SD3's paper showed typography dropping 38% with the T5 removed entirely, and aggressive quantization lands in the same neighborhood. ConvRot helps a lot here; quality is the reason this pack's own docs recommend on-the-fly ConvRot quantization over the older tensorwise prequantized files.
    • Don't quantize an encoder that fits. The standing advice applies: reach for quantization when the model genuinely doesn't fit. If your bf16 encoder already fits with headroom, keep it - you're trading quality for nothing.
    Categoryloaders

    Inputs (5)

    NameTypeDefaultDescription
    clip_nameCOMBO0 options:
    typeCOMBO28 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +22
    weight_dtypeCOMBOINT8 compute dtype. 'default' follows the encoder dtype.
    on_the_fly_quantizationBOOLEANfalseQuantize a bf16/fp16 encoder to INT8 at load. Leave OFF for an already-INT8 file.
    enable_convrotBOOLEANtrueConvRot rotation for on-the-fly quant. Pre-quantized files carry their own convrot flag per-layer and ignore this.

    Outputs (1)

    NameTypeDescription
    CLIPCLIP—