arkennemasis fal · Flux Krea Redux · $0.025/MP
No prompt box, because the picture already is the prompt
- image
- images
- image_paths
- timings
- seed
- prompt
- has_nsfw_concepts
- info
Open this node and the first thing you'll notice is what's missing: there is no prompt field. Not hidden, not optional - absent. That's not an oversight. Redux is BFL's image-variation adapter, and it conditions on a picture instead of text.
What Redux is for
Redux encodes your image with SigLIP and feeds that into the generation, so the output is a variation of that image: same subject, same palette, same mood, new composition. In practice people use it for style transfer - you have a photo whose look you want and a scene you want it applied to - and as the visual half of a two-stage pipeline where your text model already did the semantic thinking.
The community's own hard-won note on Redux in a local graph is that it overwhelms text when the two are combined, and the workflow hack is a strength around 0.04–0.07 so the prompt still gets a word in. This node doesn't expose that dial, because it doesn't need to: the endpoint is text-free by design. What you get is the image conditioning at the model's own weighting, and the only way to steer it is to change the input, the size, or the seed.
Inputs
image- the reference. This is your whole instruction set.image_size(landscape_4_3by default), withimage_size_width/image_size_height(16–14142, step 16) used when it's set tocustom.num_inference_stepsdefault 28 (1–50),guidance_scaledefault 4.5 (1–20),seed(-1 for random).num_images1–4,enable_safety_checker(on),output_format(jpeg/png),acceleration(none/regular/high).
And the four shared widgets: max_cost_usd (default 20 - over the cap, nothing is uploaded; 0 disables), reuse_identical_run (on - the same reference and settings come back free from output/fal/), extra_json, max_concurrent.
Outputs
images goes to preview or save. image_paths gives the location under output/fal/fal-ai_flux_krea_redux/. seed comes back as an integer so you can lock a variation you liked, and prompt is still there as an output even though there's no input for it - it just reports the (empty) text side. timings, has_nsfw_concepts and info round it out.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Or search comfyui-arkennemasis in ComfyUI-Manager. Restart ComfyUI when it's done, then look under arkennemasis/fal/Image/Flux. The fal nodes need no pip install of their own.
Add the key to the .env beside run_nvidia_gpu.bat:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
What to expect, honestly
It is not an editor. Redux doesn't obey "remove the hat" - it makes another picture that looks like that picture. If your actual goal is a targeted change while keeping the frame, you want the Kontext nodes or a masked inpaint. Reaching for Redux to do an edit is the single most common way to be disappointed by it.
The variation can be conservative. Feed it one image, get back something recognizably the same. That's the feature. If you want range, vary the seed and let num_images go to 4 - which quadruples the bill, since this is priced at $0.025 per megapixel and the count multiplies.
Watch your megapixels. custom sizes are priced on the real output area, so a 2048×2048 request is 4MP and four times the 1MP line. The live badge on the node updates as you type.
Nothing went to fal? Then the key wasn't found. The pack reads FAL_KEY from the .env file only - an environment variable set elsewhere in your shell won't be seen, and the error names the path it checked.
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 | 4.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. |