Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux Pro v1.1 Redux · $0.05/MP
ComfyUI Node

arkennemasis fal · Flux Pro v1.1 Redux · $0.05/MP

One image, optionally a few words, and the premium stack's opinion

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux Pro v1.1 Redux · $0.05/MP
  • image
  • images
  • image_paths
  • seed
  • has_nsfw_concepts
  • prompt
  • timings
  • info
◄prompt►
◄image_sizelandscape_4_3►
◄image_size_width1024►
◄image_size_height1024►
◄num_inference_steps28►
◄seed-1►
◄guidance_scale3.50►
◄num_images1►
◄output_formatjpeg►
◄safety_tolerance2►
◄enhance_promptfalse►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Redux is BFL's image-variation adapter - it encodes a picture with SigLIP and conditions generation on that instead of (or alongside) text. This node runs it on the FLUX1.1 [pro] endpoint, the closed premium tier, at $0.05 per megapixel. Same idea as the Krea Redux node, but here the prompt box exists and can be left empty: the tooltip says so plainly.

What you're actually doing with it

Two patterns, and neither is editing. First, variation: feed it a picture, get back something recognisably of that picture - same subject, same palette, new composition. Second, style transfer: use the reference purely to carry a look into whatever the prompt describes, which is the use the community rated most highly for Redux in the local Flux Tools era.

If you want a targeted change - remove the hat, fix the hand - Redux is the wrong tool and always will be. It doesn't follow instructions about parts of an image; it absorbs the whole thing. The Kontext nodes are for that.

One number worth carrying over from the local Redux experience: in a ComfyUI graph where Redux and a prompt both feed the sampler, the community found anything much above a tiny weight makes Redux overwhelm the text and hand you a straight variation. That dial doesn't exist on this node - the tradeoff between image and text is decided by the endpoint - so if your prompt seems ignored, you're seeing the model's own weighting, not a setting you misconfigured.

Inputs

  • image - the reference. Its tooltip mentions matching the dimensions of a mask, which is leftover schema text on fal's side; there is no mask socket on this node.
  • prompt - optional. "Empty leaves it out" is the tooltip's own wording, so pure variation means leaving it blank.
  • image_size, default landscape_4_3, with image_size_width / image_size_height for custom (16–14142, step 16).
  • num_inference_steps 28 (1–50), guidance_scale 3.5 (1–20), seed (-1 random), num_images 1–4.
  • output_format (jpeg/png), safety_tolerance default 2 (1 strictest, 6 most permissive), enhance_prompt off by default.

The shared four on every fal node here: max_cost_usd (default $20, blocks the run before upload, 0 = off), reuse_identical_run (on - identical pixels and settings come back from output/fal/ instead of billing again), extra_json, max_concurrent.

Outputs

images → preview/save; image_paths → output/fal/fal-ai_flux-pro_v1.1_redux/; seed, prompt, has_nsfw_concepts, timings, and info with the request id and cost estimate.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis

ComfyUI-Manager alternative: search comfyui-arkennemasis. Restart ComfyUI, then find it under arkennemasis/fal/Image/Flux.

# .env, in the folder holding run_nvidia_gpu.bat
FAL_KEY=your-key-from-fal.ai/dashboard/keys

The honest caveats

$0.05/MP is the priciest per-megapixel node in this Flux batch and Redux is a variation tool, not a problem solver - it's easy to spend a surprising amount the first evening just seeing what it does with an image. Keep num_images at 1 while you explore.

Pro is closed weights. There's no local Redux-on-Pro equivalent, which is the whole reason an API node is the only route.

The output is a new image, not your image, recoloured. Unmasked pixels are not preserved - that's the difference between this and the masked inpaint nodes, and it's why you shouldn't use Redux where the original has to survive untouched.

Nothing happens on a re-run? That's reuse_identical_run. Nothing changed, so nothing was billed, and the same files came back.

Categoryarkennemasis/fal/Image/Flux

Inputs (16)

NameTypeDefaultDescription
promptSTRINGThe prompt to generate an image from. Empty leaves it out.
image_sizeCOMBOlandscape_4_3The size of the generated image. 'custom' uses the width and height below.
image_size_widthINT102416–14142Width in pixels when image_size is 'custom'.
image_size_heightINT102416–14142Height in pixels when image_size is 'custom'.
num_inference_stepsINT281–50The number of inference steps to perform.
seedINT-1-1–2147483647The same seed and the same prompt given to the same version of the model will output the same image every time. -1 leaves it to the model.
guidance_scaleFLOAT3.501–20The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you.
num_imagesINT11–4The number of images to generate.
output_formatCOMBOjpegThe format of the generated image.
safety_toleranceCOMBO2The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive.
enhance_promptBOOLEANfalseWhether to enhance the prompt for better results.
imageIMAGEThe image URL to generate an image from. Needs to match the dimensions of the mask.
max_cost_usdoptFLOAT20.00–100000Safety cap. If the estimated cost of this run is above this many US dollars the node stops BEFORE sending anything to fal. 0 = no cap.
reuse_identical_runoptBOOLEANtrueIf these exact inputs (the settings AND the same pictures/clips/audio) were already paid for and the files are still in output/fal, return them instead of paying again - also after a ComfyUI restart. Turn off for a fresh take with the same settings.
extra_jsonoptSTRINGAdvanced: a JSON object merged into the request last, for any fal field this node has no box for. Example: {"seed": 7}. Leave empty normally.
max_concurrentoptINT11–32How many paid fal calls may run at the same time in one run, across every fal node. 1 (default) = one after another. This node starts its paid part only while fewer than this many fal calls are running. Once any fal node fails, the ones still waiting are not started, so nothing more is billed.

Outputs (7)

NameTypeDescription
imagesIMAGE—
image_pathsSTRING—
seedINT—
has_nsfw_conceptsSTRING—
promptSTRING—
timingsSTRING—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.