Flux 2 Klein 4B (BFL)
The Apache-2.0 Flux 2, over the API — with the licenses and hardware taken care of
- config
- IMAGE
Flux 2 Klein 4B (BFL) is the little Apache-2.0 sibling in the Flux 2 family, and through this node it's available without a single local download. Klein is BFL's size-distilled consumer variant of Flux 2 - the 4B model is the one that's fully open-weights (Apache 2.0, the only commercially-usable Flux 2 checkpoint), famously small enough to run in roughly 13GB of VRAM locally. The irony: this node lets you run it without even the 13GB, because the compute happens on BFL's servers.
So who's this node actually for? Two groups. First, the person with a weak GPU who wants Klein 4B's quality without the local install - the same pitch as every node in the pack. Second, and more interestingly, the person who wants the commercial model but wants BFL to handle it: on the API you get the same model as the open weights, with the licensing question moot because you're renting inference, not redistributing weights.
How it works
Standard pack flow: prompt, optionally up to four base64 reference images (Klein is the smaller model - it tops out at four, where the bigger tiers take eight), POST to flux-2-klein-4b, poll get_result?id=..., return an IMAGE. It's the Klein treatment of the same multi-reference generation-and-editing concept Flux 2 is known for, scaled to the small model.
The inputs that matter
- prompt - the description.
- input_image … input_image_4 - up to four references, base64 from Image to Base64 (BFL). This is the character/object consistency move, Klein edition.
- width / height - optional (≥64), default lets BFL decide.
- safety_tolerance - 0–5, default 2. Moderation; Flux 2's filtering is in the weights, this just sets tolerance.
- output_format - jpeg (default) or png.
- Optional seed, webhook_url/secret, config.
Installing it
One pack, one install, no model files:
cd ComfyUI/custom_nodes
git clone https://github.com/gelasdev/ComfyUI-FLUX-BFL-API.git
Restart, key in config.ini or via Flux Config (BFL). Only dependency is torch, already in ComfyUI.
Where people get burned
- Paying for what you could run free. If you have the ~13GB of VRAM, Klein 4B locally is Apache 2.0 and uncensored (relative to the API) - the API version is metered and moderated. This node is the right call for weak hardware or for commercial licensing convenience, not a replacement for local Klein if you can run it.
- Expecting the 9B's quality. Klein 4B is the budget tier of the family. Fine for concept work, softer on hard details than the 9B. Don't blame the node.
- Black output. The pack's universal failure tell - moderation, API error, or poll timeout.
[BFL]logs print a curl equivalent per call; replay it to see the raw API response.
The honest framing: Klein 4B via API is a convenience product, not a capability unlock - the model is genuinely open-weights and genuinely small. Where it shines is the 4GB-GPU laptop owner or the company that wants a commercially-usable Flux 2 tier without hosting anything.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| safety_tolerance | INT | 20–5 | — |
| output_format | COMBO | jpeg | 2 options: jpeg, png |
| input_imageopt | STRING | — | |
| input_image_2opt | STRING | — | |
| input_image_3opt | STRING | — | |
| input_image_4opt | STRING | — | |
| widthopt | INT | 0 | — |
| heightopt | INT | 0 | — |
| seedopt | INT | -1 | — |
| webhook_urlopt | STRING | — | |
| webhook_secretopt | STRING | — | |
| configopt | BFL_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |