19°
Portada del artículo: Qwen-Image 2.1 replaces FLUX for my covers: 7 times faster on the same 16 GB card, and what I lose
IABenchmarksInferencia local

Qwen-Image 2.1 replaces FLUX for my covers: 7 times faster on the same 16 GB card, and what I lose

I ran the same prompts and seeds through the FLUX that makes my covers and through Qwen-Image-2.1-Turbo quantized to NF4, on the same 16 GB card. Qwen takes 8.4 s per image against 61 s, writes 13 of 18 texts exactly against 7, and draws the requested scene in 11 of 15 covers against none. I lose the LoRA's atmosphere, and the version that fits 16 GB writes 4 fewer texts than unquantized Qwen.

Efrain Garay 10 October 2026

Playing summary

The covers on this blog come from FLUX.1-dev with a pixel-art LoRA, on a 16 GB RTX 4070 Ti SUPER. Each image takes a minute, text often comes out misspelled and counts are ignored. I tested whether Qwen-Image-2.1-Turbo can replace it on the same card. Everything below uses the same prompt and the same seed on each side.

Narrated: FLUX against Qwen-Image NF4 on the same 16 GB card, with the bench's real images. 61 s against 8.4 s per image, «PORTÔTIL» against «PORTÁTIL», and the covers that follow the scene.Watch it in the reel viewer →

The cover step, today and with Qwen

The cover step, today and with Qwen NF4, on the same 16 GB cardToday: scene prompt, CLIP-L and T5-XXL encoders, FLUX.1-dev Q6_K with a pixel-art LoRA at 30 steps, VAE decode; 61 s per image, 13.1 GiB, 7 of 18 texts exact. Candidate: same prompt without LoRA, Qwen3-VL encoder and 7B DiT in NF4 at 8 steps, VAE decoded in tiles when measured (now whole, in a second phase); 8.4 s per image, 11.9 GiB, 13 of 18 texts exact. Broke on the way: bf16 does not fit, an 8-bit transformer gives a purple field, tiled decoding leaves streaks.Today · FLUXCandidate · Qwen NF4Scene promptone subject, one actiontrigger: umempartText encodersCLIP-L + T5-XXLCPU offloadFLUX.1-dev Q6_Kpixel-art LoRA30 steps · guidance 3.5VAE decodefull frame1344×768Same promptno LoRAsame style prefixQwen3-VL encoder17.5 GB in bf16→ NF4 4-bit7B DiTNF4 4-bit, bf16 compute8 steps · CFG 1VAE bf16measured in tilesnow: whole, 2nd phase61.0 s per image · 13.1 GiB · exact text 7/188.4 s per image · 11.9 GiB · exact text 13/18What broke before it fit✗ bf16 pipeline: 32.5 GB on disk; fully on the GPU it does not fit 16 GB, and my offload to 30 GB of RAM failed✗ 8-bit (LLM.int8) transformer: a near-uniform purple field (NF4 works)✗ VAE in tiles, needed to fit: faint purple streaks (fixed: decode whole in a second phase)
Exact text: 6 text prompts × 3 seeds, checked by eye at full size; FLUX scored without the LoRA, its time is with it. Memory: nvidia-smi peak over the baseline at the start of the run, in GiB. Qwen measured with the VAE in tiles.

Text inside the image

Six prompts with an exact text, three seeds each. The texts are in Spanish on purpose: accents and the decimal comma are where models slip. I checked every image at full size: ✓ if every character came out as asked, ≈ if only a space or a split word is off, ✗ if a character is wrong, extra or missing. A decimal comma turned into a point or a missing accent counts as ✗. A line break between words does not count, and neither does text the prompt did not ask for.

Requested text: FLUX (no LoRA) against Qwen NF4, same 16 GB card
Today · FLUX.1-dev Q6_K7 ✓ 1 ≈ 10 ✗
Candidate · Qwen NF4, 16 GB13 ✓ 0 ≈ 5 ✗
18 images · ✓ as asked · ≈ almost · ✗ wrong

Asked for MEDIDO EN UN PORTÁTIL

Full prompt

A minimalist concert poster on a brick wall, bold sans-serif headline reading "MEDIDO EN UN PORTÁTIL", flat colors, soft daylight

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, poster, seed 7

✗ «MEDĬDO EN ÙN PORTÔTIL»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, poster, seed 7

✓ No poster: the text is painted on the wall

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, poster, seed 21

