Home / 32 GB · Image

32 GB · RTX 5090 32 GB

FLUX 3 Image Klein on a DGX Spark and an RTX 5090

Time per image for FLUX 3 Image Klein with the prompt upsampler switched on, in BF16, INT8 and NVFP4, at 2048 and 1024 pixels, on one DGX Spark 128 GB and one RTX 5090 32 GB. Same seed and prompts on both devices, but the upsampler wrote different captions on the two, so the pictures differ.

Runner: ComfyUI v0.44.1 executes the workflow graphComfyUI (Comfy Org)GitHubWebsite
ImageFLUX 3 Image Klein (distilled, 5.6B image transformer)measured 6 Nov 2026not rankedAI-generated outputs

Not ranked. Measured on the devices shown here only. Simpler protocol than the image test v2 of 20 Oct 2026: 6 prompts, one seed, median of 6, prompt upsampler on. Shown separately and not ranked.

32 GB

RTX 5090 32 GB · BF16 · 2048×2048

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler30.5 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)4.4 swrites the long caption before the image
Image stage only (median)24.6 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images29.9 s / 31.3 sdifferent captions give different upsampler times
Peak GPU memory in use30,168 MiBnvidia-smi memory used, 32 GB card
First image after start (warm-up, not counted)40.4 sincludes loading the models
32 GB

RTX 5090 32 GB · INT8 · 2048×2048

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler14.7 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)4.7 swrites the long caption before the image
Image stage only (median)9.9 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images13.8 s / 15.7 sdifferent captions give different upsampler times
Peak GPU memory in use22,166 MiBnvidia-smi memory used, 32 GB card
First image after start (warm-up, not counted)24.4 sincludes loading the models
32 GB

RTX 5090 32 GB · NVFP4 · 2048×2048

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler21.0 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)3.8 swrites the long caption before the image
Image stage only (median)16.3 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images20.5 s / 21.5 sdifferent captions give different upsampler times
Peak GPU memory in use30,428 MiBnvidia-smi memory used, 32 GB card
PSNR of NVFP4 image against BF16 image (same caption)21.5 dBmedian of 6, range 20.4 to 24.6 dB, no image pixel-identical
32 GB

RTX 5090 32 GB · BF16 · 1024×1024

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler10.9 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)3.7 swrites the long caption before the image
Image stage only (median)5.7 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images10.2 s / 11.5 sdifferent captions give different upsampler times
Peak GPU memory in use30,164 MiBnvidia-smi memory used, 32 GB card
First image after start (warm-up, not counted)19.6 sincludes loading the models
32 GB

RTX 5090 32 GB · INT8 · 1024×1024

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler6.8 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)4.7 swrites the long caption before the image
Image stage only (median)2.0 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images5.8 s / 7.8 sdifferent captions give different upsampler times
Peak GPU memory in use19,230 MiBnvidia-smi memory used, 32 GB card
First image after start (warm-up, not counted)16.6 sincludes loading the models
32 GB

RTX 5090 32 GB · NVFP4 · 1024×1024

one RTX 5090 32 GB

Median time per image, incl. prompt upsampler7.1 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)3.6 swrites the long caption before the image
Image stage only (median)2.9 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images6.5 s / 7.8 sdifferent captions give different upsampler times
Peak GPU memory in use30,706 MiBnvidia-smi memory used, 32 GB card
PSNR of NVFP4 image against BF16 image (same caption)21.8 dBmedian of 6, range 19.3 to 25.0 dB, no image pixel-identical
128 GB

DGX Spark 128 GB · BF16 · 2048×2048

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler87.5 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)28.5 swrites the long caption before the image
Image stage only (median)58.5 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images82.7 s / 91.7 sdifferent captions give different upsampler times
Peak GPU memory in use42,236 MiBsum over compute apps, unified memory
First image after start (warm-up, not counted)241.7 sincludes loading the models
128 GB

