arkennemasis fal · Flux Pro v1.1 Ultra Redux · ~$0.21/image
Hand it a picture, get the same picture back, but different
- image
- images
- image_paths
- seed
- has_nsfw_concepts
- prompt
- timings
- info
Redux is one of Black Forest Labs' Flux Tools, and it does the thing that's hard to describe and immediately useful once you've seen it: it reads a reference image and produces variations of it. Style transfer, angle changes, mood shifts, "give me this again at golden hour". You don't describe the subject in the prompt - you hand over a photo and let the image do the talking.
Local Redux exists as a Dev-tier model, so this node isn't your only route to the concept. What it buys you is the Pro base doing the work: the undistilled tier with better facial variety and no 12GB download, at roughly twenty-one cents an image. That price is the honest headline here - it's the expensive one in this family, roughly three and a half times Ultra's plain text-to-image rate, and it's the one you shouldn't be firing off in batches while you fiddle.
How the mechanism works
This is the fal-ai/flux-pro/v1.1-ultra/redux endpoint. You connect a picture, fal takes it as the reference, and the model generates in that image's visual territory. The prompt is optional here - genuinely optional, not "optional but please fill it in". Empty leaves it out entirely, which is exactly right for pure variation work; it's what you'd use when you want the model's read of the reference and not yours.
The pack itself is a wrapper, and the whole fal family shares its plumbing: check inputs, price the job, upload the reference to fal's CDN, submit one billed call, poll, download into output/fal/fal-ai_flux-pro_v1.1-ultra_redux/. The fal half of the pack uses Python's own urllib and nothing else, so installing it doesn't touch your ComfyUI environment.
Inputs worth touching
- image - required, and it's the point of the node. One picture, not a batch; a batch gets rejected with a message telling you to pick a frame first.
- image_prompt_strength - 0 to 1, default
0.1. The name is inherited from Ultra's image-prompt input, and it's loose. Given how the endpoint behaves, treat it as the reference's pull; if variations feel too shy or too mush, this is the dial before anything else. - aspect_ratio - default
16:9. Since Redux is billed by output megapixels underneath, shape and size here have more cost consequence than they do on Ultra. - prompt - leave empty for a straight variation. Fill it in when you're steering ("same scene, night, rain").
- num_images - up to 4. At this price, think before setting it to 4.
- seed, raw, enhance_prompt, safety_tolerance, output_format - as on every Flux Pro node in the pack.
The price, honestly
The node's title says ~$0.21/image and the estimate behind the money guard is a flat $0.21 per image. fal's own billing underneath is $0.05 per megapixel, so that tilde is doing real work: a 2K-ish output is what lands you around twenty-one cents, and a smaller one costs less. The badge and the pre-run estimate are deliberately conservative rather than exact - the info output on the node returns the real estimate that was used, which is the number to look at when you're auditing a batch.
Money guards, all shared across this pack's fal nodes: max_cost_usd (default $20) stops the run before anything is uploaded; reuse_identical_run (default on) gives back the cached result for an identical rerun instead of charging you twice; max_concurrent (default 1) keeps paid fal calls from stampeding fal's queue in one run.
Outputs
images and image_paths are the two you'll wire - the IMAGE socket drops straight into SaveImage, an upscaler, or a video node. seed comes back as an integer so you can lock a variation you liked and re-roll around it. prompt, timings, has_nsfw_concepts and info round it out; info is the JSON with the request id, cost estimate, saved files and fal's full answer.
Install
ComfyUI Manager → search comfyui-arkennemasis → install. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Restart ComfyUI, then add your key to the .env file next to run_nvidia_gpu.bat:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
That's the entire setup. No models to download, no CUDA wheels, no restart dance beyond the one.
Where people get burned
Two of them. First, cost: Redux is the node in this family where an idle click of Run is a real twenty cents, so don't leave num_images at 4 while you're exploring - set it to 1, find the variation style you want, then batch. Second, expectations: "Redux" reads like an upscaler or a 1:1 edit to a lot of people, and it isn't either. It generates a new image informed by the reference. If you wanted the same pixels with one thing changed, that's Fill or Erase, not this.
And the usual fal-family friction: no key means no run (with a clear message and no charge), an account with an exhausted balance just stops generating, and if ComfyUI restarts mid-job the paid request isn't lost - it's in output/fal/_requests.jsonl and the pack's free Recover Result node collects it by id for nothing.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The prompt to generate an image from. Empty leaves it out. | |
| seed | INT | -1-1–2147483647 | The 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. |
| num_images | INT | 11–4 | The number of images to generate. |
| output_format | COMBO | jpeg | The format of the generated image. |
| safety_tolerance | COMBO | 2 | The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive. |
| enhance_prompt | BOOLEAN | false | Whether to enhance the prompt for better results. |
| image | IMAGE | The image URL to generate an image from. Needs to match the dimensions of the mask. | |
| image_prompt_strength | FLOAT | 0.100–1 | The strength of the image prompt, between 0 and 1. |
| aspect_ratio | COMBO | 16:9 | The aspect ratio of the generated image. |
| raw | BOOLEAN | false | Generate less processed, more natural-looking images. |
| max_cost_usdopt | FLOAT | 20.00–100000 | Safety 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_runopt | BOOLEAN | true | If 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_jsonopt | STRING | Advanced: 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_concurrentopt | INT | 11–32 | How 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)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| image_paths | STRING | — |
| seed | INT | — |
| has_nsfw_concepts | STRING | — |
| prompt | STRING | — |
| timings | STRING | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |