Floyo FLUX.2 Flex Text-to-Image
The paid-API tier that actually gives you the dials
- image
The pro tier of the FLUX.2 API is "give us your prompt, we'll handle the sampling." The flex tier is the one where you get your hands on the controls. This node, Flux2FlexTextToImage, is a thin client for BFL's flux-2-flex endpoint - same family as the pro nodes in this pack, but with guidance and steps exposed so you can trade speed and cost against quality on every request.
What it does
The mechanism is identical to its pro sibling: your prompt, size, and settings get POSTed to api.bfl.ai/v1/flux-2-flex (that's the BFL_FLEX_BASE_URL in the config) with your key, the pack polls until the job finishes, then downloads the result and hands it back as an IMAGE tensor ready for Save Image. The only difference is what's in the payload - and that you get to decide it.
The inputs that matter
- prompt - required, multiline.
- width / height - 64–2048, multiples of 16, default 1024.
- guidance - 1.5–10, default 4.5. Prompt adherence, per BFL. Crank it toward 10 when results keep drifting from your prompt; ease off when they feel over-stuck or harsh.
- steps - 1–50, default 50. The quality/price lever. Fewer steps is cheaper and faster; 50 is the safe but slow starting point.
- seed -
-1random, any positive integer reproducible. - safety_tolerance - 0 (strict) to 6 (permissive), default 2.
- output_format - jpeg (default) or png.
The honest way to use it: start cheap. Drop steps toward 10–20 for drafts, check the composition, and only pay for a full 50-step pass on the image you're actually keeping. That's the entire reason flex exists - pro won't let you make that call.
Install
Part of the ComfyUI-Floyo-Flux2-API-node pack, so one install gives you all four nodes. ComfyUI Manager search or:
cd ComfyUI/custom_nodes
git clone https://github.com/ritik-devsecops/ComfyUI-Floyo-Flux2-API-node
cd ComfyUI-Floyo-Flux2-API-node
pip install -r requirements.txt
Key in config.ini or as BFL_API_KEY, restart, done. Requirements are just requests, Pillow, and numpy - no models to download, nothing heavy.
Where people get burned
The pack's shared failure mode: a black output is a silent failure, and the real error is only in your ComfyUI terminal. Bad key, moderation, timeout - same behavior across all four nodes.
Two flex-specific traps worth knowing. First, the defaults are the expensive end: guidance 4.5 and steps 50 is the max-quality starting point, so naive "just run it" usage bills like pro without the pro curation. Second, every request is metered against your BFL account, and flex billing moves with steps and resolution - a 50-step run at 2048×2048 is a different creature than a 12-step draft at 1024. If you leave the defaults on and batch a lot of images, the surprise is on the invoice.
Bottom line
If you know you want to fiddle with steps and guidance and you're fine paying per image, flex is the more honest tier for that. Pro is the "just give me a good picture" button; flex is where you're the sampler. Pick based on how much you trust BFL's defaults on any given day.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what to generate. | |
| width | INT | 102464–2048 | Output width (multiple of 16, 64-2048). |
| height | INT | 102464–2048 | Output height (multiple of 16, 64-2048). |
| guidance | FLOAT | 4.51.5–10 | Prompt adherence (1.5-10). |
| steps | INT | 501–50 | Inference steps (1-50). |
| guidanceopt | FLOAT | 4.51.5–10 | Prompt adherence (1.5-10). |
| stepsopt | INT | 501–50 | Inference steps (1-50). |
| seedopt | INT | -1-1–4294967295 | -1 = random. Any other integer is reproducible. |
| safety_toleranceopt | INT | 20–6 | Moderation level 0 (strict) to 6 (permissive). |
| output_formatopt | COMBO | jpeg | Output format. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |