Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux 2 Max · $0.07 + $0.03/MP
ComfyUI Node

arkennemasis fal · Flux 2 Max · $0.07 + $0.03/MP

The knob-less flagship, and what $0.07 buys you

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux 2 Max · $0.07 + $0.03/MP
    • images
    • image_paths
    • seed
    • info
    ◄prompt►
    ◄image_sizelandscape_4_3►
    ◄image_size_width1024►
    ◄image_size_height1024►
    ◄seed-1►
    ◄safety_tolerance2►
    ◄enable_safety_checkertrue►
    ◄output_formatjpeg►
    ◄max_cost_usd20.0►
    ◄reuse_identical_runtrue►
    ◄extra_json►
    ◄max_concurrent1►

    Black Forest Labs' tiering has been the same story since Flux.1: the best model never leaves the API. Schnell shipped open, Dev shipped non-commercial, Pro stayed API-only - and Flux 2 repeats it, with Max as the tier above Pro. There is no local path to this model at any VRAM. If you want what it does, you rent it, and this node is the rent.

    What it is

    A single call to fal's fal-ai/flux-2-max endpoint, saved into output/fal/fal-ai_flux-2-max/. It bills $0.07 for the first processed megapixel and $0.03 for each additional one, which is the most expensive image endpoint in this part of the pack - costlier per megapixel than Pro ($0.03 first, $0.015 after), and several times Klein.

    The interesting thing is what's missing from the schema. No num_inference_steps. No guidance_scale. No acceleration. No num_images. The flagship tier is sold as "the model decides", and genuinely: you supply a prompt, a size and a seed, and that's your input surface. Compare that against the [dev] and Klein nodes in this same pack, where steps and guidance are right there.

    The inputs you get

    prompt is the whole job. Write it as a sentence or a short paragraph - Flux 2's encoder is a vision-language model reading a chat turn, so tag stacks and (word:1.4) weighting are inert. image_size defaults to landscape_4_3, with the standard presets plus custom for image_size_width and image_size_height - and since the first megapixel costs $0.07, the size box is the price box in a way you'll feel. seed at -1 lets the model choose; pin it when you want the same frame again.

    output_format defaults to jpeg on this node, unlike the png default on the Klein and gallery nodes. If you're going to edit or grade the result, change it to png first. safety_tolerance is a 1–5 combo - 1 is strictest, 5 most permissive, defaulting to 2 - and enable_safety_checker sits alongside it; per the tooltip, disabling it requires authorisation on your fal account, and unauthorised requests are always checked.

    The four pack-wide options are present as always: max_cost_usd (default $20, 0 = no cap) refuses the run before anything is uploaded if the estimate is above the cap - genuinely worth setting here, since a careless 4MP request is real money; reuse_identical_run returns an identical already-paid result, even after a ComfyUI restart; extra_json merges a raw JSON object for fal fields the node doesn't expose; max_concurrent (default 1) caps how many paid fal calls run simultaneously.

    Outputs

    images and image_paths are the payload; seed comes back for reproducibility. There's no prompt passthrough and no timings scalar here - this endpoint's node has a slimmer output set than the Klein and [dev] nodes. info is the one that matters: JSON carrying the request id, the cost estimate, the saved files and fal's full answer.

    Install

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

    Restart ComfyUI, then add the key to the .env in the folder holding run_nvidia_gpu.bat:

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

    The fal provider is standard library only, so nothing to pip install for these nodes.

    Where people get burned

    Price per useful image. At $0.07 for the first megapixel you're paying five times the Klein rate for a model you cannot A/B against locally, and with no seed-batch option each attempt is a separate billed call. Set max_cost_usd low while you're experimenting and raise it deliberately. Second: no size auto here - a custom size that doesn't match your intended aspect needs setting by hand, and the bill rounds up per megapixel. Third, and worth repeating for any API path: your prompt goes to fal, and BFL's own tiers carry their own moderation, which is why the official advice is to stay local for anything a hosted filter would refuse. Max is the tier you use when the job needs the best closed image model and the budget exists.

    Categoryarkennemasis/fal/Image/Flux

    Inputs (12)

    NameTypeDefaultDescription
    promptSTRINGThe prompt to generate an image from.
    image_sizeCOMBOlandscape_4_3The size of the generated image. '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'.
    seedINT-1-1–2147483647The seed to use for the generation. -1 leaves it to the model.
    safety_toleranceCOMBO2The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive.
    enable_safety_checkerBOOLEANtrueWhether to enable the safety checker. Disabling it requires account authorization; unauthorized requests are always checked.
    output_formatCOMBOjpegThe 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 (4)

    NameTypeDescription
    imagesIMAGE—
    image_pathsSTRING—
    seedINT—
    infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.