This is an mxfp8 quantization of FireRedTeam/FireRed-Image-Edit-1.1-ComfyUI which can be used directly in ComfyUI. All credit goes to FireRedTeam (obviously), and the license here follows theirs.
Requirement: a Blackwell GPU (e.g. Nvidia GeForce RTX 5090 32GB) is required in order to actually take advantage of this quantization.
Quantization Details
Summary
- Source:
FireRed-Image-Edit-1.1-transformer.safetensorsβ 40.86 GB (bf16) - Output:
FireRed-Image-Edit-1.1-transformer_mxfp8.safetensorsβ 21.11 GB (52% of source) - Format: mxfp8 β block-32 microscaling FP8 (E4M3 + E8M0 block scales); ComfyUI-native (contains
comfy_quantmetadata, no custom nodes needed) - Method: post-training round-to-nearest, weight-only
| disposition | layers | parameters |
|---|---|---|
| Quantized (mxfp8) | 840 | 20.38 B (100%) |
| Kept in bf16 | 1093 | 0.05 B (0%) |
| Total | 1933 | 20.43 B |
Quantized layers (mxfp8)
| layer pattern | count | example shape |
|---|---|---|
transformer_blocks.N.attn.add_k_proj.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.add_q_proj.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.add_v_proj.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.to_add_out.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.to_k.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.to_out.N.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.to_q.weight |
60 | (3072, 3072) |
transformer_blocks.N.attn.to_v.weight |
60 | (3072, 3072) |
transformer_blocks.N.img_mlp.net.N.proj.weight |
60 | (12288, 3072) |
transformer_blocks.N.img_mlp.net.N.weight |
60 | (3072, 12288) |
transformer_blocks.N.img_mod.N.weight |
60 | (18432, 3072) |
transformer_blocks.N.txt_mlp.net.N.proj.weight |
60 | (12288, 3072) |
transformer_blocks.N.txt_mlp.net.N.weight |
60 | (3072, 12288) |
transformer_blocks.N.txt_mod.N.weight |
60 | (18432, 3072) |
Kept in bf16 (not quantized)
| layer pattern | count | example shape | reason/heuristic |
|---|---|---|---|
img_in.bias |
1 | (3072,) |
non-weight tensor (bias) |
norm_out.linear.bias |
1 | (6144,) |
non-weight tensor (bias) |
proj_out.bias |
1 | (64,) |
non-weight tensor (bias) |
time_text_embed.timestep_embedder.linear_1.bias |
1 | (3072,) |
non-weight tensor (bias) |
time_text_embed.timestep_embedder.linear_2.bias |
1 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.add_k_proj.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.add_q_proj.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.add_v_proj.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.to_add_out.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.to_k.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.to_out.N.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.to_q.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.to_v.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.img_mlp.net.N.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.img_mlp.net.N.proj.bias |
60 | (12288,) |
non-weight tensor (bias) |
transformer_blocks.N.img_mod.N.bias |
60 | (18432,) |
non-weight tensor (bias) |
transformer_blocks.N.txt_mlp.net.N.bias |
60 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.txt_mlp.net.N.proj.bias |
60 | (12288,) |
non-weight tensor (bias) |
transformer_blocks.N.txt_mod.N.bias |
60 | (18432,) |
non-weight tensor (bias) |
txt_in.bias |
1 | (3072,) |
non-weight tensor (bias) |
transformer_blocks.N.attn.norm_added_k.weight |
60 | (128,) |
1D weight (norm β not a Linear) |
transformer_blocks.N.attn.norm_added_q.weight |
60 | (128,) |
1D weight (norm β not a Linear) |
transformer_blocks.N.attn.norm_k.weight |
60 | (128,) |
1D weight (norm β not a Linear) |
transformer_blocks.N.attn.norm_q.weight |
60 | (128,) |
1D weight (norm β not a Linear) |
txt_norm.weight |
1 | (3584,) |
1D weight (norm β not a Linear) |
img_in.weight |
1 | (3072, 64) |
min dim < 1024 (small in/out projection) |
proj_out.weight |
1 | (64, 3072) |
min dim < 1024 (small in/out projection) |
time_text_embed.timestep_embedder.linear_1.weight |
1 | (3072, 256) |
min dim < 1024 (small in/out projection) |
norm_out.linear.weight |
1 | (6144, 3072) |
sensitive name: matched 'norm_out' |
time_text_embed.timestep_embedder.linear_2.weight |
1 | (3072, 3072) |
sensitive name: matched 'embed' |
txt_in.weight |
1 | (3072, 3584) |
sensitive name: matched 'txt_in' |
Quality β reload verification
Round-trip dequantization error was computed over 64 sampled quantized layers (reconstructed exactly as ComfyUI's loader does). Relative L1 error: mean 0.0224, median 0.0224, max 0.0226 (~0.02 is near the mxfp8 representational floor).
Loading in ComfyUI
Load with Load Diffusion Model (or similar); the comfy_quant metadata is auto-detected and the weights stay quantized in VRAM (no custom nodes required). Requires a Blackwell GPU (mxfp8 tensor-core compute).
Model tree for csprun/FireRed-Image-Edit-1.1-ComfyUI_mxfp8
Base model
FireRedTeam/FireRed-Image-Edit-1.1