✗ «PORTÓTIL»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, poster, seed 21

✓ No poster: the text is painted on the wall

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, poster, seed 88

✗ «PARTÝTL»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, poster, seed 88

✓ No poster: the text is painted on the wall

Asked for 18 a 21 % más rápido

Full prompt

A green school chalkboard with neat white chalk handwriting that reads "18 a 21 % más rápido", a piece of chalk on the ledge, classroom light

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, pizarra, seed 7

✗ «21% mas ŕapido»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, pizarra, seed 7

✗ «más recido»

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, pizarra, seed 21

≈ «21%» no space

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, pizarra, seed 21

✗ «más recido»

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, pizarra, seed 88

✗ «mas»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, pizarra, seed 88

✗ «recido»

Asked for efraingaray.com

Full prompt

A pink neon sign glowing on a dark tiled wall at night, the sign spells "efraingaray.com", reflections on wet floor

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, neon, seed 7

✗ «efraingray»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, neon, seed 7

✓ as asked

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, neon, seed 21

✗ «efraingagray»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, neon, seed 21

✓ as asked

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, neon, seed 88

✗ «efaingaray»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, neon, seed 88

✓ as asked

Asked for Ocho modelos de decisión

Full prompt

A hardcover book lying on a wooden desk, the cover title printed in large serif letters reads "Ocho modelos de decisión", warm lamp light

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, libro, seed 7

✓ Adds a watermark

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, libro, seed 7

✓ as asked

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, libro, seed 21

✓ as asked

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, libro, seed 21

✓ Faint vertical purple streaks

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, libro, seed 88

✗ «Ocallos meoret uecision»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, libro, seed 88

✗ «decision»

Asked for AUC 0,966

Full prompt

A glass jar on a kitchen shelf with a white paper label printed in black capitals "AUC 0,966", shallow depth of field

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, etiqueta, seed 7

✓ as asked

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, etiqueta, seed 7

✓ Faint vertical purple streaks

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, etiqueta, seed 21

✗ «0.966»

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, etiqueta, seed 21

✓ Faint vertical purple streaks

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, etiqueta, seed 88

✓ as asked

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, etiqueta, seed 88

✓ Faint vertical purple streaks

Asked for PostgreSQL 19

Full prompt

A yellow road sign on a mountain road at dusk, black letters reading "PostgreSQL 19", pine trees behind

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, cartel, seed 7

✓ as asked

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, cartel, seed 7

✓ as asked

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, cartel, seed 21

✓ The 19 is on a second plate

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, cartel, seed 21

✗ «PostogreSQL»

Today · FLUX.1-dev Q6_KToday · FLUX.1-dev Q6_K, cartel, seed 88

✓ as asked

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, cartel, seed 88

✓ as asked

Unquantized Qwen, on a rented 48 GB A6000, wrote 17 of the 18 texts exactly; the one left halfway was «Post / greSQL», split over two lines. The NF4 version got 13: five got worse and one improved. I don’t isolate the cause, because besides quantizing, the GPU and the torch version change too. The clearest error repeats: on the chalkboard NF4 wrote «recido» all three times. Both Qwens ignored the poster in the first prompt and painted the text straight onto the wall.

This blog’s covers

Five real cover prompts, three seeds each. I checked them against what the prompt asks for: one robot, its action and the key objects. ✓ if everything is there, ≈ if one element is off, ✗ if the action or the main object is missing. These are the unchanged production prompts, and they are long: CLIP, one of FLUX’s two encoders, cuts their end at 77 tokens, right where the scene goes; the other one, T5, gets them whole. I compare the two workflows as they run, not each model’s ability with a prompt made to measure.

Covers: FLUX + LoRA (what I use today) against Qwen NF4
Today · FLUX + pixel-art LoRA0 ✓ 6 ≈ 9 ✗
Candidate · Qwen NF4, 16 GB11 ✓ 4 ≈ 0 ✗
15 images · ✓ as asked · ≈ almost · ✗ wrong

p0 Robot with a magnifier at a three-block podium; the tallest one cracked

Full prompt

umempart, pixel art, flat colors, retro 16-bit game sprite style, crisp pixel edges, dark navy background, teal and amber accent lighting, clean composition with empty space, no text, no letters, a single cute robot with a round helmet, one big glowing lens eye and an antenna with an amber spark on top, standing on the left third, holding a large magnifying glass up to a winners podium of three stacked blocks, the tallest middle block of the podium has a big crack running down it, wide horizontal composition, the robot is teal with amber details

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p0, seed 7

✗ Loose blocks: no podium, no crack

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p0, seed 7

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p0, seed 21

≈ A five-block podium, not three

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p0, seed 21

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p0, seed 88

✗ No magnifier, no crack

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p0, seed 88

✓ Cracks in all three blocks

p1 Robot pulling a paper scroll that piles up in loops

Full prompt

umempart, pixel art, flat colors, retro 16-bit game sprite style, crisp pixel edges, dark navy background, teal and amber accent lighting, clean composition with empty space, no text, no letters, a single cute robot with a round helmet, one big glowing lens eye and an antenna with an amber spark on top, standing on the left third, pulling an extremely long paper scroll list that unrolls across the whole floor behind it and piles up in loops, the scroll covered in tiny rows of dots, dark navy background, wide horizontal composition, the robot is teal with amber details

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p1, seed 7

≈ Long scroll, no loops

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p1, seed 7

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p1, seed 21

≈ Long scroll, no loops

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p1, seed 21

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p1, seed 88

✗ Closed rolls; pulls nothing

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p1, seed 88

≈ Waves, but it does not pile up in loops

p2 Robot holding a giant key in front of a round vault door

Full prompt

umempart, pixel art, flat colors, retro 16-bit game sprite style, crisp pixel edges, dark navy background, teal and amber accent lighting, clean composition with empty space, no text, no letters, a single cute robot with a round helmet and one big glowing lens eye holding a giant brass key in front of a round vault door, wide horizontal composition

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p2, seed 7

✗ The key floats away from the robot

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p2, seed 7

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p2, seed 21

✗ The key lies on the floor

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p2, seed 21

✓ as asked

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p2, seed 88

✗ No key

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p2, seed 88

✓ as asked

p3 Robot judge at a desk sorting film frames into two baskets

Full prompt

umempart, pixel art, flat colors, retro 16-bit game sprite style, crisp pixel edges, dark navy background, teal and amber accent lighting, clean composition with empty space, no text, no letters, a single cute robot judge with a round helmet sitting at a desk sorting a pile of film frames into two baskets, wide horizontal composition

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p3, seed 7

✗ Three figures instead of one robot

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p3, seed 7

✓ Wearing a judge's robe

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p3, seed 21

✗ No sorting: the frames stick out of the baskets on their own

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p3, seed 21

✓ Wearing a judge's robe

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p3, seed 88

✗ Desk and baskets; no sorting

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p3, seed 88

✓ as asked

p4 Robot with an umbrella over a city of seven buildings

Full prompt

umempart, pixel art, flat colors, retro 16-bit game sprite style, crisp pixel edges, dark navy background, teal and amber accent lighting, clean composition with empty space, no text, no letters, a single cute robot with an umbrella looking at a cloudy sky over a small city of seven buildings, wide horizontal composition

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p4, seed 7

≈ Umbrella yes; dozens of buildings, not seven

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p4, seed 7

≈ 6 buildings

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p4, seed 21

≈ Umbrella yes; dozens of buildings, not seven

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p4, seed 21

≈ 6 buildings

Today · FLUX + pixel-art LoRAToday · FLUX + pixel-art LoRA, p4, seed 88

≈ Umbrella yes; dozens of buildings, not seven

Candidate · Qwen NF4, 16 GBCandidate · Qwen NF4, 16 GB, p4, seed 88

≈ 5 buildings

FLUX with the LoRA has the style: fog, rim light and depth. But the subject comes out small and the action gets lost: the key floats away from the robot, nobody sorts the frames and the city has dozens of buildings. In 6 covers one element is off and in 9 the main thing is missing. Qwen draws the scene in 11 of 15, with a big robot and a clear action, though on a flat background. It does not count right either: I asked for seven buildings and it drew 6, 6 and 5.

Speed

Seconds per image, medianModel already loaded; timer around each image. The animation runs 10 times faster than the measured time.
FLUX + LoRA · 30 steps · n=1561 s
FLUX · 28 steps · n=3654.5 s
Qwen NF4 · 8 steps · n=368.39 s

nvidia-smi above the baseline at the start: Qwen NF4 (VAE in tiles) 11.9 GiB, FLUX 13.1 GiB.

Qwen bf16 · 1344×768 · n=366.58 s
Qwen bf16 · 2752×1536 · n=336.63 s

PyTorch peak: 36.8 GiB at 1344×768 and 32.6 GiB at 2752×1536.

