Nodes/SDXL Auto Prompter/Load MiniMax H3 Compressed-Tensors AWQ Encoder
ComfyUI Node

Load MiniMax H3 Compressed-Tensors AWQ Encoder

The AWQ loader that gets H3's 32B text encoder to actually fit

By dagthomas·Created 3 years ago·Updated 2 days ago· 289
Load MiniMax H3 Compressed-Tensors AWQ Encoder
    • CLIP
    encoder_name
    devicedefault

    Load MiniMax H3 Compressed-Tensors AWQ Encoder is the node you reach for when you realize the text encoder is the thing keeping you off H3. The model's encoder is a Qwen3-VL-32B - in bf16 that's roughly 64GB of weights before the 33B diffusion model even gets a look in. The AWQ route cuts the encoder's weights to about a quarter of that. This node is the adapter that makes ComfyUI actually load it.

    The catch is that ComfyUI's core CLIPLoader lists the quantized file but can't load it: the compressed-tensors format has its own packing, metadata and Hugging Face namespace that core doesn't recognize. This node is a standalone adapter for exactly that gap. It's not a fork of core, not a patch - it's a deliberately custom loader that converts the compressed-tensors packing in memory (no second multi-gigabyte checkpoint written to disk) and uses the source checkpoint's own image/video processor configs, which are embedded in the file. ComfyUI supplies the native H3 architecture and tokenizer, including the seven H3 tokens; comfy-kitchen supplies the W4A16 CUDA execution.

    One honest credit: this node is vendored wholesale from Fred Bliss (fbjr) - huggingface.co/fbjr/qwen3-vl-32b-W4A16-AWQ-H3 - and marked as a generated file you shouldn't hand-edit. The pack carries it with attribution so you don't have to go hunting for it.

    The inputs, all two of them

    • encoder_name - the only required input. It's a dropdown that lists every .safetensors currently sitting in models/text_encoders/, so drop qwen3vl_32b_minimax_h3_w4a16_awq.safetensors (from fbjr's repo) in there first. The dropdown never manufactures entries - if your file isn't listed, it isn't in the folder.
    • device (optional) - default or cpu. Leave it on default unless you're forcing offload.

    Output: a single CLIP that wires into your H3 conditioning exactly like the stock encoder - the pack's h3_music_video_masked_audio_awq.json example shows the full masked-audio workflow running off this node.

    Installing it

    Two layers. First the pack itself - ComfyUI Manager → search "comfyui_dagthomas", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/dagthomas/comfyui_dagthomas
    cd comfyui_dagthomas
    pip install -r requirements.txt
    

    Then the real requirement: comfy-kitchen has to be installed for the W4A16 CUDA operator this loader leans on (TensorCoreAWQW4A16Layout). It's a separate custom node pack - install it the same way and restart. This loader uses comfy_api.latest, so keep ComfyUI itself current; the pack guards the import so the rest of the pack survives if the loader can't load.

    What you're getting into

    W4A16 means 4-bit weights, 16-bit activations - the memory win is real, but you still need a decent GPU: this is an H3 workflow, so the 33B diffusion model and the video VAE are all in the same graph. The quantization metadata is validated on load (it refuses anything that isn't the exact W4A16 contract), so a mismatched file fails loudly instead of silently producing garbage.

    Also worth saying once: the H3 open weights ship under a community license that excludes the US, EU, UK and Korea - check you're actually licensed before downloading the model, encoder included. The AWQ file won't change that.

    If you're on a card where the fp16 encoder doesn't fit, this is the difference between running H3 and watching other people run H3.

    CategoryMiniMaxH3/loaders

    Inputs (2)

    NameTypeDefaultDescription
    encoder_nameCOMBO0 options:
    deviceoptCOMBOdefault2 options: default, cpu

    Outputs (1)

    NameTypeDescription
    CLIPCLIP