DGX Spark 128 GB · INT8 · 2048×2048

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler59.2 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)9.0 swrites the long caption before the image
Image stage only (median)49.8 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images57.4 s / 60.9 sdifferent captions give different upsampler times
Peak GPU memory in use21,822 MiBsum over compute apps, unified memory
First image after start (warm-up, not counted)172.7 sincludes loading the models
128 GB

DGX Spark 128 GB · NVFP4 · 2048×2048

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler75.2 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)28.6 swrites the long caption before the image
Image stage only (median)46.0 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images70.4 s / 79.1 sdifferent captions give different upsampler times
Peak GPU memory in use36,724 MiBsum over compute apps, unified memory
PSNR of NVFP4 image against BF16 image (same caption)21.5 dBmedian of 6, range 18.2 to 24.0 dB, no image pixel-identical
128 GB

DGX Spark 128 GB · BF16 · 1024×1024

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler40.2 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)28.7 swrites the long caption before the image
Image stage only (median)11.3 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images35.6 s / 44.7 sdifferent captions give different upsampler times
Peak GPU memory in use39,106 MiBsum over compute apps, unified memory
First image after start (warm-up, not counted)186.6 sincludes loading the models
128 GB

DGX Spark 128 GB · INT8 · 1024×1024

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler16.9 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)9.0 swrites the long caption before the image
Image stage only (median)7.5 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images15.4 s / 18.3 sdifferent captions give different upsampler times
Peak GPU memory in use18,826 MiBsum over compute apps, unified memory
First image after start (warm-up, not counted)138.7 sincludes loading the models
128 GB

DGX Spark 128 GB · NVFP4 · 1024×1024

one DGX Spark (GB10) 128 GB

Median time per image, incl. prompt upsampler36.9 s6 prompts, median of 6, 1 warm-up image discarded
Prompt upsampler stage (median)28.7 swrites the long caption before the image
Image stage only (median)7.7 ssampler, VAE decode and save, no upsampler
Fastest / slowest of the 6 images32.0 s / 40.8 sdifferent captions give different upsampler times
Peak GPU memory in use33,594 MiBsum over compute apps, unified memory
PSNR of NVFP4 image against BF16 image (same caption)22.2 dBmedian of 6, range 21.0 to 25.3 dB, no image pixel-identical
Outputs

Real outputs

a cigar resting on a crystal ashtray next to a glass of whisky, leather armchair, warm low light, FLUX 3 Image Klein BF16 2048 px on DGX Spark 128 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, DGX Spark 128 GB, seed 42, same upsampled caption on both devices, PSNR 42.3 dB · 82.7 s Prompt: a cigar resting on a crystal ashtray next to a glass of whisky, leather armchair, warm low light full size
a cigar resting on a crystal ashtray next to a glass of whisky, leather armchair, warm low light, FLUX 3 Image Klein BF16 2048 px on RTX 5090 32 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, RTX 5090 32 GB, seed 42, same upsampled caption on both devices, PSNR 42.3 dB · 29.9 s Prompt: a cigar resting on a crystal ashtray next to a glass of whisky, leather armchair, warm low light full size
a red Ducati Panigale superbike on a wet city street at night, neon reflections, FLUX 3 Image Klein BF16 2048 px on DGX Spark 128 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, DGX Spark 128 GB, seed 42, different upsampled captions · 90.4 s Prompt: a red Ducati Panigale superbike on a wet city street at night, neon reflections full size
a red Ducati Panigale superbike on a wet city street at night, neon reflections, FLUX 3 Image Klein BF16 2048 px on RTX 5090 32 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, RTX 5090 32 GB, seed 42, different upsampled captions · 31.0 s Prompt: a red Ducati Panigale superbike on a wet city street at night, neon reflections full size
a vintage Porsche 964 911 Carrera in a dim garage, light through a roll-up door, FLUX 3 Image Klein BF16 2048 px on DGX Spark 128 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, DGX Spark 128 GB, seed 42, different upsampled captions · 90.8 s Prompt: a vintage Porsche 964 911 Carrera in a dim garage, light through a roll-up door full size
a vintage Porsche 964 911 Carrera in a dim garage, light through a roll-up door, FLUX 3 Image Klein BF16 2048 px on RTX 5090 32 GB
AI-generated FLUX 3 Image Klein, BF16, 2048×2048, RTX 5090 32 GB, seed 42, different upsampled captions · 30.9 s Prompt: a vintage Porsche 964 911 Carrera in a dim garage, light through a roll-up door full size
a red Ducati Panigale superbike on a wet city street at night, neon reflections, FLUX 3 Image Klein INT8 1024 px on DGX Spark 128 GB
AI-generated FLUX 3 Image Klein, INT8, 1024×1024, DGX Spark 128 GB, seed 42, different upsampled captions · 18.3 s Prompt: a red Ducati Panigale superbike on a wet city street at night, neon reflections full size
a red Ducati Panigale superbike on a wet city street at night, neon reflections, FLUX 3 Image Klein INT8 1024 px on RTX 5090 32 GB
AI-generated FLUX 3 Image Klein, INT8, 1024×1024, RTX 5090 32 GB, seed 42, different upsampled captions · 7.8 s Prompt: a red Ducati Panigale superbike on a wet city street at night, neon reflections full size
Table

