Nodes/PopNow/FLUX.1 Dev LoRA · Edit
ComfyUI Node

FLUX.1 Dev LoRA · Edit

Masked inpainting, or just img2img with taste

By popnow-ai·Created 24 days ago·Updated about 15 hours ago· 0
FLUX.1 Dev LoRA · Edit
  • image_url
  • mask_url
  • loras
  • images
  • task id
◄prompt►
◄strength0.80►
◄guidance_scale3.5►
◄steps28►
◄output_formatjpeg►
◄seed0►

One node, two jobs. Connect an image and a prompt and you get a restyle at whatever strength you settled on. Connect a mask as well and the white areas get repainted and the black areas survive untouched. That's the whole node, and at 2.7 credits an image it's a cheap way to run a FLUX.1 Dev pass on a photo you can't keep on your own GPU.

The masked path, and why it's not Fill

FLUX.1 Dev wasn't trained for inpainting. FLUX.1 Fill dev was - it's the only open checkpoint trained specifically for it, per the KB's inpainting history, and the difference shows at the edges: Fill blends context better, Dev at high strength tends to redraw more than you asked for.

So treat the optional mask_url here as a budget inpainting tool rather than a precision one. White is redrawn, black is kept, and the mask is expected to be the size of the source. For "swap this jacket" or "remove that sign", it's fine. For "repaint this fraction of a product shot and keep every specular highlight", reach for the FLUX.1 Fill Dev LoRA node in the same pack instead.

Without a mask, this is straight img2img and honestly where most people will live: keep a photo's structure, change its whole mood.

The dials

strength is the important one - 0 to 1, default 0.8, "how far to move away from the source". At 0.4 you get a grade; at 0.6 a restyle that still reads as the original photo; at 0.8 and above you're mostly generating something new that rhymes with the input. With a mask connected, strength decides how freely the masked area is reinterpreted.

guidance_scale defaults to 3.5, range 0-20. Important: FLUX.1 Dev is guidance-distilled, so this is not CFG and there is no negative prompt anywhere on the node. If you're coming from an SDXL inpaint workflow and hunting for the negative field, it isn't missing - that mechanism was distilled out of the model.

steps is 1-50, default 28. The local baseline for Dev is 20-30 steps; below that the result is a touch softer, above it mostly slower.

prompt should describe the whole image you want back, or with a mask, what belongs in the white area - in the light and style of everything around it.

output_format gives jpeg, png or webp. seed starts fixed.

And loras: up to three weight files trained for FLUX.1 dev, each with its own strength, via a PopNow LoRA node. The source can be a .safetensors in ComfyUI/models/loras (uploaded once, cached 12 hours), a Hugging Face repo id or page, a Civitai page, or a direct https:// link; gated files read HF_TOKEN or CIVITAI_API_KEY from the environment. Given how little of the FLUX.2 era got LoRA support from trainers, a Dev edit pass with your existing FLUX.1 LoRAs is a genuinely practical combination - that library is deep.

What happens when you queue

The node is generated from black-forest-labs/flux-1-dev-lora/edit's published schema. On run it uploads your image and mask to popnow:// file URIs, quotes the job before holding credits, submits under an idempotency key (so a network retry can't double-bill), polls, then decodes the result into an IMAGE batch and returns task id alongside. A batch connected to image_url is a batch of edits - the node splits it and sends the pictures; for the single image this model takes, only the first is used, so feed it one at a time if ordering matters.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui

Or install PopNow through ComfyUI Manager and restart. Key at popnow.ai/api/console/keys → Settings > PopNow or POPNOW_API_KEY → restart once more. No model download, no GPU, no dependencies.

Where people get burned

Mask conventions are the usual one: white gets painted, black is preserved, and the mask must match the source's dimensions. Load Image + a mask from a segmentation node is the normal wiring; a mask half the size of the image produces garbage, not a helpful error.

Then strength. People set 0.3 hoping for "tiny tweak" and get an identical image with slightly different noise, then jump to 0.95 and lose the subject. Work up in 0.1s.

Finally, remember what leaves your machine. The image, the mask and the prompt all go to PopNow, and FLUX.1 Dev's own filters apply. That's the trade for not owning a 12B checkpoint.

CategoryPopNow/Image/Black Forest Labs

Inputs (9)

NameTypeDefaultDescription
promptSTRINGDescribe the whole image you want back; with a mask, describe what belongs in the white area.
image_urlIMAGESource image to edit. The result keeps its shape.
strengthFLOAT0.800–1How far to move away from the source, from 0 to 1.
guidance_scaleFLOAT3.50–20How closely the image follows the prompt, from 0 to 20.
stepsINT281–50Denoising steps, from 1 to 50. Fewer steps return faster and a little softer.
output_formatCOMBOjpegContainer of the returned image.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.
mask_urloptIMAGEOptional black-and-white mask the size of the source: white areas are redrawn, black areas are kept.
lorasoptPOPNOW_LORASUp to three LoRA weight files, each with its own strength.

Outputs (2)

NameTypeDescription
imagesIMAGE—
task idSTRINGThe PopNow task id, for the API console logs or support.