Home/Error Wiki/FLUX black output
ComfyUI / FLUX / VAE

FLUX generates a black image in ComfyUI

Start from an official FLUX workflow and verify the file family, loader and VAE together. A black result with NaN warnings follows a different path from a clean run that saves a zero-looking image.

Evidence reviewed 2026-08-01. This page is ad-free while the error wiki is under quality review.

Two-minute triage

  1. Save the output and open it outside ComfyUI to rule out a preview/display issue.
  2. Search the console for NaN, VAE, safetensors, missing file and CUDA OOM messages.
  3. Drag an official ComfyUI FLUX example image into the UI to load its embedded workflow.
  4. Select the documented diffusion model, both text encoders and the FLUX VAE; do not reuse an SDXL VAE.
  5. Run the official dimensions and settings before adding LoRAs, ControlNets, custom samplers or upscalers.

Classify the console log locally →

Match each file to the correct loader

ComponentOfficial example locationTypical mistake
flux1-dev.safetensors or flux1-schnell.safetensorsComfyUI/models/diffusion_models/ for the regular full workflowLoading it as an all-in-one checkpoint.
clip_l.safetensorsComfyUI/models/text_encoders/Missing one of the dual text encoders.
t5xxl_fp16.safetensors or documented FP8 alternativeComfyUI/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 variantComfyUI/models/checkpoints/ with the regular checkpoint loaderCombining 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:

  1. Official model and workflow only.
  2. No LoRA, ControlNet, custom nodes, post-processing or upscaling.
  3. Official example dimensions and seed behavior.
  4. Correct model-family loader and VAE.
  5. 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.

Screen FLUX pressure before scaling dimensions →

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.

Primary sources