Nodes/ComfyUI-Floyo-Flux2-API-node/Floyo FLUX.2 Flex Image Edit
ComfyUI Node

Floyo FLUX.2 Flex Image Edit

Ten reference images, full control, paid per shot

By ritik-devsecops·Created 9 months ago·Updated 9 months ago· 1
Floyo FLUX.2 Flex Image Edit
  • 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
prompt
width1024
height1024
guidance4.5
steps50
seed-1
safety_tolerance2
output_formatjpeg

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 - -1 random, 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.

CategoryFloyo/Flux2 Flex

Inputs (18)

NameTypeDefaultDescription
promptSTRINGDescribe the edit you want.
input_imageIMAGEBase image.
input_image_2optIMAGEOptional reference image #2.
input_image_3optIMAGEOptional reference image #3.
input_image_4optIMAGEOptional reference image #4.
input_image_5optIMAGEOptional reference image #5.
input_image_6optIMAGEOptional reference image #6.
input_image_7optIMAGEOptional reference image #7.
input_image_8optIMAGEOptional reference image #8.
input_image_9optIMAGEOptional reference image #9.
input_image_10optIMAGEOptional reference image #10.
widthoptINT10240–2048Override width (0 = keep). Multiple of 16.
heightoptINT10240–2048Override height (0 = keep). Multiple of 16.
guidanceoptFLOAT4.51.5–10Prompt adherence (1.5-10).
stepsoptINT501–50Inference steps (1-50).
seedoptINT-1-1–4294967295-1 = random. Any other integer is reproducible.
safety_toleranceoptINT20–6Moderation level 0 (strict) to 6 (permissive).
output_formatoptCOMBOjpegOutput format.

Outputs (1)

NameTypeDescription
imageIMAGE