Fal API Flux with LoRA and ControlNet Inpaint
ComfyUI Node Guide
- image
- mask_image
- lora_1
- lora_2
- lora_3
- lora_4
- lora_5
- controlnet
- controlnet_union
- IMAGE
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_1–lora_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.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| width | INT | 1024 | — |
| height | INT | 1024 | — |
| num_inference_steps | INT | 281–100 | — |
| guidance_scale | FLOAT | 3.500.1–40 | — |
| num_images | INT | 11–4 | — |
| enable_safety_checker | BOOLEAN | true | — |
| image | IMAGE | — | |
| strength | FLOAT | 0.800–1 | — |
| mask_image | IMAGE | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| lora_1opt | LORA_CONFIG | — | |
| lora_2opt | LORA_CONFIG | — | |
| lora_3opt | LORA_CONFIG | — | |
| lora_4opt | LORA_CONFIG | — | |
| lora_5opt | LORA_CONFIG | — | |
| controlnetopt | CONTROLNET_CONFIG | — | |
| controlnet_unionopt | CONTROLNET_UNION_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |