Qwen text encoders for ComfyUI (BF16 + INT8 ConvRot)

This repository collects ComfyUI single-file Qwen3.5-9B and Qwen3-VL-8B text encoders, each in BF16 and INT8 ConvRot, under one naming scheme: <original model name>_<bf16|int8_convrot>.safetensors.

Two files are conversions made here: Qwen3.5-9B_int8_convrot and Qwen3.5-9B-abliterated_int8_convrot. The other six are byte-identical re-uploads of files published by their original authors, renamed only. Every source is licensed under Apache-2.0, and all credit belongs to the original authors listed below.

File Original model Made by Size (bytes) sha256
Qwen3.5-9B_bf16.safetensors Qwen3.5-9B Comfy-Org (re-upload) 19,306,312,328 7e6e9f08d598f829cb940e60ac0c698e1f1c27a47daffd7e598cd78c78b4cc53
Qwen3.5-9B_int8_convrot.safetensors Qwen3.5-9B converted here 9,957,667,548 82223af1de7410466cd0383f25b42251ab58723371b8bffdc781bd10d59777f5
Qwen3.5-9B-abliterated_bf16.safetensors Qwen3.5-9B-abliterated wangzhang (re-upload) 18,819,722,392 4da7dc6a3ab54ee5d54b840b370bfca643be1a485e4c10d92c39d0a914e39c82
Qwen3.5-9B-abliterated_int8_convrot.safetensors Qwen3.5-9B-abliterated converted here 9,471,076,556 e7ba909fd9d9e2557eb566e00ffb34226706f3e7425dc3f187246382edc282f6
Qwen3-VL-8B-Instruct_bf16.safetensors Qwen3-VL-8B-Instruct Comfy-Org (re-upload) 17,534,334,616 68bdc82bc1b66851162ae656225e7e2068166b603db19bd5d5a3b90eb12669a9
Qwen3-VL-8B-Instruct_int8_convrot.safetensors Qwen3-VL-8B-Instruct Comfy-Org (re-upload) 9,350,798,360 8bfd0f6e12abf2d2d697ecc888e5e90b0d6741d6708f05799f53afa560452e8f
Qwen3-VL-8B-Instruct-abliterated_bf16.safetensors Qwen3-VL-8B-Instruct, abliterated (Heretic 1.3.0) DreamFast (re-upload) 17,534,334,584 1fb1c78533a944ceb7a48c55b16b7a7290ed671ee666f8bd42e01c2da5ffbff5
Qwen3-VL-8B-Instruct-abliterated_int8_convrot.safetensors Qwen3-VL-8B-Instruct, abliterated (Heretic 1.3.0) craftingmod (re-upload) 10,979,853,342 b37cc29a3bb8e8c4dc09b19909919abd8016195af6ddaad99b0eae8e252b34f6

Every re-uploaded file has the same sha256 as the LFS object in its source repository.

Usage in ComfyUI

  1. Put the file in ComfyUI/models/text_encoders/.
  2. Load it with the Load CLIP node (CLIPLoader) and pick the type your workflow uses, for example qwen_image. ComfyUI detects the architecture (Qwen3.5-9B or Qwen3-VL-8B) from the weights.
  3. The _int8_convrot files need a current ComfyUI with comfy-kitchen INT8 ConvRot support. In our runs they used about 10 GB of VRAM, against 18–19.5 GB for BF16.

Qwen3.5-9B

Qwen3.5-9B_bf16.safetensors

  • Role: the official Qwen3.5-9B in BF16, in the ComfyUI single-file layout. It is also the source for Qwen3.5-9B_int8_convrot.
  • Source: Comfy-Org/Qwen3.5, original filename text_encoders/qwen3.5_9b_bf16.safetensors. It is Comfy-Org's ComfyUI packaging of Qwen/Qwen3.5-9B by the Qwen team.
  • License: Apache-2.0.
  • Changes: none. Byte-identical, renamed.

