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 about a month ago·Updated about a month ago· 1
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