FLUX.1 Dev ComfyUI Errors: Missing Models, CUDA and Black Images

Illustration for the FLUX.1 Dev setup guide

When FLUX.1 [dev] fails in ComfyUI, identify the failing stage before replacing files or changing startup flags. This guide covers missing models, text-encoder mismatches, CUDA allocation failures and unusable output. For installation from scratch, use the separate local FLUX setup guide.

This is a diagnostic reference based on project documentation. The cover is an illustration; this page does not report private render counts, measured speedups or a tested fix on your GPU.

Visual guide: Diagnose a FLUX failure by its boundary

Diagnose a FLUX failure by its boundaryRead the failing node then Verify variant and encoders then Inspect sampling and latent then Check VAE and input image then Rerun and inspect the saved file. Editorial process diagram, not an execution screenshot.FLUXDRAW / VISUAL WORKFLOW1Read the failing node2Verify variant and encoders3Inspect sampling and latent4Check VAE and input image5Rerun and inspect the saved fileExplanatory map / not a benchmark or test result
Original FluxDraw explanatory map. Follow the stages with the checks below; the map is not a screenshot, a measured result or an executable workflow.

How to use this map

  1. Copy the full error before replacing model files. Missing input, incompatible loader and CUDA allocation failure require different checks.
  2. For black output, compare the selected variant, source image, latent path and VAE with a matching minimal example. A dark preview by itself does not reveal the cause.
  3. Remove optional LoRA and custom branches from a saved copy of the graph, then rerun one small job. Preserve the original failure so the comparison is meaningful.
  4. Check the actual saved image at full size. A completed queue and timing labels demonstrate execution progress, not necessarily usable pixels or a verified repair.

Stop and check: The FLUX Fill screenshot added here is a related black-output example, not a FLUX.1 dev benchmark or proof that a particular fix works.

Next practical guides: Run FLUX Locally in ComfyUI: Model Files and First Image · ComfyUI Queue Errors: Stuck Prompts and Missing Nodes

Implementation reference: Official ComfyUI FLUX setup. Use the matching version-specific example alongside this editorial map.

Firsthand example: a nearly black FLUX Fill output

ComfyUI FLUX Fill workflow with a GGUF loader and nearly black input and output previews
Original ComfyUI screenshot from 1 September 2026. This is a FLUX Fill graph with a GGUF loader, sampler, VAE and almost black source/output previews. It is a related diagnostic example, not a FLUX.1 dev benchmark or a demonstrated repair.

The screenshot shows why a dark output should not immediately be labelled a CUDA memory error: a source preview is also almost black, and execution timings are visible. Those observations narrow what to inspect, but they do not establish the cause. The selected model is a Fill variant, so use a Fill-compatible example when reproducing this particular graph.

  1. Open the actual input file outside ComfyUI and check whether it is already dark. Record dimensions and the intended edit region.
  2. Inspect the latent input and any mask handling against the matching Fill workflow. Do not infer mask correctness from the node name alone.
  3. Check the selected VAE and loader compatibility, then compare one minimal run without optional branches.
  4. Open the saved output outside the canvas. Only a recorded rerun with usable output can establish that a change repaired the failure.

No successful follow-up run is established by this screenshot, and these checks should not be presented as a proven fix.

Start with the error boundary

Where it stopsInspect firstNext useful check
Before a job enters the queueValidation message and red nodeRequired inputs, selected filenames and missing node types
During model loadingLoader and full console tracebackFile format, complete download and available RAM/VRAM
During text encodingCLIP-L/T5 selection and model typeMatch encoders to the supplied graph
During samplingSampler, model variant and custom modificationsReturn to the matching official example
During decode or saveVAE, output dimensions and save pathIsolate decode memory from sampling memory

Copy the first meaningful exception and the node it names. The final “execution failed” line may describe the consequence rather than the cause. Keep the original error text when you make a change so you can tell whether the failure moved.