PSNR in dB between the GB10 image and the RTX 5090 image, same seed 42 and same prompt. Column 4: each device used its own upsampled caption. Column 5: the RTX 5090 re-ran the image stage with the caption written on the GB10 (1024 px, BF16 and INT8 only). Higher means closer, no pair is pixel-identical.

SetPromptSame caption on both devicesPSNR, own captions (dB)PSNR, GB10 caption on 5090 (dB)
BF16 2048×2048pc-buildno14.6not run
BF16 2048×2048assault-rifleno26.9not run
BF16 2048×2048porsche-964no11.2not run
BF16 2048×2048ducati-panigaleno14.0not run
BF16 2048×2048cigar-whiskyyes42.3not run
BF16 2048×2048ribeye-steakno14.1not run
INT8 2048×2048pc-buildno17.0not run
INT8 2048×2048assault-rifleno15.1not run
INT8 2048×2048porsche-964no14.4not run
INT8 2048×2048ducati-panigaleno14.7not run
INT8 2048×2048cigar-whiskyno18.0not run
INT8 2048×2048ribeye-steakno12.8not run
NVFP4 2048×2048pc-buildno15.0not run
NVFP4 2048×2048assault-rifleno27.9not run
NVFP4 2048×2048porsche-964no10.8not run
NVFP4 2048×2048ducati-panigaleno13.9not run
NVFP4 2048×2048cigar-whiskyyes30.4not run
NVFP4 2048×2048ribeye-steakno14.3not run
BF16 1024×1024pc-buildno14.131.8
BF16 1024×1024assault-rifleno38.338.0
BF16 1024×1024porsche-964no11.544.8
BF16 1024×1024ducati-panigaleno13.838.9
BF16 1024×1024cigar-whiskyyes45.845.8
BF16 1024×1024ribeye-steakno14.238.8
INT8 1024×1024pc-buildno16.432.3
INT8 1024×1024assault-rifleno16.929.0
INT8 1024×1024porsche-964no12.423.6
INT8 1024×1024ducati-panigaleno13.430.0
INT8 1024×1024cigar-whiskyno18.438.0
INT8 1024×1024ribeye-steakno12.335.1
NVFP4 1024×1024pc-buildno14.5not run
NVFP4 1024×1024assault-rifleno27.7not run
NVFP4 1024×1024porsche-964no11.6not run
NVFP4 1024×1024ducati-panigaleno14.1not run
NVFP4 1024×1024cigar-whiskyyes29.2not run
NVFP4 1024×1024ribeye-steakno13.9not run

Raw file

Setup

