Nodes/ComfyUI-Fal-API-Flux/Fal API Flux with LoRA and ControlNet Inpaint
ComfyUI Node

Fal API Flux with LoRA and ControlNet Inpaint

ComfyUI Node Guide

By yhayano-ponotech·Created 2 years ago·Updated 2 years ago· 57
Fal API Flux with LoRA and ControlNet Inpaint
  • image
  • mask_image
  • lora_1
  • lora_2
  • lora_3
  • lora_4
  • lora_5
  • controlnet
  • controlnet_union
  • IMAGE
prompt
width1024
height1024
num_inference_steps28
guidance_scale3.50
num_images1
enable_safety_checkertrue
strength0.80
seed0

This is the deepest node in the whole pack: FLUX.1 [dev], up to five LoRAs, up to two ControlNet conditions, and a mask - inpainting a specific region while a trained style and structural guidance both steer what fills it in. There's no equivalent combination anywhere else in this pack; if you need all of that at once, this is the only node that has every socket for it.

Inpainting-specific inputs: image (the source, required), mask_image (required), and strength (0–1, default 0.8), which governs how much the model is allowed to diverge from the original content inside the masked region - the schema doesn't state mask polarity explicitly, but white-marks-the-area-to-regenerate is the standard ComfyUI convention and the reasonable first guess; if a test run comes back inverted from what you wanted, just flip the mask rather than assuming something's misconfigured.

ControlNet inputs: controlnet (a CONTROLNET_CONFIG) and controlnet_union (a CONTROLNET_UNION_CONFIG), each fed by its own dedicated config node elsewhere in the pack, each carrying its own control_image internally - that's why this node's control input isn't a plain image socket. Both are optional and independent, so you can inpaint with no ControlNet at all, one, or both together. Worth remembering when the result surprises you: with a mask, a strength value, and a ControlNet's own conditioning_scale all pulling on the same masked region, there are three separate dials fighting over how much the fill actually changes, not one.

Generation controls match the rest of the family: prompt (a sentence, not a tag list - Flux's T5 encoder wants natural language), width/height (1024 default, step 8), num_inference_steps (28 default, 1–100), guidance_scale (3.5 default, 0.1–40), num_images (1–4), enable_safety_checker, optional seed, and lora_1lora_5 for stacked LoRA configs.

Output is IMAGE.

Installing it. No node-specific setup beyond the rest of the pack: ComfyUI Manager, search "ComfyUI-Fal-API-Flux," or a manual clone of https://github.com/yhayano-ponotech/ComfyUI-Fal-API-Flux.git (the README's own example command has a placeholder repo owner in it - use the real link) followed by pip install -r requirements.txt. Then, without which nothing in this pack does anything at all, a config.ini file in the pack's folder carrying [falai] and your api_key.

Debug this one in layers. Given how many things can go wrong at once here, don't wire the full graph and hope. Confirm plain inpainting works first with image, mask_image, and strength alone, add LoRA next and check it's visibly doing something, then bring in one ControlNet config and verify its effect before adding a second. If the ControlNet portion seems inert regardless of conditioning_scale, check the config node's path field directly - the plain "ControlNet Config" node in this pack (as opposed to the Union variant) ships with a default that isn't actually built for Flux, and an unedited default there produces no visible effect no matter what else you tune.

Categoryimage generation

Inputs (18)

NameTypeDefaultDescription
promptSTRING
widthINT1024
heightINT1024
num_inference_stepsINT281–100
guidance_scaleFLOAT3.500.1–40
num_imagesINT11–4
enable_safety_checkerBOOLEANtrue
imageIMAGE
strengthFLOAT0.800–1
mask_imageIMAGE
seedoptINT00–18446744073709550000
lora_1optLORA_CONFIG
lora_2optLORA_CONFIG
lora_3optLORA_CONFIG
lora_4optLORA_CONFIG
lora_5optLORA_CONFIG
controlnetoptCONTROLNET_CONFIG
controlnet_unionoptCONTROLNET_UNION_CONFIG

Outputs (1)

NameTypeDescription
IMAGEIMAGE