arkennemasis fal · Flux Pro v1.1 Ultra Finetuned · $0.07/image
Your own LoRA, except it lives on someone else's server
- image
- images
- image_paths
- seed
- has_nsfw_concepts
- prompt
- timings
- info
Flux Pro Ultra, with a LoRA welded onto it. That's the entire pitch, and whether it's useful to you depends on one question: do you have a finetune on fal, or do you have a .safetensors file on your hard drive?
If it's the safetensors, this node is not for you - there's no field to load it with. This endpoint references BFL finetunes hosted by fal, identified by a string. If you trained through fal's finetuning service, the finetune_id is the whole reason this node exists. If you trained in kohya on your own 3090, you want the local Flux path or one of the hosted LoRA-gallery endpoints instead.
Why you'd bother
Two reasons people live with the split. The first is that the pro tier never shipped weights, so the only way to run your concept on the better base model is to have someone else host the fine-tune too. The second is that the local Flux path means a 12B stack, quantisation trade-offs, and a non-commercial licence for anything Dev-based - none of which is in play when fal is doing the sampling. Seven cents an image buys you out of all of it.
The two inputs that decide everything
The node's input list is Flux Pro Ultra's, plus two:
- finetune_id - required, and it's the identifier for your trained model on fal, as a string.
- finetune_strength -
0to2, defaulting to0. This is the influence dial. The tooltip's own advice is the right advice: raise it if your concept isn't showing up strongly enough, and accept that the good value depends on the finetune and the prompt. Zero is the default, which surprises people - a fresh install looks like the finetune did nothing.
The rest is Ultra as usual: prompt, seed, num_images (up to 4), aspect_ratio, raw, enhance_prompt, safety_tolerance, output_format, plus an optional image with image_prompt_strength if you want a picture nudging the composition. raw is worth a look here specifically - a LoRA that's fighting a heavily processed baseline while you also stack "8K hyperreal" onto the prompt is a bad combination.
Outputs
images (IMAGE, ready for SaveImage or anything downstream), image_paths, the resolved seed as an INT, prompt, timings, has_nsfw_concepts, and info - a JSON blob with the request id, the dollar estimate, the saved files, and fal's raw answer. That info output is the fastest way to confirm a run actually cost what the badge said.
Install and key
Same pack as the rest of the fal nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Or install comfyui-arkennemasis from ComfyUI Manager. Restart, then put one line in the .env sitting next to run_nvidia_gpu.bat:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
No key field on the node, by design - a pasted key ends up inside every workflow you export.
Money plumbing you should know about
Everything in this pack's fal family shares it. max_cost_usd (default $20) is checked against a pre-run estimate and aborts before upload, so it never bills a run you veto. reuse_identical_run (default on) returns the previously paid-for result for identical inputs while the files are still in output/fal - even across a ComfyUI restart - which is genuinely useful when you're iterating on a workflow that has this node buried in the middle. max_concurrent (default 1) is a run-wide cap on simultaneous paid fal calls; the default keeps you politely under fal's rate limits, and raising it to 3 or 4 is what you do when a batch of 20 is taking forever. Just expect the occasional 429 if you go high.
When it goes wrong
If you get output that looks like plain Ultra, check finetune_strength before you blame the finetune - 0 is the default and it means off. If the node refuses your finetune_id, the id is wrong or the finetune isn't on the account the key belongs to; the failure arrives before anything is billed. And if you're here looking for a way to run a CivitAI Flux LoRA through the API, this isn't that node - you'll want the local Load LoRA path or a hosted LoRA endpoint that takes a URL.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The prompt to generate an image from. | |
| 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_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. |
| finetune_id | STRING | References your specific model | |
| finetune_strength | FLOAT | 0.000–2 | Controls finetune influence. Increase this value if your target concept isn't showing up strongly enough. The optimal setting depends on your finetune and prompt |
| imageopt | IMAGE | The image URL to generate an image from. | |
| 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. |