Floyo FLUX.2 Flex Image Edit
Ten reference images, full control, paid per shot
- input_image
- input_image_2
- input_image_3
- input_image_4
- input_image_5
- input_image_6
- input_image_7
- input_image_8
- input_image_9
- input_image_10
- image
This is the most configurable node in the whole ComfyUI-Floyo-Flux2-API-node pack - and the least talked about, which is a shame. Flux2FlexImageEdit takes the multi-reference editing that made FLUX.2 famous and adds the flex tier's levers: up to ten input images plus full guidance and steps control. It's the one you reach for when you want the editing power but you also want to decide how much quality - and money - each pass is worth.
What it does
Like the pro edit node, it base64-encodes your base IMAGE tensor, sends it to BFL as input_image, polls until the edit lands, and returns a fresh IMAGE tensor. The differences: it talks to the flux-2-flex endpoint, it accepts references all the way up to input_image_10 (the pro tier stops at eight), and its payload carries guidance and steps that pro keeps hidden.
Inputs that matter
- prompt - required. Describe the edit in instructions and name what must not change. FLUX.2's encoder reads sentences, not comma soup: "remove the person in the background. Keep the woman's face and clothing unchanged."
- input_image - required, the base.
- input_image_2 … input_image_10 - optional references for character, object, or style consistency. Ten images of the same subject is FLUX.2's party trick; this is where you use it.
- width / height - the widgets default to 1024, but 0 means keep the input's dimensions. Set both to 0 for an untouched-resolution edit.
- guidance - 1.5–10, default 4.5. Raise it if edits keep wandering from the prompt.
- steps - 1–50, default 50. The cost/quality trade.
- seed -
-1random, else reproducible. - safety_tolerance - 0–6, default 2.
- output_format - jpeg (default) or png.
The flex-vs-pro edit choice in one line: pro is the curated best-edit option; flex is the one where you'll drop steps to 15 for a fast rough, check it, then redo at 50 for the final.
Install
One pack, four nodes. ComfyUI Manager ("ComfyUI-Floyo-Flux2-API-node") 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
Configure your api.bfl.ai key in config.ini or via BFL_API_KEY, then restart. No models to download - the pack's only real dependencies are requests, Pillow, and numpy.
Where people get burned
The pack-wide gotcha applies here harder than anywhere: failures return a black image and log the real error to your ComfyUI console. With up to ten base64 images in one request you're also closer to the API's practical limits - keep the reference count sensible, and watch for a "Content Moderated" status if any reference trips BFL's filter.
Also budget it. Ten-reference edits are the priciest calls in this pack, and unlike a local model there's no "rerun is free." Get the prompt and the step count right before you commit to a full-resolution pass - iterate on a fast, low-step rough first.
The verdict
Pro edit is the "one perfect pass" button; flex edit is the "I want to iterate and control it" button. If you've got a consistent-subject job with several reference images and you're okay paying per shot, this is the node in the pack you'll actually keep.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the edit you want. | |
| input_image | IMAGE | Base image. | |
| input_image_2opt | IMAGE | Optional reference image #2. | |
| input_image_3opt | IMAGE | Optional reference image #3. | |
| input_image_4opt | IMAGE | Optional reference image #4. | |
| input_image_5opt | IMAGE | Optional reference image #5. | |
| input_image_6opt | IMAGE | Optional reference image #6. | |
| input_image_7opt | IMAGE | Optional reference image #7. | |
| input_image_8opt | IMAGE | Optional reference image #8. | |
| input_image_9opt | IMAGE | Optional reference image #9. | |
| input_image_10opt | IMAGE | Optional reference image #10. | |
| widthopt | INT | 10240–2048 | Override width (0 = keep). Multiple of 16. |
| heightopt | INT | 10240–2048 | Override height (0 = keep). Multiple of 16. |
| 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 | — |