# Qwen3 VL 32B Ultra Heretic MiniMax H3 ComfyUI INT8 ConvRot

URL: https://interfaze.ai/models/ethanfelqwen3-vl-32b-ultra-heretic-minimax-h3-comfyui-int8-convrot

[All models](https://interfaze.ai/models)

Qwen3 VL 32B Ultra Heretic MiniMax H3 ComfyUI INT8 ConvRot by ethanfel, a image-text-to-text model with multimodal capabilities. Understand and compare multimodal features, benchmarks, and capabilities.

## Comparison

| Feature | Qwen3 VL 32B Ultra Heretic MiniMax H3 ComfyUI INT8 ConvRot | Interfaze |
| --- | --- | --- |
| Input Modalities | text, image, video | image, text, audio, video, document |
| Native OCR | No | Yes |
| Long Document Processing | No | Yes |
| Language Support | 32 partial | 162+ |
| Native Speech-to-Text | No | Yes |
| Native Object Detection | No | Yes |
| Guardrail Controls | No | Yes |
| Context Input Size | 256K | 1M |
| Tool Calling | Yes | Tool calling supported + built in browser, code execution and web search |

### Scaling

| Feature | Qwen3 VL 32B Ultra Heretic MiniMax H3 ComfyUI INT8 ConvRot | Interfaze |
| --- | --- | --- |
| Scaling | Self-hosted/Provider-hosted with quantization | Unlimited |

[Try Interfaze](https://interfaze.ai/dashboard)[Read the Docs](https://interfaze.ai/docs)

View model card on [Hugging Face](https://huggingface.co/ethanfel/Qwen3-VL-32B-Ultra-Heretic-MiniMax-H3-ComfyUI-INT8-ConvRot)

This repository contains two ComfyUI safetensors files built from [`llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic`](https://huggingface.co/llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic).

-   a normal MiniMax-H3 text/vision conditioning encoder containing language layers 0–49; and
-   an optional generation-only tail containing layers 50–63, the final norm, and LM head for prompt enhancement.

MiniMax-H3 consumes the unnormalized hidden state after language layer 49. This checkpoint therefore includes the Qwen3-VL embedding, language layers 0–49, and the complete vision tower. It intentionally omits language layers 50–63, the final language norm, and the LM head.

## MiniMax-H3 conditioning encoder

`qwen3vl_32b_minimax_h3_ultra_uncensored_heretic_int8_convrot.safetensors`

-   Size: 26,363,476,151 bytes (24.55 GiB)
-   SHA-256: `d84547412144b7c50a6ec77437a889b869d3ace88da77ef1775d3d2a4901c192`
-   1,604 tensors
-   350 learned row-wise INT8 ConvRot language matrices
-   ConvRot group size 256 for every learned language matrix
-   One simple tensorwise INT8 token embedding
-   551 tensors retained in BF16, including the complete vision tower and all norms
-   351 FP32 weight scales and 351 ComfyUI quantization descriptors

The full upstream BF16 source remains available in the [source repository](https://huggingface.co/llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic). It is not duplicated here. A BF16 MiniMax-H3 package is over 51 GB and is not practical for a 32 GB RTX 5090; this INT8 build is the recommended version.

## Optional prompt-enhancement tail

`qwen3vl_32b_minimax_h3_generation_tail_50_63_int8_convrot.safetensors`

-   Size: 7,609,128,707 bytes (7.09 GiB)
-   SHA-256: `b5bb9bb8dc87cf11cbee241a2d95d6d42fe52cf695ed26c093ac321f31160b20`
-   354 tensors
-   Language layers 50–63, final language norm, and LM head
-   98 learned row-wise INT8 ConvRot matrices
-   One simple row-wise INT8 ConvRot LM head, evaluated in chunks by the node
-   ConvRot group size 256
-   57 tensors retained exactly in BF16

The tail is not a standalone CLIP and does not duplicate the token embedding or vision tower. It is loaded temporarily by the [`ComfyUI-MiniMax-H3-Guide`](https://github.com/ethanfel/ComfyUI-MiniMax-H3-Guide) node and reuses the 0–49 layers in the connected standard MiniMax-H3 CLIP. After generation, it is unloaded and the original conditioning CLIP remains unchanged.

## ComfyUI installation

Place both safetensors files under:

```
ComfyUI/models/text_encoders/MiniMax-H3/
```

Select it in `CLIPLoader` with type `minimax` (MiniMax-H3). Use a current ComfyUI checkout with its pinned `comfy-kitchen` dependency.

For prompt enhancement:

1.  Load the 0–49 conditioning checkpoint with ComfyUI's standard `CLIPLoader`, type `minimax`.
2.  Connect that CLIP to **MiniMax H3 Prompt Enhancer (optional CLIP tail)**.
3.  Select the 50–63 tail in the node's `clip_tail` dropdown.
4.  Send `enhanced_prompt` and the returned, unchanged `clip` to the normal MiniMax-H3 guide node.

If the connected CLIP is already a complete generative model, leave `clip_tail` at `[none — connected CLIP is already complete]`. The enhancer then calls the connected CLIP's ordinary `generate()` path, without loading or requiring this tail.

These are ComfyUI checkpoints, not a complete Transformers generation repository.

## Runtime verification

The conditioning checkpoint and enhancer passed actual runtime tests:

-   ComfyUI commit: `14b05228cef127ce529bc0c08660770d4af3e9a8`
-   `comfy-kitchen==0.2.26`
-   `comfy-aimdo==0.4.11`
-   PyTorch `2.8.0+cu128`
-   NVIDIA GeForce RTX 5090, 32 GB VRAM
-   Detected model class: `MiniMaxH3TEModel_`
-   Finite conditioning output: `(1, 12, 5120)`
-   Correct `minimax_token_tags`: `(12,)`
-   VRAM after encode: about 24.7 GiB allocated / 26.1 GiB reserved
-   Standard `CLIPLoader` loaded the conditioning model with exactly 50 language layers and no final norm or LM head.
-   The optional tail path generated a token through all 64 layers, returned the exact same CLIP object, then left it at exactly 50 layers with no norm/head.
-   The returned CLIP successfully encoded MiniMax conditioning after the tail was unloaded: finite `(1, 4, 5120)` output with token tags.
-   The no-tail path was tested with a complete Qwen3-VL-4B ComfyUI CLIP and generated successfully without loading the MiniMax tail.

The local CUDA 12.8 PyTorch build used fallback operations because this `comfy-kitchen` release recommends CUDA 13.0+ for its optimized kernels. The encode nevertheless completed successfully. A current ComfyUI environment with its recommended PyTorch build is preferred.

## Provenance

Pinned upstream source:

```
repository: llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic
revision:   c44b949b30d111666a5ed9851c5cd633ed39b070
```

Both upstream BF16 shards were downloaded at that revision and verified against their Hugging Face LFS SHA-256 values before packaging.

The source model card reports Heretic v1.2.0 ARA edits targeting `attn.o_proj` in language layers 31–40. All of those edited layers are inside MiniMax-H3's retained 0–49 range, so the uncensoring edits are present in this checkpoint. The source reports 4/100 refusals versus 99/100 for the original, KL divergence 0.0421, PIQA 92.87%, and MMLU 79.87%.

Abliteration reduces refusal behavior but does not guarantee that every refusal or safety behavior is removed, and it may affect model quality.

## Conversion

The MiniMax-H3 BF16 package was converted with [`silveroxides/convert_to_quant`](https://github.com/silveroxides/convert_to_quant) 1.3.1. The successful build used AdamW AdaRound optimization with plateau early stopping, not simple rounding:

```
env PYTHONPATH=.deps python .deps/bin/ctq \
  -i qwen3vl_32b_minimax_h3_ultra_uncensored_heretic_bf16.safetensors \
  -o qwen3vl_32b_minimax_h3_ultra_uncensored_heretic_int8_convrot.safetensors \
  --int8 \
  --scaling_mode row \
  --convrot \
  --convrot-group-size 256 \
  --comfy_quant \
  --save-quant-metadata \
  --custom-layers '^model\.embed_tokens\.weight$' \
  --custom-type int8 \
  --custom-scaling-mode tensor \
  --custom-simple \
  --exclude-layers '^visual\.' \
  --low-memory \
  --device cuda \
  --manual-seed 42 \
  --num-iter 4000 \
  --optimizer adamw \
  --verbose NORMAL
```

The language block matrices use learned ConvRot. Only the token embedding uses simple tensorwise INT8 because ComfyUI embedding lookup requires that layout. The vision tower is retained exactly in BF16.

The generation tail was packaged from the same pinned source and converted separately:

```
env PYTHONPATH=.deps .deps/bin/ctq \
  -i qwen3vl_32b_minimax_h3_generation_tail_50_63_bf16.safetensors \
  -o qwen3vl_32b_minimax_h3_generation_tail_50_63_int8_convrot.safetensors \
  --int8 \
  --scaling_mode row \
  --convrot \
  --convrot-group-size 256 \
  --comfy_quant \
  --save-quant-metadata \
  --low-memory \
  --device cuda \
  --manual-seed 42 \
  --num-iter 4000 \
  --optimizer adamw \
  --verbose NORMAL \
  --layer-config tools/qwen3vl32b_generation_tail_quant.json \
  --fullmatch
```

The 98 transformer matrices use learned AdamW ConvRot. The LM head uses simple row-wise ConvRot so the enhancer can compute its 151,936 output rows in small chunks and avoid a multi-gigabyte temporary dequantization peak.

## Validation

The completed file passed structural validation of every tensor, dtype, shape, scale, per-layer descriptor, and global quantization metadata entry. All 551 protected BF16 tensors were compared byte-for-byte against the packaged BF16 source and were unchanged.

The tail also passed exact structural validation: the retained 57 BF16 tensors (304,128 bytes) are byte-identical to the source; its 99 INT8 weights, scales, descriptors, and global quantization metadata all match the declared layout. Combining the base source topology (902 tensors) with the tail source topology (156 tensors) reconstructs all 1,058 tensors of the full model with no key collision.

## Credits

-   Uncensored source and evaluations: [`llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic`](https://huggingface.co/llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic)
-   Original model: [`Qwen/Qwen3-VL-32B-Instruct`](https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct)
-   Quantization tooling: [`silveroxides/convert_to_quant`](https://github.com/silveroxides/convert_to_quant)

## Want more deterministic results?

[Try Interfaze](https://interfaze.ai/dashboard)[Read the Docs](https://interfaze.ai/docs)
