Nodes/ComfyUI/Flux.1 Fill Image
ComfyUI Node Runs on cloud

Flux.1 Fill Image

Flux.1 Fill via API

By Comfy-Org·Created 4 years ago·Updated 4 minutes ago· 129,910
Flux.1 Fill Image
  • image
  • mask
  • IMAGE
prompt
prompt_upsamplingfalse
guidance60.00
steps50
seed0

You've got a photo with a thing in it you want gone, replaced by something the prompt describes - and your GPU card is doing something else, or is too small, or you just don't want to babysit a 12B model. That's the pitch of Flux.1 Fill: the same inpainting model that shipped as open weights (FLUX.1 Fill dev) running on Black Forest Labs' servers, wrapped in a single node that's been in ComfyUI core since the May 2025 "API nodes" batch.

The catch, and it's a real one, is that this isn't a local node. It doesn't load a checkpoint into models/, it doesn't touch your VRAM, and it doesn't work until you're logged into a Comfy account with credits on it. Each run posts your image to Comfy's proxy at api.comfy.org, which forwards it to BFL, and you're billed per call out of those credits. There's no bring-your-own-key option - that's a long-running community complaint, so the node shows its price as a badge before you run it. If the whole "partner node" system is news to you, the mental model is: it's a paid remote GPU wrapped in a Comfy node, nothing more.

Mechanically it's one of the simpler ones. The node base64-encodes your image, resizes your mask to match the image dimensions, and sends both to /proxy/bfl/flux-pro-1.0-fill/generate. Then it polls a status endpoint every second or so - you'll see the percentage tick up in the node - until BFL says ready, and it downloads the finished PNG back into a normal IMAGE tensor. A few statuses you can hit and what they mean: request_moderated and content_moderated mean the safety filter stopped it, error means the generation failed, task_not_found is the API having lost your job. All three end the node with an error, not a half-image.

The inputs that matter:

  • image and mask - paint over what you want regenerated. The node resizes the mask to fit, so you don't need exact alignment.
  • prompt - what to draw in the masked region. Empty prompt does a legit plain fill-in, but you're paying for the call either way.
  • guidance (default 60) and steps (default 50) - these behave like the local Flux fill; the defaults are genuinely fine for most jobs.
  • prompt_upsampling - leave it off. It rewrites your prompt for "more creativity" and, per the tooltip, makes output nondeterministic even with a fixed seed.
  • seed - best-effort determinism only, BFL's servers aren't promising bit-identical reruns.

Output is a single IMAGE that you can wire straight into Save Image, or into any downstream node - it's already-decoded pixels, not a latent, so no VAE decode step. That trips people up who expect the usual KSampler dance.

The honest comparison: this is the API version of the same idea as local FLUX.1 Fill or any mask-inpaint workflow. It's the right tool when you want a one-shot, no-hallucination-into-the-unmasked-region edit and you're fine paying per call. For batch work, do the math on credits first - a chain of fills can eat a surprising number of them. But for the occasional "remove the photobomber and put a fountain there," it's hard to beat a node this stupid-simple.

Categorypartner/image/BFL

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
maskMASK
promptSTRINGPrompt for the image generation
prompt_upsamplingBOOLEANfalseWhether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result).
guidanceFLOAT60.001.5–100Guidance strength for the image generation process
stepsINT5015–50Number of steps for the image generation process
seedINT00–18446744073709550000The random seed used for creating the noise.

Outputs (1)

NameTypeDescription
IMAGEIMAGE