Missing model or text encoder

The official ComfyUI FLUX examples distinguish the regular separate-file model from an integrated FP8 checkpoint. Regular FLUX dev uses diffusion weights, CLIP-L, T5 and an autoencoder. The checkpoint example uses a different loader. Choose one layout and follow its graph.

  1. Open the loader that fails and note the exact requested file.
  2. Check the file exists locally, is fully downloaded and is not an HTML download-error page.
  3. Use the directory expected by that loader. For the regular graph, diffusion weights go in models/diffusion_models/, encoders in models/text_encoders/ and the autoencoder in models/vae/.
  4. Refresh the model list or restart ComfyUI, then select the file actually installed.
  5. Run the unmodified matching graph before adding a LoRA, ControlNet or cache node.

Renaming a file cannot convert its architecture. A GGUF file also needs a compatible GGUF loader; changing its extension to safetensors will not make it work.

CLIP or conditioning mismatch

If the error mentions tensor dimensions or encoder types, compare the graph with its source example. Check the dual-encoder selection, model type and conditioning path. An SDXL graph is not a FLUX graph merely because its sockets can be connected.

Make a copy of the failing workflow and remove optional branches there. Use one short positive prompt and keep the example’s guidance and sampling choices. Reintroduce components one at a time only after this baseline completes.

Do not confuse guidance controls

Sampler CFG and a FLUX guidance node are separate settings. The integrated FP8 checkpoint example explicitly uses sampler CFG 1.0. Follow the exact model example rather than copying a CFG number from an SDXL tutorial or assuming all FLUX variants use identical settings.

CUDA out of memory: loading, encoding, sampling or decoding?

First note the failing node and output size. Memory allocated by another process, image batch size and multiple loaded models can all change the available headroom. Do not diagnose from GPU capacity alone.

  1. Keep batch size at one and close applications actively using the GPU.
  2. Retry the plain example at a smaller output size.
  3. If it fails while loading, check weight precision and whether the chosen graph includes extra models.
  4. If T5 encoding fails, inspect the text-encoder variant and available system memory as well as VRAM.
  5. If sampling completes but decode fails, test a smaller output or a supported tiled decoder while keeping other settings fixed.
  6. Record whether each change completes and what stage fails next.

Offloading trades GPU memory for transfers and system-memory pressure. Quantization changes the loaded representation and can affect quality. Neither guarantees compatibility or a particular speed. See the 6GB troubleshooting plan for constrained hardware and the FLUX optimization guide for measuring a working graph.

Black images, NaNs or distorted output

Save the console error and check that sampling actually completed. Verify the autoencoder and checkpoint variant, then restore the example’s precision and sampler choices. Disable optional acceleration changes in a copy of the graph. A corrupted output after a new custom node is a reason to isolate that node, not proof the base model is broken.

If the plain graph works, add one modification and run again with the same input. If it fails again, retain both workflow files and outputs. This pair is more useful for debugging than a screenshot of the last image alone.

The queue finishes but no image appears

Check that the final decoded image reaches Save Image or a preview node. Inspect the output directory and execution record. For API use, receiving a prompt ID means the job was submitted; retrieve the completed history entry and its image metadata. Follow the ComfyUI Python API guide for that separate workflow.

What belongs in a useful bug report

Provide the full error, failing node, ComfyUI version, installation type, GPU, RAM, model filenames, workflow and the smallest prompt that reproduces the problem. List recent changes and say whether the official graph works. Remove tokens, private images and personal paths where necessary.

Check the FLUX.1 dev model card for model limitations and licensing. The terms governing model use and generated outputs are distinct; review them for your intended use.

A fix is verified only after another run

Keep a short record: original error → one change → rerun result. A graph opening without red nodes proves it loaded, while a saved image proves a later stage completed. If the job now fails at decode, report that narrower result instead of calling the entire workflow fixed.

For broader validation and missing-node problems, use ComfyUI queue troubleshooting.