Medians from timing.jsonl and the FLUX logs, computed by timing.py.

Now in the studio, with the NF4 copy saved on disk so it does not requantize on every start, three covers end to end took 33.6 s, model loading and SSH included. This post’s cover was the first one that came out that way. Then I regenerated all 46 of the blog’s covers with the same engine: two seeds per post, I picked by eye the one that followed the scene and redid the two that did not.

What broke and how I fixed it

Transformer in 8 bitsImage generated with the transformer in 8 bits: a near-uniform purple field
Transformer in NF4The same image with the transformer in NF4: readable text painted on a wall
Same prompt, seed 7, on the A6000 with everything else in bf16. The 8-bit one returns a near-uniform field.

To fit everything in 16 GB, the VAE decoded the image in tiles, and that left faint vertical purple streaks on light surfaces. They did not come from NF4: they show up the same in bf16 when decoding in tiles. With 512 px tiles the streak fades but stays, and 768 px tiles no longer fit. What worked was splitting the job in two phases: first the latents of every cover, then I take the transformer and the encoder off the GPU and the VAE decodes each image whole. In the label test, decoding and saving took 0.77 s, with a 7.1 GiB PyTorch peak in that phase.

VAE in 256 px tilesLabel AUC 0,966 with a vertical purple streak across it
Whole VAE, second phaseThe same label, with no streak
Same NF4 copy, same prompt and seed 7 on the 16 GB card; crop enlarged ×2. The gallery images predate the fix.

Verdict

For my covers, with these prompts, Qwen NF4 becomes the engine of the studio’s cover profile. Seven times faster on the same card, with readable text and the scene I ask for, is worth more than the LoRA’s atmosphere. FLUX with the LoRA stays installed as a fallback for scenes where mood matters more than content.

If the text has to be exact, I still check it by eye: unquantized Qwen wrote 17 of 18 on the A6000 I rented, and the 16 GB version, 13.

Frequently asked questions

Does Qwen-Image-2.1-Turbo fit on a 16 GB GPU?

Not in bf16 with everything on the GPU: the pipeline is 32.5 GB on disk and my attempt with offload to 30 GB of RAM failed. It runs with the transformer and the text encoder quantized to NF4 with bitsandbytes. The quantized copy takes 10.6 GiB on disk and, on an RTX 4070 Ti SUPER, nvidia-smi showed 11.9 GiB above what the card held at the start, with the VAE in tiles.

How much faster than FLUX is it?

On the same card at 1344×768, Qwen NF4 took 8.4 s per image (median of 36) and FLUX.1-dev Q6_K with the cover LoRA took 61 s (median of 15). About 7 times. Qwen uses 8 steps and FLUX 30. In the studio, three covers end to end, model loading included, took 33.6 s.

Does it write text better than FLUX?

In these 18 images with a requested text, checked by eye, Qwen NF4 wrote 13 exactly and FLUX 7. Unquantized Qwen, on a 48 GB A6000, wrote 17. The NF4 version wrote «recido» instead of «rápido» all three times.

Why not 8-bit instead of NF4?

Because the transformer in 8 bits (LLM.int8) returned a near-uniform purple field. I isolated it on an A6000 by quantizing one component at a time: with the transformer in NF4 the image comes out right.

Where did the purple streaks come from?

From decoding the VAE in tiles, which was needed to fit everything in 16 GB. They show up in bf16 with tiles too. I removed them by making the latents first, taking the transformer and the encoder off the GPU and decoding the whole image: decoding and saving took 0.77 s, with a 7.1 GiB PyTorch peak in that phase, in the label test.

Can I reproduce it?

Yes. The prompts, the generation scripts, the image-by-image review and the timings are in a gist linked in the sources.

Sources

Measured on October 10, 2026. FLUX.1-dev Q6_K GGUF with the ume_modern_pixelart LoRA (flux_batch.py, the studio’s engine) and Qwen-Image-2.1-Turbo NF4 (torch 2.14.1, diffusers 0.41.0.dev0 at commit 1d5d056, transformers 5.19.0, bitsandbytes 0.50.2) on the same 16 GB RTX 4070 Ti SUPER; Qwen bf16 on a rented 48 GB RTX A6000 (torch 2.8.0). 1344×768, seeds 7, 21 and 88.

Comments

No comments yet. The first one is yours.

Reviewed before publishing. The email is not stored and never appears anywhere.