Nodes/Comfyui-Qwen-Image-2.1-Fun-Acc-LoRAs-T8/Qwen-Image-2.1 Fun-Acc PDD 4 Step (T8)
ComfyUI Node

Qwen-Image-2.1 Fun-Acc PDD 4 Step (T8)

That 4-step LoRA won't load in a LoRA Loader

By T8mars·Created about 22 hours ago·Updated about 21 hours ago· 1
Qwen-Image-2.1 Fun-Acc PDD 4 Step (T8)
  • model
  • positive
  • latent_image
  • LATENT
◄model_file▾►
◄seed0►

You grabbed Alibaba PAI's 4-step accelerator for Qwen-Image-2.1, dropped it in models/loras, wired it into your usual LoRA Loader → KSampler chain, and got mush. Nothing is broken. The file isn't a LoRA in the sense your Loader means, and this node exists precisely because of that.

What it is, and when you'd reach for it

Qwen-Image-2.1 is Alibaba's open-weights successor to a family whose editing line became the default local instruction-editing stack - 7B visual-generation component, 32 single-stream DiT layers, unified text-to-image and editing, native RGBA. It landed 14 September 2026, the first open-weights answer to Qwen-Image-2.0, which shipped API-only in February and never gave up its weights.

It's also a 40-NFE model, and that's what this node is about. Alibaba PAI's Fun-Acc release applies Parallel Decoding Distillation (PDD, arXiv 2607.26004) to squash generation to 4 NFE, text-to-image and instruction editing alike. Four passes instead of forty. If you know the distilled-model drill, the shape is familiar: guidance is baked into the weights and step count is not a knob. What's unusual is the packaging, and that's the part a generic sampler can't handle.

How the 4-step pass actually works

The Fun-Acc bundle contains four separate output heads - one per step. Step 0 and step 3 read out through different final projections, which is what PDD's parallel decoding buys you. There's no slot for a second proj_out in a LoRA Loader, and no KSampler swaps a projection mid-run, so a plain loader happy-paths you into a wrong output rather than an obvious error.

This node drives the whole thing itself. It takes the native Qwen-Image-2.1 model, applies the bundle (231 LoRA pairs plus 65 full weights - the norm and QK-norm tensors the adapter overwrites outright), then loops four times: clone the base model, attach that iteration's patch set with that step's head substituted in, run one Euler step against hard-coded sigmas (1.0 → 0.917 → 0.786 → 0.549 → 0.0), re-noise, repeat. Sampling is conditioning-only through a CFG guider with no negative set - no CFG, because the student doesn't need it and applying it is the classic distilled-model mistake of correcting twice. The bundle's own config agrees: rank 64, alpha 64, four steps, pdd_inference_only.

Inputs and outputs that matter

Five sockets, and honestly the first four are the same ones you always wire:

  • model - from UNETLoader with a genuine Qwen-Image-2.1 diffusion model; the node checks the class and refuses anything else.
  • positive - from TextEncodeQwenImage21, fed by a Qwen3-VL 8B text encoder. The node validates that the conditioning has 4096 channels, and the 4B encoder gives 2560.
  • latent_image - EmptyLatentImage for text-to-image. For editing, the reference goes into the encode node's image input and its latent output feeds here; the bundled edit workflow has no separate VAEEncode at all.
  • model_file - dropdown of the paired PDD file, built from your models/loras listing plus the node's own legacy models/ folder.
  • seed - noise seed, that's it.

One output: LATENT, straight into VAEDecode. Notice what isn't there: no steps, no CFG, no sampler, no denoise, no negative. The encode node hands you a negative output and this sampler has no socket for it, so it dangles. By design, not an oversight.

Installing it

ComfyUI 0.36.0 or newer - the native Qwen-Image-2.1 model class has to exist before this node can patch it. Search Qwen-Image-2.1 Fun-Acc PDD 4-Step (T8) in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-Qwen-Image-2.1-Fun-Acc-LoRAs-T8

Then restart. No pip dependencies - the pack's pyproject.toml declares an empty dependency list, which after a week of installing missing nodes is a small mercy. Four download-and-place jobs, from the two repos linked above:

t8star/Qwen-Image-2.1-Fun-Acc-LoRAs-Comfy
  Qwen-Image-2.1-Fun-Acc-4Step-PDD-T8.safetensors  → models/loras/
Comfy-Org/Qwen-Image-2.1
  diffusion_models/qwen_image_2.1_int8_convrot.safetensors → models/diffusion_models/
  text_encoders/qwen3vl_8b_int8_convrot.safetensors        → models/text_encoders/
  vae/qwen_image_2.1_vae_bf16.safetensors                  → models/vae/

Restart again, then drag in either JSON from the repo's example_workflows/ - one text-to-image, one edit with a Load Image reference.

Things that will actually bite you

"needs 4096-channel text conditioning … has 2560 channels." You loaded a qwen3vl_4b encoder. Swap to the 8B one. This is the single most common mismatch on any Qwen-2.1 graph.

"This node needs its paired T8 Fun-Acc PDD model file." You picked the wrong entry in model_file. Every LoRA in your loras folder is in that dropdown, and Alibaba's original Qwen-Image-2.1-Fun-Acc-4Step.safetensors won't work either - no identifying metadata. Use T8's repack: same 528 tensors, metadata added.

"Load a native Qwen-Image-2.1 base model before this node." You're on 2512 or another UNET. The architecture changed; this node isn't portable to it.

Don't fight the schedule. No steps widget, no CFG widget, and both would break the student anyway - deviating from a distilled model's trained step count is the standard way people get artifacted, oversaturated output and then blame the model.

Expect the usual distillation tax. Alibaba's own card admits dense small text degrades versus the 40-NFE teacher and some edits come back slightly darker and blurrier. Great for iteration; do your typography hero shots on the full model.

The license changed on this one. Qwen-Image-2.1 ships under the Qwen Research License - non-commercial, research and evaluation only. That's a real break from the Apache 2.0 covering the earlier Qwen-Image family, so read it before building anything paid on top.

Resolution: the author reports 512×512 testing, the shipped workflow defaults to 1024×1024, the PDD config was written around 2048. Pick your own adventure.

Categorysampling/qwen_image21

Inputs (5)

NameTypeDefaultDescription
modelMODEL—
positiveCONDITIONING—
latent_imageLATENT—
model_fileCOMBO1 options: Place the paired model in models/ and restart ComfyUI
seedINT00–18446744073709550000—

Outputs (1)

NameTypeDescription
LATENTLATENT—