Nodes/SpicyAPI/FLUX.1 Dev LoRA · Image Editing
ComfyUI Node

FLUX.1 Dev LoRA · Image Editing

The revival act, with a mask that actually works

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
FLUX.1 Dev LoRA · Image Editing
  • image_url
  • mask_url
  • loras
  • images
  • task id
◄prompt►
◄strength0.80►
◄guidance_scale3.5►
◄steps28►
◄output_formatjpeg►
◄seed0►

FLUX.1 [dev] is a 2024 model that spent 2026 losing jobs to four different successors - Z-Image for photorealism, Qwen-Image for busy scenes, Klein and Qwen-Image-Edit for editing. What it still has is the LoRA ecosystem, thousands of community adaptations trained against its 12B architecture, plus one thing most hosted editors don't offer: a mask input. This node runs Dev as an image editing endpoint with up to three LoRA files and an optional black-and-white mask, $0.018 an image.

The two genuinely useful powers

Masked editing. mask_url takes a mask the same size as your source: white areas are redrawn, black areas are kept pixel-for-pixel. That's a real inpainting control, and it's the difference between "restyle the whole photo and hope the face survives" and "change the jacket, leave the face alone". Hosted editors usually give you a prompt and take the whole image; this one doesn't.

Your LoRAs on Dev. Dev has the mature LoRA library, and its documented niche is precisely the kind of LoRA people actually train: a single-subject LoRA on a scrappy dataset. Dev tolerates a dirty dataset where a base model would fight you, and collapses past about three subjects - a good thing to know before blaming the endpoint.

Both of those come with a caveat worth saying out loud: FLUX.1 [dev] weights are non-commercial, and its T5 text encoder carries the censorship quirks that were the meme of its launch year. If you're planning commercial work or fighting refusals all day, Z-Image and Chroma-style options are the better roads.

The inputs

  • prompt - describe the whole image you want back. With a mask, describe what belongs in the white area.
  • image_url - the source; the result keeps its shape.
  • strength - 0 to 1, default 0.8. How far it's allowed to travel from the source. With a mask, lower usually looks better.
  • guidance_scale - 0 to 20, default 3.5. That's the classic Flux Dev value; if you've tuned Flux locally, this will feel like home.
  • steps - 1 to 50, default 28. Fewer steps return faster and a little softer - which is a fair description of the whole tradeoff.
  • output_format - jpeg (default), png or webp.
  • seed.
  • Optional mask_url - black and white, matched to the source size.
  • Optional loras - a SPICY_LORAS socket fed by a SpicyAPI LoRA node: a direct .safetensors link and a strength, chainable, three maximum. The link has to open without a login.

Outputs: images (IMAGE) and task id (STRING, the SpicyAPI task id for support).

Install

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

Manager → search SpicyAPI. Restart, then Settings > SpicyAPI → paste a key from spicyapi.ai/console/keys, and restart once more so the node list comes from your account. SPICY_API_KEY on servers. No model files, no pip dependencies - the pack's list is empty; Python 3.10+, V3 node API, tested with ComfyUI 0.39.

Practical notes

$0.018 an image means sweeping strength and guidance values is genuinely affordable - do that before you blame the LoRA. Set Max cost per run anyway; it's the ceiling that keeps a stray large queue from surprising you, and the pack quotes before submitting. Seeds default to fixed, so re-queueing the same graph reuses the cached image instead of charging again. Mask mismatches are the classic self-inflicted error: the mask must be the size of the source, or the model's redraw lands somewhere you didn't intend.

CategorySpicyAPI/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.
lorasoptSPICY_LORASUp to three LoRA weight files, each with its own strength.

Outputs (2)

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