Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux 2 Flash · $0.005/MP
ComfyUI Node

arkennemasis fal · Flux 2 Flash · $0.005/MP

The half-cent Flux 2 you use to find the prompt that works

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux 2 Flash · $0.005/MP
    • images
    • image_paths
    • seed
    • prompt
    • timings
    • has_nsfw_concepts
    • info
    ◄prompt►
    ◄guidance_scale2.50►
    ◄seed-1►
    ◄image_sizelandscape_4_3►
    ◄image_size_width1024►
    ◄image_size_height1024►
    ◄num_images1►
    ◄enable_prompt_expansionfalse►
    ◄enable_safety_checkertrue►
    ◄output_formatpng►
    ◄max_cost_usd20.0►
    ◄reuse_identical_runtrue►
    ◄extra_json►
    ◄max_concurrent1►

    Half a cent per megapixel. A 1024×1024 render out of Flux 2 through this node costs about $0.005 - under a penny - and that makes it the cheapest sensible way to iterate on a Flux 2 prompt before you commit the good model to it.

    This is the speed tier of the family, not a different model. Same realism push, same text rendering, same "it writes legible signage" trick. What's missing compared to the full Flux 2 node is the knobs: no num_inference_steps, no acceleration dropdown. The endpoint handles sampling itself, and you get the prompt, the size and a few switches. That's the trade. You're buying cheap and fast, and you're giving up the ability to trade wall time for quality inside the node.

    The inputs

    prompt - the model's encoder reads like an LLM chat turn, so write sentences. "A studio product shot of a matte black water bottle on a pale grey seamless backdrop, softbox from the left" beats a pile of comma-separated tags, and ((emphasis:1.4)) weighting does nothing at all.

    image_size - presets (landscape_4_3 is the default) or custom, which switches on image_size_width / image_size_height. Width and height are the actual cost driver here: 1024×1024 is 1MP, 1920×1080 is roughly 2MP, and the bill follows.

    num_images - this is the one to use properly. At half a cent a shot, asking for four at once is the whole point of a draft stage, and the node returns them as one batch on the images output.

    guidance_scale (2.5) and seed (-1) - leave them unless you're reproducing something.

    enable_prompt_expansion - off. It hands your prompt to an LLM for rewriting. Great if you typed six words and want twenty; terrible if you already know what you're asking for.

    enable_safety_checker - on, and it flags rather than errors: a refused image comes back as a black square. Turning it off requires authorization on your fal account, and unauthorized requests are checked regardless.

    output_format - png, jpeg or webp. PNG for anything you'll edit further.

    Outputs

    images (IMAGE, batched if you asked for several), image_paths (STRING - where they landed), seed (INT), prompt (STRING, what the model received after any expansion), timings, has_nsfw_concepts, and info - JSON with request id, cost estimate, saved files and fal's full answer. Wire images into SaveImage, a contact-sheet node, or straight into the Flash Edit sibling if you're chaining an edit pass.

    Install

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

    Restart ComfyUI; the node lives under arkennemasis → fal → Image → Flux. ComfyUI-Manager can grab the pack by Git URL. The pack's only pinned dependency is httpx, which belongs to its ChatGPT/Codex nodes - the fal provider uses Python's stdlib, so this node installs clean on any working ComfyUI.

    Then the key, one line in the .env by run_nvidia_gpu.bat:

    FAL_KEY=your-key-from-fal.ai/dashboard/keys
    

    Nothing on the node asks for it, deliberately - a key that lives in a file can't end up baked into a workflow you paste on Discord.

    Where people get burned

    Expecting it to be the good model. Flash is the draft tier. If your hands keep coming out wrong, that's not a Flash bug - it's why the full Flux 2 node exists. Draft here, re-run the keeper there.

    Forgetting the megapixel math. Price scales with area, so a 2MP render is twice a 1MP one and num_images multiplies it again. Four 2MP drafts is about four cents, which is still cheap - just don't build a 200-image batch by accident.

    Wondering why the second identical run was instant and free. reuse_identical_run is on by default: same settings, same inputs, files still in output/fal, so the node hands them back rather than paying twice. Turn it off for a new take.

    Tripping the cap mid-batch. max_cost_usd defaults to $20 and is checked before upload, so an over-budget run stops for free. Lower it to a dollar or two while experimenting and you'll never have a surprise. If a fal request does fail, the node retries rate limits and gateway errors itself; jobs queued behind a failure aren't started, so you don't get billed for a cascade.

    Categoryarkennemasis/fal/Image/Flux

    Inputs (14)

    NameTypeDefaultDescription
    promptSTRINGThe prompt to generate an image from.
    guidance_scaleFLOAT2.500–20Guidance 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.
    seedINT-1-1–2147483647The seed to use for the generation. If not provided, a random seed will be used. -1 leaves it to the model.
    image_sizeCOMBOlandscape_4_3The size of the image to generate. The width and height must be between 512 and 2048 pixels. '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_imagesINT11–4The number of images to generate.
    enable_prompt_expansionBOOLEANfalseIf set to true, the prompt will be expanded for better results.
    enable_safety_checkerBOOLEANtrueIf 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_formatCOMBOpngThe format of the generated image.
    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—
    promptSTRING—
    timingsSTRING—
    has_nsfw_conceptsSTRING—
    infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.