Nodes/comfyui-svdint4/Load ConvRot CLIP
ComfyUI Node

Load ConvRot CLIP

The text encoder that actually fits on a Turing card

By wjie98·Created 2 months ago·Updated about 10 hours ago· 2
Load ConvRot CLIP
    • clip
    clip_name
    type
    force_int8_gemmfalse
    device

    The text encoder is the part of a modern generation workflow that quietly eats your VRAM and nobody talks about. On a Turing card - RTX 20-series, sm75 - it's often the difference between a model fitting and the whole graph dying an OOM death. Load ConvRot CLIP is the sibling of this pack's ConvRot DiT loader: it loads a ConvRot-quantized text encoder on its own, without dragging in the diffusion model, so you can size the two halves separately.

    That's the part people miss. In the KB's terms, by 2026 the text encoder is "a second model you load, size and quantize on its own" - and on low-VRAM setups it's frequently the bottleneck rather than the model. This node is the answer to that for ConvRot checkpoints.

    How it works

    Same family as the ConvRot DiT loader: it reads the safetensors header for ConvRot quantization metadata and dispatches each layer to the right W8A8 / W4A8 / W4A4 path. The difference is that it only touches the encoder, and it reuses ComfyUI's official CLIP loader inputs for the type dropdown - so it slots into workflows the same way the stock Load CLIP node does, just with quantized weights.

    The inputs that matter

    • clip_name - the ConvRot CLIP file. Like its DiT sibling, files without supported ConvRot quantization metadata are hidden from the list, so an empty dropdown means "that's not a ConvRot encoder."
    • type - the encoder family, and there are a lot of them: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, pixart, cosmos, lumina2, wan, hidream, chroma, and roughly sixteen more. Pick the one that matches the base model, exactly like the stock CLIP loader.
    • force_int8_gemm - default false follows each layer's activation format; true forces INT8 GEMM activations everywhere. Same knob as the DiT loader, same "try it if a checkpoint misbehaves" energy.
    • device (optional) - default or cpu. Offloading the encoder to CPU is a legit VRAM-saver on tight cards, so this is less exotic than it looks.

    Output: a single CLIP socket, wired into your CLIP Text Encode exactly like the stock loader's output.

    How to install

    cd ComfyUI/custom_nodes
    git clone https://github.com/wjie98/comfyui-svdint4
    cd comfyui-svdint4
    python -m pip install -v --no-build-isolation -e ./kernel
    

    Same pack, same gotcha: the CUDA kernel package doesn't install itself, that pip line compiles it, and you need a CUDA-capable torch and ninja. The W4A8 paths also want comfy-kitchen installed. Restart ComfyUI after the build.

    Where people get burned

    The usual two. First, the "why is my file list empty" panic - it's the metadata filter, not your filesystem. Second, choosing the wrong type: a Wan workflow wants wan, not the closest-sounding thing, and a mismatched encoder family produces prompt garbage that looks like a prompt problem when it's really a type dropdown problem. And if you're on a card that's tight on VRAM, don't sleep on the cpu device option - for a text encoder it's often free.

    CategoryTuring Utils/loaders

    Inputs (4)

    NameTypeDefaultDescription
    clip_nameCOMBO0 options:
    typeCOMBO28 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +22
    force_int8_gemmBOOLEANfalseFalse follows each layer's activation format. True forces INT8 GEMM activations.
    deviceoptCOMBO2 options: default, cpu

    Outputs (1)

    NameTypeDescription
    clipCLIP