Qwen3.5-9B_int8_convrot.safetensors

  • Role: INT8 ConvRot build of the official Qwen3.5-9B.
  • Source: our conversion of Qwen3.5-9B_bf16.safetensors (original name qwen3.5_9b_bf16.safetensors, recorded in the file's __metadata__ together with its sha256). The base model is by the Qwen team, packaged by Comfy-Org.
  • License: Apache-2.0.
  • Recipe: see Conversion recipe. The layout matches the Comfy-Org reference, with two differences that both come from the source file:
    • The 15 mtp.* tensors (the multi-token-prediction head) are kept in BF16 and copied from the source unchanged. The reference has no MTP tensors to take a rule from. ComfyUI enables MTP speculative decoding when mtp.fc.weight is present.
    • linear_attn.A_log and linear_attn.norm.weight stay in F32, as in the source. The reference stores them in BF16.
  • Verification: see Verification.

Qwen3.5-9B-abliterated_bf16.safetensors

  • Role: BF16 abliterated Qwen3.5-9B. It is also the source for Qwen3.5-9B-abliterated_int8_convrot.
  • Source: wangzhang/Qwen3.5-9B-abliterated by Wangzhang Wu, original filename model.safetensors, revision f8770a7aefbb15e1ae7c7945be3c01ec010ddac1.
    • It is a derivative of Qwen/Qwen3.5-9B made with Abliterix.
    • The author describes it as an abliterated model: refusal behaviour was reduced by a weight-space intervention (rank-1 edits to attention and MLP weights).
  • License: Apache License 2.0, as stated in the source repository (LICENSE). The source repository's provenance notice and responsible-use disclaimer also apply; please read them there.
  • Changes: none. Byte-identical, renamed. The file already uses the ComfyUI key layout (model.language_model.*, model.visual.*, lm_head.weight), so no conversion was needed.
  • Key-set check against the Comfy-Org Qwen3.5-9B BF16 file:
    • All 760 tensors are present in the Comfy-Org file with identical shapes. There are no extra keys.
    • The 15 mtp.* tensors are missing. The source does not ship them, and they were not added. The file loads and generates normally, without MTP speculative decoding.
    • linear_attn.A_log and linear_attn.norm.weight are BF16 as published by the source; Comfy-Org stores them in F32. They were left unchanged.

Qwen3.5-9B-abliterated_int8_convrot.safetensors

  • Role: INT8 ConvRot build of the abliterated Qwen3.5-9B.
  • Source: our conversion of Qwen3.5-9B-abliterated_bf16.safetensors above. Model by Wangzhang Wu, base model by the Qwen team.
  • License: Apache-2.0, as stated in the source repository.
  • Recipe: see Conversion recipe. The tensor layout is identical to the Comfy-Org reference.
  • Verification: see Verification.

Conversion recipe (Qwen3.5 INT8 ConvRot)

The same recipe is used for both Qwen3.5 INT8 files. The reference is Comfy-Org's own INT8 ConvRot build of this architecture: Comfy-Org/Qwen-Image-2.1 text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors (sha256 9182abae56fe05459840a86d22abd21f972061c92fce032630af680c8c5178d3). Its header defines the per-key rule, which is mirrored key-for-key.

INT8 ConvRot (310 tensors): int8_tensorwise with a per-row F32 weight_scale of shape [N, 1] and ConvRot enabled.

Tensors Count ConvRot group size
lm_head, embed_tokens 2 256
Language layers: linear_attn.in_proj_qkv / in_proj_z / out_proj, self_attn.q/k/v/o_proj, mlp.gate/up/down_proj 200 256
Vision blocks: attn.qkv, attn.proj, mlp.linear_fc1 81 64
Vision blocks: mlp.linear_fc2 (in_features 4304 = 16 x 269) 27 16

Kept in source precision, bit-identical to the source:

  • all norms
  • linear_attn.conv1d and linear_attn.in_proj_a / in_proj_b (32-row projections)
  • A_log and dt_bias
  • all biases
  • the vision patch_embed, pos_embed and merger (linear_fc1/fc2)
  • mtp.*, where the source has them

These are exactly the tensors the reference keeps unquantized.

Each quantized layer carries a .comfy_quant U8 tensor holding the same JSON as the reference, for example {"format": "int8_tensorwise", "convrot": true, "convrot_groupsize": 256}. The reference has no per_row flag, so none is added.

Vision tower. The vision tower is quantized, as in the Comfy-Org Qwen3.5 reference. Comfy-Org's older Qwen3-VL INT8 file keeps its vision tower in BF16, but no documentation or ComfyUI source gives a reason for that. The newer Qwen3.5 release from the same publisher quantizes it, and the measured error below is the same for vision as for the language layers.

Quantizer. The official comfy_kitchen path is used: TensorWiseINT8Layout.quantize(w, is_weight=True, per_channel=True, convrot=True, convrot_groupsize=g), comfy-kitchen 0.2.35, CUDA backend.

  • The BF16 weight is upcast to FP32 before rotation. This reproduces Comfy-Org's own bytes.
  • On the vision tower, whose weights match the base model, the scales are identical and 491 of 411,070,464 int8 values differ by one step. Rotating directly in BF16 would change about 9 % of the values.
  • __metadata__ records the source file name, source sha256, recipe and reference.

Verification of the two conversions

Dequantization check. Each INT8 tensor was dequantized through ComfyUI's own comfy_kitchen path (inverse Hadamard rotation included) and compared with the BF16 source:

Qwen3.5-9B INT8 Qwen3.5-9B-abliterated INT8
Quantized tensors 310 310
Cosine, mean / min 0.99996 / 0.99995 0.99996 / 0.99995
Relative error, mean / max 0.88 % / 1.03 % 0.88 % / 1.03 %
Cosine without inverse rotation, mean (control) 0.096 0.096
Non-quantized tensors byte-identical to source 465 / 465 450 / 450

When the inverse rotation is skipped, the control collapses (≤ 0.07 on language layers, ≤ 0.27 on vision). This confirms that ConvRot was applied.

Layout check against the Comfy-Org reference.

  • Abliterated INT8: 1,380 tensors. The key set, dtypes, shapes and all 310 .comfy_quant payloads are identical to the reference; only __metadata__ differs.
  • Official INT8: 1,395 tensors. It is identical to the reference except for the mtp.* and F32 tensors described above.

Functional check in ComfyUI. All four Qwen3.5 files load through the Load CLIP node (type qwen_image) and were run with ComfyUI's text-generation nodes. The test used greedy decoding on 4 prompts: 2 prompt-enhancement prompts, and 2 image-to-prompt prompts with an image input, which exercises the vision tower.

  • Every run produced non-empty, coherent English output with no refusals.
  • The abliterated BF16 file reproduced earlier outputs of the original source file token-for-token on all 4 items.
  • INT8 against its BF16 source (greedy): 0 of 4 outputs were identical for either model. The outputs share an opening of 0–83 words, then diverge into equally valid descriptions. This is normal for INT8 greedy decoding over long outputs, and in line with other INT8 Qwen3.5 builds measured against BF16 in the same setup.

Qwen3-VL-8B

Qwen3-VL-8B-Instruct_bf16.safetensors

  • Role: the official Qwen3-VL-8B-Instruct in BF16, ComfyUI single-file layout.
  • Source: Comfy-Org/Qwen3-VL, original filename text_encoders/qwen3vl_8b_bf16.safetensors. It is Comfy-Org's packaging of Qwen/Qwen3-VL-8B-Instruct by the Qwen team.
  • License: Apache-2.0.
  • Changes: none. Byte-identical, renamed.

Qwen3-VL-8B-Instruct_int8_convrot.safetensors

  • Role: Comfy-Org's official INT8 ConvRot build of Qwen3-VL-8B-Instruct.
  • Source: Comfy-Org/Qwen3-VL, original filename text_encoders/qwen3vl_8b_int8_convrot.safetensors. Model by the Qwen team, quantization by Comfy-Org.
  • License: Apache-2.0.
  • Changes: none. Byte-identical, renamed.
  • Layout (as published): embed_tokens, lm_head and the language-layer linears (254 tensors) are INT8 ConvRot, group size 256. The vision tower is BF16.
  • Our check against the BF16 file above:
    • cosine mean 0.99996 (min 0.99995)
    • relative error mean 0.90 %
    • naive, non-rotated cosine 0.062
    • 496 of 496 BF16 tensors are byte-identical to the BF16 source

Qwen3-VL-8B-Instruct-abliterated_bf16.safetensors

  • Role: BF16 abliterated Qwen3-VL-8B-Instruct.
  • Source: DreamFast/Qwen3-VL-8B-Heretic-1.3.0, original filename comfyui/qwen3-vl-8b-heretic-1.3.0.safetensors.
    • The author describes it as an abliterated version of Qwen/Qwen3-VL-8B-Instruct, made with Heretic v1.3.0 (Heretic 1.3.0 release, trial 98).
    • Refusal behaviour was reduced by rank-1 edits to o_proj / down_proj weights.
  • License: Apache-2.0, as stated in the source repository (license link: Qwen/Qwen3-VL-8B-Instruct LICENSE).
  • Changes: none. Byte-identical, renamed.

Qwen3-VL-8B-Instruct-abliterated_int8_convrot.safetensors

  • Role: INT8 ConvRot build of the Heretic 1.3.0 model above.
  • Source: craftingmod/Qwen3-VL-8B-Heretic-INT8, original filename qwen3-vl-8b-heretic-1.3.0-int8convrot.safetensors.
    • It is a quantization of DreamFast/Qwen3-VL-8B-Heretic-1.3.0, made with convert_to_quant.
    • Per its model card, it uses row-wise INT8 ConvRot with group size 256 on the q/k/v/o and MLP projections of language blocks 1–34 (238 tensors).
    • Kept in BF16: the vision tower, embeddings, lm_head, norms, and blocks 0 and 35.
  • License: Apache-2.0, as stated in the source repository.
  • Changes: none. Byte-identical, renamed.
  • Our check against Qwen3-VL-8B-Instruct-abliterated_bf16:
    • cosine mean 0.99996 (min 0.99993)
    • relative error mean 0.93 %
    • naive cosine 0.062
    • 512 of 512 BF16 tensors are byte-identical to the BF16 source
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for beycanai/Qwen

Finetuned
(1)
this model