How it was run

  • Model files: official BFL ComfyUI package (flux-3-image-klein-comfy), sha256 checked. Text encoder Qwen3-VL-4B, prompt upsampler Qwen3.5-9B fine-tune from BFL.
  • BF16 = BF16 transformer, BF16 text encoder, BF16 upsampler. INT8 = int8 transformer and text encoder, w4a8 upsampler. NVFP4 = the BF16 setup with only the transformer swapped for the official NVFP4 file.
  • Resolution 2048×2048 (what the shipped ComfyUI workflow sets) and 1024×1024 (reference code). Distilled model, 16 steps, euler/simple, cfg 1.0, timestep shift alpha 16 (workflow default).
  • Prompt upsampler on (BFL says to always run it). Same 6 short prompts and seed 42 on both devices.
  • ComfyUI v0.44.1 release, NVIDIA PyTorch container 26.07, no custom nodes. One fresh container per set.
  • Method: 1 warm-up image discarded, then the 6 prompts one after another, median of 6. Time = request until the image is finished, upsampler included.
Notes

What to keep in mind

The upsampler wrote different captions on the two devices. Of the 36 prompt and set pairs shown, only 4 got identical captions (the cigar and whisky prompt, BF16 and NVFP4, both resolutions). Different caption means different picture, so the images on the two devices are not the same scene, and the upsampler time depends on caption length.

Same seed means the same recipe, not the same pixels. Even with the GB10 caption fed to the RTX 5090, no image was pixel-identical (PSNR 31.8 to 45.8 dB for BF16 and 23.6 to 38.0 dB for INT8 at 1024 px). INT8 differs more than BF16. Each device repeats its own images exactly.

INT8 uses a different upsampler file (w4a8) than BF16 and NVFP4, so INT8 pictures show a different caption and scene. Only BF16 against NVFP4 uses the same caption on one device. PSNR NVFP4 against BF16 (median, range): GB10 2048 px 21.5 dB (range 18.2 to 24.0), GB10 1024 px 22.2 dB (range 21.0 to 25.3), RTX 5090 2048 px 21.5 dB (range 20.4 to 24.6), RTX 5090 1024 px 21.8 dB (range 19.3 to 25.0). PSNR measures numeric difference, not image quality, and we did not score quality.

NVFP4 ran on both devices. It is not an author workflow: BFL ships no NVFP4 workflow, so we swapped only the transformer file in the BF16 workflow. On the RTX 5090, BF16 and NVFP4 peaked at about 30 GB of the 32 GB card (ComfyUI moves weights in and out as needed). All 14 sets (7 per device) finished without errors. Twelve are shown here; the two sets with a different alpha setting (6.93) are left out of this page.

The graph is a hand-built API version of the two sub-graphs of the author workflow (prompt upsampler and diffusion), not the workflow file loaded in the ComfyUI interface. Settings were checked against the workflow file (resolution selector 4.0 MP, 16 steps, cfg 1.0, euler/simple, upsampler decoding with top_k 1, top_p 0.95, presence penalty 1.5).

The upsampler is a large part of the time on the GB10: median 28.5 s of 87.5 s at 2048 px in BF16, and 28.7 s of 40.2 s at 1024 px. On the RTX 5090 it is 3.6 s to 4.7 s. The INT8 upsampler needs about 9 s on the GB10.

GB10 memory finding: our first GB10 run right after downloading 59 GB of weights was thrown away. The downloaded files sat in the page cache, ComfyUI on the GB10 only counted truly free memory, loaded the models partly and swapped them in and out per image (warm-up image 311.3 s with a 89.3 s upsampler stage, against 241.7 s and 22.7 s in the valid run). Before each set we now drop the page cache of our own weight files without root rights. Whoever starts ComfyUI on a GB10 right after a big download measures this effect.

Only 6 prompts without people. Community reports about distorted faces at low resolution were not tested here. Image quality is not scored. Timings are one setup (ComfyUI v0.44.1), not a statement about other engines.

License: FLUX Kommunity License v1.0, non-commercial use and commercial use of outputs only under its conditions, see the license text in the model repository.