license: other
license_name: qwen-research
license_link: LICENSE
pipeline_tag: text-to-image
library_name: radiance
tags:
- radiance
- rocm
- amd
- rdna4
- fp8
- text-to-image
- image-editing
- uncensored
- not-for-all-audiences
base_model: - Noctaluna/Noct-Q-Uncensored-Qwen-Image-2.1
base_model_relation: quantized
Noct Q V4 (an uncensored Qwen-Image 2.1 fine-tune), FP8 — radiance container
Noctaluna's Noct Q V4 — a fine-tune of Qwen-Image
2.1's diffusion transformer that, by its own card, renders nudes and explicit scenes without a LoRA — as a single .rad
container for the radiance inference engine (AMD RDNA4, ROCm), with the
stock Qwen-Image 2.1 conditioning network and VAE. It makes adult content; for adults only.
| File | noctq-v4-uncensored-fp8.rad — 16.08 GiB |
| Weights | the conditioning network's (Qwen3-VL-8B) and the diffusion transformer's linears FP8 E4M3 per 128×128 block (bf16 scales); the vision tower, the small linears, the norms and the VAE bf16 |
| Steps | 40 by default; Noct Q's card recommends 25 with guidance 3 and a negative prompt |
| Needs | radiance built from main after 1.5.0 — Qwen-Image support is not in 1.5.0 and comes with the next release |
What differs from Qwen-Image 2.1
Compared tensor by tensor against Qwen/Qwen-Image-2.1: Noct Q V4 changes blocks 0-15 of the diffusion
transformer, all six of their linears (q, k, v, out, gate/up, down), by about 1.1% of their norm. Blocks 16-31,
every other transformer tensor, the conditioning network and the VAE are the stock model's.
Noct Q is published on Hugging Face only as ComfyUI's int8_tensorwise + ConvRot file (its bf16 is on Civitai).
That format is decoded here exactly as ComfyUI's quantiser encodes it (per-row int8 of the weight rotated by the
normalised regular Hadamard of order 256): re-quantising the stock weights reproduces the codes of the untouched
blocks. So blocks 16-31 are taken from the stock bf16 checkpoint, and only blocks 0-15 carry Noct Q's int8
rounding (about 0.9% of their norm) before this container's FP8.
Serve
# two cards; --tp-wire wht6 sends the all-reduces as 6-bit
radiance --model noctq-v4-uncensored-fp8.rad --tp 2 --tp-wire wht6 --host 0.0.0.0 --port 8000
The server speaks OpenAI's Images API: POST /v1/images/generations and POST /v1/images/edits
(JSON, or multipart with image / image[] and mask, as OpenAI's SDKs send them). Pictures come back asb64_json (png, jpeg or webp; response_format: url is refused). Also: n, size (WxH or auto =
2048x2048), seed, negative_prompt with true_cfg_scale, streaming with partial_images,background: transparent; edits take 1 to 10 reference pictures and a mask. For Noct Q's settings send "num_inference_steps": 25, "true_cfg_scale": 3 with a negative_prompt.
On two Radeon AI PRO R9700 with --tp-wire wht6: 55.3 s at 2048x2048 and 40 steps, 5.2 s at 1024x1024 and 20
steps, 6.6 s for a 1024x1024 edit -- the stock model's speed.
How this file was made
python decode_noctq.py NoctQ_V4_int8_convrot.safetensors Qwen/Qwen-Image-2.1/transformer Noctaluna/Noct-Q-V4/transformer
rad-convert Noctaluna/Noct-Q-V4 --recipe qwen-image-2.1-fp8.recipe -o noctq-v4-uncensored-fp8.rad
decode_noctq.py (in this repository) writes the decoded transformer as a diffusers transformer/ directory;Noctaluna/Noct-Q-V4 is the diffusers download of Qwen/Qwen-Image-2.1 with that directory in place of its own.
The recipe (qwen-image-2.1-fp8.recipe in this repository) is the stock containers' — it names what is
quantised; everything it does not name is the checkpoint's own dtype:
te.blk.*.attn_qkv.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.attn_output.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_gate_up.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_down.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_qkv.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_output.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_gate_up.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_down.weight rtn codes=fp8_e4m3 block=128x128 scale=bf16
vae.* cast dtype=bf16
License
Built with Qwen. Noct Q is Noctaluna's derivative of Qwen-Image 2.1 and, like it, is licensed under the Qwen RESEARCH
LICENSE AGREEMENT (non-commercial; LICENSE in this repository). NOTICE carries Qwen's attribution and Noct Q's
change notice. This container is a further modified copy: its linear weights are re-encoded as FP8 (see above).