# Qwen-Image 2.1 Turbo, NVFP4 files, ComfyUI. Exact steps of the measurement (hosts and paths removed). # Files (all three devices, sha256 equal to the Hugging Face API values, see sha256-model-files.txt): # BennyDaBall/Qwen-Image-2.1-Turbo-NVFP4 @ cb5a4e68cb747ca8a753a9f15416c3aeea6c8b67 # diffusion_models/qwen_image_2.1_turbo_nvfp4.safetensors, text_encoders/qwen3vl_8b_turbo_nvfp4.safetensors, vae/qwen_image_2.1_vae_bf16.safetensors # Engine: ComfyUI 0.39.0, commit 46493d824fd7eac25a741e505159e4c9e0ef0ebd (clean checkout), container nvcr.io/nvidia/pytorch:26.07-py3, # torch 2.13.0a0+9186a08b2c.nv26.07, comfy-kitchen 0.2.37, comfy-aimdo 0.5.6. Log shows "Native ops: ... nvfp4 ...", DynamicVRAM enabled. # Server (one fresh container per run, one container name, own container only): python main.py --disable-api-nodes --disable-all-custom-nodes --port 18630 # no SageAttention, no --cache-none # Workflow: workflow_api.json (UNETLoader, CLIPLoader qwen_image, VAELoader, TextEncodeQwenImage21, SamplerCustomAdvanced, euler, # ManualSigmas "1.0, 0.978453, 0.95418, 0.926626, 0.89508, 0.845148, 0.704534, 0.414568, 0.0", CFG 1 via BasicGuider, 1024x1024, 8 steps). # Measurement (race_turbo.py): 1 warm-up image (seed 999, not counted), then 20 prompts queued at once, seeds 1001-1020. # Time per image = difference of consecutive ComfyUI server completion timestamps (includes text encoding, VAE decode, PNG save). # Median of the 19 intervals after image 1. The script aborts if the server history is not empty (no cache hits). # Each log shows exactly 21 prompts (1 warm-up + 20). python race_turbo.py --port 18630 --gpu --out --prompts prompts.json --label --hardware "" # Run 1 and run 2 each started from a freshly started container. Images of run 1 and run 2 are pixel-identical (same sha256, 20 of 20). # Before the run the device was checked to be idle (no foreign compute process).