Nodes/ComfyUI-fal-API/Flux Pro 1 Fill (fal)
ComfyUI Node

Flux Pro 1 Fill (fal)

The Flux inpainting endpoint, mask and all

By gokayfem·Created 2 years ago·Updated a day ago· 201
Flux Pro 1 Fill (fal)
  • image
  • mask_image
  • IMAGE
prompt
num_images1
safety_tolerance2
output_formatpng
seed-1
sync_modefalse
enhance_prompttrue

This is Flux's inpainting model, run over the API. FLUX.1 Fill is the purpose-built fill/outpaint checkpoint from BFL - notably, the last dedicated open inpainting model the space produced, still the reference for masked editing well into 2026. FluxPro1Fill_fal calls fal's Fill endpoint: you give it an image, a mask, and a prompt describing what belongs in the masked region, and it regenerates only that area, compositing the result back so everything outside the mask stays pixel-for-pixel intact.

That "touches nothing else" guarantee is the whole reason to reach for inpainting in 2026. Instruction-editing models (Kontext, Qwen-Image-Edit) will change a garment or remove an object from a sentence with no mask - but they re-emit the entire frame, so unmasked pixels drift a little and degrade over a chain of edits. Masked fill doesn't. When you need the rest of the picture to stay exactly as it was, this is the tool.

The inputs that matter

  • prompt - describe what should fill the masked region, not the whole scene.
  • image - the picture you're editing.
  • mask_image - the mask marking the region to regenerate. This is the input that makes it inpainting rather than plain generation.

Both image and mask_image are technically optional in the schema, but you want both for actual fill work. The rest: num_images, output_format (png/jpeg), safety_tolerance (1–6), seed, sync_mode, and enhance_prompt - an LLM rewrite that expands your prompt (handy for terse instructions, turn it off if you want literal control). One IMAGE output.

How it works

No model runs locally; fal hosts Fill. The node uploads image + mask + prompt, fal regenerates the masked pixels conditioned on your text and the surrounding context, and the composited result comes back as a native ComfyUI image. Because Fill is a Pro-tier endpoint, you don't get steps/guidance sliders - it's a managed pipeline.

Installing it

ComfyUI Manager → search ComfyUI-fal-API → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
pip install -r ComfyUI-fal-API/requirements.txt

No weights to fetch. Set your key (config.ini or export FAL_KEY=your_key; fal.ai/dashboard/keys), restart, find it under FAL.

Where people get burned

The mask is where inpainting lives or dies, and its polarity is the classic gotcha: make sure the region you want regenerated is the part the endpoint treats as the fill area. If your edit lands on the wrong half of the image, your mask is inverted - flip it. A mask that's too tight also fights you: leave a little feather/margin so the new content blends instead of showing a hard seam.

enhance_prompt is on by default and can quietly reinterpret a precise instruction into something fancier; switch it off when you want the model to do exactly what you typed and nothing more. And the usual API notes: it's a paid call per run, the result cache spares identical repeats, and a refused or malformed request comes back as a readable fal error rather than a blank.

CategoryFAL/Image

Inputs (9)

NameTypeDefaultDescription
promptSTRING
num_imagesINT11–10
safety_toleranceCOMBO26 options: 1, 2, 3, 4, 5, 6
output_formatCOMBOpng2 options: png, jpeg
imageoptIMAGE
mask_imageoptIMAGE
seedoptINT-1
sync_modeoptBOOLEANfalse
enhance_promptoptBOOLEANtrue

Outputs (1)

NameTypeDescription
IMAGEIMAGE