arkennemasis fal · Flux Dev Redux · $0.025/MP
No prompt box, because Redux doesn't take instructions
- image
- images
- image_paths
- timings
- seed
- prompt
- has_nsfw_concepts
- info
Look for the prompt field. There isn't one. That absence is the node.
FLUX.1 Redux, from the November 2024 Flux Tools drop, is not an editor and not a text-to-image model. It's a variation model: it takes an image as visual conditioning and generates something in the same family. No sentence involved, because there's nothing to instruct - the picture is the instruction. $0.025 per megapixel, so about two and a half cents at 1024×1024 for a variation.
What it's for
Three honest uses:
Variation on a theme. You have one shot you like and you want ten siblings - same subject, same palette, different pose or detail. Redux does it in one node with no prompt engineering at all.
Style transfer where the style is a picture. Feed a painting, get back something with the same visual character applied to whatever comes out.
Prompt-free exploration. When you don't yet know what you want, feeding a reference is a legitimate way to start. It's the closest this endpoint gets to a slot machine, and it accepts no coins from you beyond the megapixel rate.
What it is not: a restyle of the specific image you fed in. Redux doesn't preserve layout the way img2img does. Treat the input as inspiration rather than a template, or you'll spend a while confused.
The inputs
image is required - the conditioning picture. Then it's structural:
image_size (combo, defaulting to landscape_4_3, with custom plus image_size_width / image_size_height for exact dimensions), num_inference_steps at 28, seed at -1, guidance_scale at 3.5 (Flux guidance, not CFG), num_images up to 4, enable_safety_checker, output_format at jpeg, and acceleration at none for a speed lever.
The knob that isn't there
Here's the thing anyone coming from the ComfyUI side will look for and not find: strength. In the local workflow, Redux strength is the whole game - the community finding that got passed around was that the conditioning overwhelms your prompt above roughly 0.07, with 0.04–0.07 as the usable window, fluid depending on the image and the prose.
This endpoint exposes no such dial. You get the conditioning at fal's fixed setting, which means you cannot dial Redux down to a whisper. In practice: pick a reference that's already close to what you want in composition and tone, because you can't negotiate. A busy, high-contrast reference will dominate the output and there's no number to lower.
Outputs
images and image_paths (written to output/fal/fal-ai_flux_dev_redux/), then timings, seed, prompt - which will be empty or fal's placeholder, since nothing was prompted - has_nsfw_concepts, and info with the request id, estimate, saved files and fal's full answer.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Restart ComfyUI, or install from ComfyUI-Manager via Install via Git URL. requirements.txt lists a single dependency, httpx, and that's for the pack's Codex nodes - the fal provider runs on Python's standard library. Nothing is downloaded and no GPU is touched; the model is hosted.
FAL_KEY=your-key-from-fal.ai/dashboard/keys
goes in the .env next to run_nvidia_gpu.bat in the portable build (or in the ComfyUI folder). No fal node in this pack has a key widget, on purpose: a key typed into a node gets stored in every workflow you share.
Cost, caching, and the two traps
$0.025 per megapixel of output - 1024×1024 is ~2.5¢, a four-image batch at that size ~10¢. The node's price badge tracks your settings; max_cost_usd (default $20, 0 disables) stops the run before upload if the estimate crosses it.
Trap one: cached results. reuse_identical_run defaults on, and on a variation node that's a genuinely strange experience - same reference image, same settings, and you get the same output back instead of a new variation, because the node recognised the fingerprint and returned the file you already paid for. If your whole reason for queueing is "another variation, please", turn that toggle off. This is the single most confusing thing about running Redux through this pack.
Trap two: licensing. Redux is one of the models under BFL's non-commercial licence - the v2.0 revision names "FLUX.x [dev]" and covers Fill, Canny, Depth, Redux and Kontext. Fine for personal work; check before you ship anything commercial.
When nothing looks right
Every output is a near-copy of the input. Feed it a more varied reference; the model has nothing else to work from and the conditioning is fixed.
Every output ignores the reference. The opposite complaint, and usually the input is flat or low-contrast. Redux conditions on visual features, and a grey wall doesn't give it much.
Unexpected crops or aspect ratios. image_size is a combo with its own default. If your reference is tall and the node is on landscape_4_3, you asked for landscape.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The URL of the image to generate an image from. | |
| image_size | COMBO | landscape_4_3 | The size of the generated image. 'custom' uses the width and height below. |
| image_size_width | INT | 102416–14142 | Width in pixels when image_size is 'custom'. |
| image_size_height | INT | 102416–14142 | Height in pixels when image_size is 'custom'. |
| num_inference_steps | INT | 281–50 | The number of inference steps to perform. |
| 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. |
| guidance_scale | FLOAT | 3.501–20 | The 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_images | INT | 11–4 | The number of images to generate. |
| enable_safety_checker | BOOLEAN | true | If set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked, and images flagged as unsafe are returned as black images. |
| output_format | COMBO | jpeg | The format of the generated image. |
| acceleration | COMBO | none | The speed of the generation. The higher the speed, the faster the generation. |
| 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 | — |
| timings | STRING | — |
| seed | INT | — |
| prompt | STRING | — |
| has_nsfw_concepts | STRING | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |