Nodes/ComfyUI-FLUX-BFL-API/Flux Pro Fill Finetune (BFL)
ComfyUI Node

Flux Pro Fill Finetune (BFL)

Inpainting with a model that learned your style — Flux Pro Fill Finetune

By gelasdev·Created 2 years ago·Updated 26 days ago· 49
Flux Pro Fill Finetune (BFL)
  • config
  • IMAGE
finetune_idmy-finetune
image
finetune_strength1.10
steps50
prompt_upsamplingfalse
guidance60.00
safety_tolerance2
output_formatjpeg
mask
prompt
seed-1
webhook_url
webhook_secret

If you've trained a BFL finetune on your own style - product shots, a character, an art direction - the last thing you want is for inpainting to hand that back to a generic model. Flux Pro Fill Finetune is the inpainting variant of BFL's finetuned models: same fill/edit pipeline as plain Flux Pro Fill, but generation happens through your finetune instead of the stock one.

It's the finetune counterpart to this pack's Flux Pro Fill node, living in the same ComfyUI-FLUX-BFL-API pack from gelasdev. The use case is specific and genuinely nice when it clicks: you built a model that knows your look, and now you can edit images in that look - redraw an element, extend a composition, fix a detail - rather than breaking consistency by filling with the base model.

How it works

The plumbing is Flux Pro Fill's, not Ultra's. That means the endpoint is flux-pro-1.0-fill-finetuned and, critically, your image and mask are base64 strings, so you route them through the pack's Image to Base64 (BFL) node. Steps and guidance exist here just like the plain Fill node - this is a full diffusion run, not a quick edit.

One mechanism difference worth knowing: unlike the Ultra Finetune node, which hard-codes a regional endpoint path, Fill Finetune runs through the standard generate path but still respects a regional setting if you've set it on a connected Flux Config (BFL) node. Finetune jobs are region-bound on BFL's side, so matching your region in config is still the safe move.

The inputs that matter

  • finetune_id - your trained model's ID from BFL (the dashboard or the pack's Flux My Finetunes node). The "my-finetune" default is a placeholder.
  • image - base64 of the image you're editing. From Image to Base64 (BFL).
  • finetune_strength - how strongly your finetune's look drives the fill, 0.1 to 2, default 1.1. Keep it near default; this is the knob that keeps the edit consistent with the rest of the image.
  • steps (15–50, default 50) and guidance (1.5–100, default 60) - same as plain Fill; the edit-quality controls.
  • mask (optional) - base64 mask of the region to regenerate. Leave it empty and the model treats the whole image as editable.
  • prompt (optional) - what goes into the masked area. Empty is fine; the finetune does a lot of the steering itself.

Plus the usual safety_tolerance (0–6, default 2), output_format (jpeg/png), seed (-1 = random), webhook fields, and config. Output is a single IMAGE.

Installing

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/gelasdev/ComfyUI-FLUX-BFL-API.git
pip install -r requirements.txt

Restart ComfyUI, add your key from api.bfl.ai - ideally through a Flux Config (BFL) node into config so the key and region survive updates - and connect the Image to Base64 node for both image and mask.

Common issues

The usual blank-black-frame failure mode applies, and it's easier to hit here: wrong finetune_id, a finetune that isn't finished training, or a missing region all end in that 512×512 nothing. The [BFL] console lines are the diagnosis.

The mask gotcha from plain Fill carries over: if the mask comes through empty, the node warns and proceeds without it, turning a targeted inpaint into a whole-image edit. Check the Image to Base64 wiring first. And two reminders that are easy to forget: png for the mask format (lossless beats jpeg's edge-eating compression), and don't run this without a real finetune - it's built for models you already trained, not for one-off experiments.

CategoryBFL/Finetune

Inputs (14)

NameTypeDefaultDescription
finetune_idSTRINGmy-finetune
imageSTRING
finetune_strengthFLOAT1.100.1–2
stepsINT5015–50
prompt_upsamplingBOOLEANfalse
guidanceFLOAT60.001.5–100
safety_toleranceINT20–6
output_formatCOMBOjpeg2 options: jpeg, png
maskoptSTRING
promptoptSTRING
seedoptINT-1
webhook_urloptSTRING
webhook_secretoptSTRING
configoptBFL_CONFIG

Outputs (1)

NameTypeDescription
IMAGEIMAGE