Fal API Flux ControlNet Config
ComfyUI Node Guide
- control_image
- CONTROLNET_CONFIG
Read this one before you drag it onto your canvas and just run it, because its default path value will burn a few generations if you don't. This node's only job is describing a single-condition ControlNet for one of the LoRA-and-ControlNet Dev nodes elsewhere in this pack - it doesn't generate an image, it packages path, control_image, and conditioning_scale into a CONTROLNET_CONFIG output. And the path field ships pre-filled with lllyasviel/sd-controlnet-canny.
That default is a Stable Diffusion 1.5 ControlNet. Flux doesn't run on the same architecture SD1.5 does - Flux is a diffusion transformer, and ControlNet on a DiT is reimplemented against attention layers rather than wrapped around a UNet encoder the way SD1.5's ControlNets are built. No SD-era ControlNet checkpoint loads on a Flux base, full stop. So if you leave path untouched, you're not getting weak conditioning or a warning - you're pointing this node at a file that structurally cannot run against FLUX.1 [dev], and the most likely outcome is a hard error or a call that just fails silently upstream. Swap it before you do anything else: point it at an actual Flux-compatible ControlNet repository instead - something published under an org like InstantX, Shakker-Labs, or XLabs that specifically targets Flux, or use this pack's own ControlNet Union Config node, whose default already points at a real Flux union checkpoint.
Inputs. path (string, see above - replace the default) is the HuggingFace repo or file path fal's backend loads the ControlNet from. control_image (required) is your structural reference - an edge map, depth map, or whatever condition your chosen ControlNet was trained on; this node handles exactly one condition type per instance, unlike the Union variant. conditioning_scale runs 0.1–2, default 1 - but 1.0 is an SD1.5-era default carried over into this node's schema, and modern Flux-era union ControlNets typically publish recommended scales well below that, often in the 0.65–0.9 range depending on condition. Treat 1.0 as a starting point to dial down from, not a value to trust blindly. Two optional string fields, config_url and variant, let you point at an alternate config file or a specific model variant (like an fp16 build) if the repo you're using publishes one.
Output is CONTROLNET_CONFIG, which plugs into the controlnet input on any of this pack's LoRA-and-ControlNet Dev nodes.
Installing it. Standard for the pack: ComfyUI Manager (search "ComfyUI-Fal-API-Flux") or a manual clone of https://github.com/yhayano-ponotech/ComfyUI-Fal-API-Flux.git plus pip install -r requirements.txt. It's a config node, so it makes no API call itself, but the generation node it feeds into still needs the pack's config.ini ([falai] section, api_key) to run.
Troubleshooting. If a ControlNet-guided generation seems to have zero effect, check path first, before touching conditioning_scale or anything else - an incompatible or mistyped repo path is the single most likely reason this node produces nothing. If it's producing an effect but a weak or overpowering one, that's conditioning_scale, adjusted in small steps from whatever the ControlNet's own model card recommends.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| path | STRING | lllyasviel/sd-controlnet-canny | — |
| control_image | IMAGE | — | |
| conditioning_scale | FLOAT | 1.00.1–2 | — |
| config_urlopt | STRING | — | |
| variantopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONTROLNET_CONFIG | CONTROLNET_CONFIG | — |