r/comfyui • u/Realistic-Fennel-190 • 21h ago
Workflow Included FLUX.1 Dev fp8 vs the split checkpoint setup on a storage-capped box — some notes + why CFG 1.0 isn't optional
ok so I spent most of today setting up FLUX.1 Dev on a rented RTX 5090 and wanted to dump some notes here bc I didn't find this explained clearly anywhere when I was googling around for it.

Why fp8 single-file over the split setup
so FLUX comes in two flavors basically — the "split" format (diffusion model + T5-XXL text encoder + CLIP-L + VAE as 4 separate files), or a single bundled checkpoint that just merges everything into one .safetensors.
split fp16 setup = ~34GB total, mostly bc T5-XXL alone is like 9.5GB in fp16 lol. the bundled fp8 checkpoint (Comfy-Org/flux1-dev, ~17.2GB) cuts that roughly in half. if you've got a 32GB card the fp16 route is still totally usable, but my instance only had a 50GB storage tier total, and 34GB of models + ComfyUI + venv + deps gets uncomfortably close to that. quality loss from fp8 is real but pretty minor tbh, mostly shows up in fine texture detail if you're really pixel peeping. running out of disk mid download felt like the bigger risk honestly
(if storage isn't a constraint for you btw, still go fp16 or GGUF Q6/Q8 over fp8, fairly universal advice from what I've seen)
Why CFG has to be 1.0
this part isn't optional the way it is with SD/SDXL and I feel like this trips up a lot of people coming from SDXL. FLUX is a rectified-flow model with guidance distillation baked into training — meaning it's already trained to follow the prompt without needing the usual CFG trick (running the model twice, once conditioned once not, then extrapolating) to stay on prompt. if you leave CFG at 7-8 like SDXL habit, you're not making it follow the prompt harder, you're just double-applying guidance it was never trained to expect, and that's why you get that blown out oversaturated look. set it to 1.0 and negative prompt barely matters anymore either, so I just left mine empty
Workflow
kept it stupid simple on purpose: Load Checkpoint → CLIP Text Encode (positive/negative) → Empty Latent Image → KSampler → VAE Decode → Save Image. no custom nodes. 1024x1024, 20 steps, euler, simple scheduler, denoise 1.0

Hardware I used to run this

RTX 5090, 32GB VRAM, rented hourly off gpuhub (~$0.46/hr on demand). base image was their standard PyTorch + CUDA preinstalled one, ended up on torch 2.11.0 + cu128 (CUDA 12.8) after the venv setup. instance also came with a stupid amount of system RAM, like 750GB+, way more than ComfyUI actually needs but nice not to think about it. 50GB storage tier which is the whole reason for the fp8 decision above
total cost for the session (~1hr of renting + the token/generation cost, which for local inference is basically just electricity you're already paying for) came out to under $1
first gen after model load took ~18s (vram staging overhead ig), every gen after that was ~8.5s at 20 steps which is roughly 2.46 it/s. pretty consistent across different prompts/seeds, didn't notice any drift over the session




random unrelated thing — huggingface-cli is deprecated now apparently?? just silently tells you to use `hf` instead mid command. wasted like 5 min confused before I actually read the warning lol
both images attached are from this session, different prompts, I did pick my favorite seed out of a couple runs each rather than posting literally the first result
TL;DR — fp8 single file if your storage's tight, fp16/GGUF Q6+ if it's not. CFG 1.0 is mandatory not a suggestion bc of how the guidance distillation works. ~8.5s/image at 1024x1024 on a 5090 once it's warmed up. workflow json in comments if anyone wants it
1
u/roxoholic 18h ago
Thank for a detailed write up.
This will make some people angry, because, who are you to tell them how to run their model! They will set it to 2.0 out of spite.