CIVITAI IS RENAMING EVERY DOWNLOADED FILE THE SAME THING. MAKE SURE YOU SAVE-AS AND NAME THE FILE SO YOU KNOW WHAT IT IS.
Fuente del modelo
Descripción de la fuente
CIVITAI IS RENAMING EVERY DOWNLOADED FILE THE SAME THING. MAKE SURE YOU SAVE-AS AND NAME THE FILE SO YOU KNOW WHAT IT IS.
Everything here is free and stays free — the format spec, the nodes, the workflows, the cartridges, the LoRAs. If it saved you a night of debugging (it contains several hundred of mine), tips keep the 5090 warm:
☕ Buy me a coffee on Ko-fi
💛 Sponsor on GitHub
🔁 Liberapay (recurring)
⚡ Or right here: the Civitai tip button on this page sends Buzz directly
The text encoder half of MiniMax-H3, quantized. H3 runs on two separate models: the 33B video+audio DiT, and this — a Qwen3-VL-32B vision-language encoder . The DiT on its own will not generate anything. If you downloaded the H3 GGUF weights and had nowhere to point the CLIP loader, this is the missing file.
Fuentes
1 fuenteArtefactos del modelo
3 artefactosExtractos de fuentes
1 extractoSource context: 921 downloads · Type TextEncoder · Base model MiniMax H3
Load this with H3ClipLoaderAny , not “CLIPLoader (GGUF)”. ComfyUI-GGUF's own CLIP loader has no minimax type, and it silently falls back to another architecture instead of erroring — so you get a confusing crash deep inside a tokenizer ( TypeError: the JSON object must be str, bytes or bytearray, not NoneType in flux.py ) rather than “unknown type”. And even with the right type it still would not work: this file is Qwen3-VL-32B cut to 50 layers with no final norm and no lm_head, and its vision tower uses different tensor names than llama.cpp writes. H3ClipLoaderAny (category loaders/minimax , from ComfyUI-H3-Multishot ) does that surgery on load. Set type = minimax .
The files
Q4_K_M — 19.8 GB · about 16.5 GB resident. Recommended.
Q5_K_M — 23.2 GB · higher precision, more VRAM.
mmproj F16 — 1.2 GB · the multimodal projector. Download this one too. See below.
Yes, these are real K-quants — unlike the H3 DiT, which cannot have them. K-quants need weight rows divisible by 256, and the DiT's hidden width is 2688, which is not. This encoder is a stock Qwen3-VL and its rows are, so the whole K-ladder is available here.
The mmproj is not optional — and it pairs by filename
The mmproj is the encoder's vision path . Everything that conditions on an image goes through it: image-to-video, reference-to-video, and multi-shot chaining — chaining works by feeding the previous shot's last frame back through the encoder as an image, so it needs the projector even when you never attached a reference picture yourself.
ComfyUI-GGUF locates it by matching the encoder's filename . Rename either file, or keep them in different folders, and pairing silently fails. Text-only prompts keep working, which is exactly what makes this hard to diagnose — it presents as the model ignoring your reference image rather than as a missing file.
Keep both names exactly as downloaded, in the same folder. The attached setup pack includes check_encoder_setup.py , which tells you in one line whether the pairing resolves.
Install
ComfyUI/models/text_encoders/ MiniMax-H3-encoder-Q4_K_M.gguf MiniMax-H3-encoder-mmproj-F16.gguf
Load with CLIPLoaderGGUF from ComfyUI-GGUF , or with H3ClipLoaderAny from ComfyUI-H3-Multishot , which takes .safetensors or .gguf in one dropdown. Set the CLIP type to minimax .
No architecture patch is needed for the encoder. The H3 DiT needs minimax_h3 added to ComfyUI-GGUF's image-architecture list; this file is Qwen3-VL, and qwen3vl is already in its text list. Nothing to run.
VRAM — read this before reporting a slow render
The encoder (~16.5 GB) and the H3 DiT (~25 GB) do not co-fit on a 32 GB card . If both are held at once, the DiT loads partially and streams the remainder from system RAM on every sampling step. Measured on an RTX 5090 — 960×544, 124 frames, 20 steps, ref2va-Q5_1 , one reference image: 12.3 minutes with the encoder evicted. The un-evicted run of the same render was killed past 90 minutes without finishing, so there is no honest completion time for it.
This is a cliff, not a curve : either the DiT is resident and you get normal speed, or it is not and you stream ~19 GB every step. How bad it gets depends on how far over your card you are, not on resolution or frame count directly — so do not read a single speed-up ratio as a general figure.
The tell in your log is:
loaded partially; 6423 MB usable, 5847 MB loaded, 19363 MB offloaded
The fix is to evict the encoder after conditioning and before sampling. The samplers in ComfyUI-H3-Multishot do it automatically and print [H3Multishot] TE evicted; NN.N GB free for the DiT .
What else you need to run H3
MiniMax-H3 GGUF — the DiT ( fl2va or ref2va ), on Hugging Face and in my Civitai listings.
Comfy-Org/MiniMax-H3 — the video and audio VAEs.
ComfyUI-H3-Multishot — multi-shot, I2V, and the encoder eviction above.
Everything else I've published
This encoder on Hugging Face
H3 DiT weights on Hugging Face
The multishot workflow
All models on Hugging Face
Support
Everything I publish is free and stays free. If it saved you a night of debugging, tips keep the 5090 warm: Ko-fi · GitHub Sponsors · Liberapay .
minimaxH3TextEncoderGGUF_v10_3079949.gguf
gguf · 21,6 GB · SHA-256 6bffa2b629f4…185e · Civitai