Two-minute triage
- Save the output and open it outside ComfyUI to rule out a preview/display issue.
- Search the console for
NaN, VAE, safetensors, missing file and CUDA OOM messages. - Drag an official ComfyUI FLUX example image into the UI to load its embedded workflow.
- Select the documented diffusion model, both text encoders and the FLUX VAE; do not reuse an SDXL VAE.
- Run the official dimensions and settings before adding LoRAs, ControlNets, custom samplers or upscalers.
Match each file to the correct loader
| Component | Official example location | Typical mistake |
|---|---|---|
flux1-dev.safetensors or flux1-schnell.safetensors | ComfyUI/models/diffusion_models/ for the regular full workflow | Loading it as an all-in-one checkpoint. |
clip_l.safetensors | ComfyUI/models/text_encoders/ | Missing one of the dual text encoders. |
t5xxl_fp16.safetensors or documented FP8 alternative | ComfyUI/models/text_encoders/ | Using a file from an unrelated workflow family. |
ae.safetensors (FLUX VAE) | ComfyUI/models/vae/ | Reusing an SD/SDXL VAE or selecting no VAE. |
| Easy-to-use FP8 checkpoint variant | ComfyUI/models/checkpoints/ with the regular checkpoint loader | Combining the checkpoint workflow with separate full-model loaders. |
ComfyUI’s official FLUX examples remain the authority for current filenames, links and workflow layout; verify them when versions change.
If the log contains NaN
NaN means a computation became non-finite. First record whether the earliest warning occurs during sampling or VAE decode. Restore the official workflow’s model, VAE, precision and settings as one known-good baseline. Then change only one precision or model variant at a time.
- NaN during VAE decode: verify the FLUX VAE and test the official VAE decode path.
- NaN during sampling: remove custom sampler/precision changes and reproduce with the official workflow.
- NaN plus OOM: solve the memory failure first; a half-completed cascade is not a valid precision test.
If there is no NaN or error
Compare the saved pixel values in another image viewer. Then simplify the graph:
- Official model and workflow only.
- No LoRA, ControlNet, custom nodes, post-processing or upscaling.
- Official example dimensions and seed behavior.
- Correct model-family loader and VAE.
- CFG appropriate to the selected official variant; the official easy FP8 checkpoint example calls out CFG 1.0.
If the baseline works, reintroduce one node group at a time. The first change that recreates black output is stronger evidence than changing five settings together.
Low-memory FLUX path
The official examples provide FP8 diffusion/checkpoint and T5 alternatives for lower memory use and warn that quality can be slightly reduced. This is preferable to inventing undocumented loader combinations. Also apply the general ComfyUI steps: batch 1, lower dimensions, previews off when relevant, and supported low-VRAM/offload options.
Verification checklist
- The official baseline saves a visible image twice.
- The diffusion model, text encoders and VAE filenames are recorded.
- The workflow uses either the regular component layout or the all-in-one checkpoint path—not an accidental hybrid.
- The console has no NaN, OOM, missing-file or safetensors error.
- Each optional node group is restored separately.