Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux 2 Klein 4B Base Edit · $0.009/MP
ComfyUI Node

arkennemasis fal · Flux 2 Klein 4B Base Edit · $0.009/MP

Instructions that actually listen, because guidance isn't baked in

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux 2 Klein 4B Base Edit · $0.009/MP
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • images
  • image_paths
  • timings
  • has_nsfw_concepts
  • seed
  • prompt
  • info
◄prompt►
◄negative_prompt►
◄guidance_scale5.00►
◄seed-1►
◄num_inference_steps28►
◄image_sizesquare_hd►
◄image_size_width1024►
◄image_size_height1024►
◄num_images1►
◄accelerationregular►
◄enable_safety_checkertrue►
◄output_formatpng►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

The un-distilled Klein 4B doing edits. It's the least-exciting corner of the family and the one with the most legitimate niche: it has a real guidance pass, so it responds to a negative prompt and to guidance_scale in a way the distilled edit nodes simply cannot. If you keep fighting a distilled editor that ignores "don't change the background", this is the variant where that instruction has somewhere to land.

What's different from the distilled edit node

Three fields, and they're the whole story. negative_prompt exists here. guidance_scale exists here and defaults to 5 rather than being absent. acceleration (none / regular / high) exists here. The distilled 4B edit node has none of the three, because guidance is trained into its weights and an unconditional pass would just be wasted compute.

The trade is the usual one: base is slower and softer out of the box at low step counts, better behaved when you need control.

The inputs that matter

prompt - write the edit as a command against the file, not a description of a picture. remove blur and noise, fix exposure and color profile, shadow recovery - a Photoshop action list. Describe the subject instead and you'll get a different subject; that identity drift is the family trait and base doesn't cure it.

negative_prompt - the reason to be here. Things you want left alone go in here.

image_1 through image_6 - sockets, image_1 required. Fal uses the first four; each socket can carry a batch and they're sent in socket order, so the ordering is part of the instruction.

image_size - tooltip says that if you don't set it, the input image's size is used, but the node's default is the square_hd preset - so check which shape you're actually asking for before blaming the model for reframing your photo. custom uses image_size_width / image_size_height.

num_inference_steps - 28 here against the 50 that people actually run base Klein at. Billing is per megapixel, so this is free to raise and worth raising.

guidance_scale 5, seed -1, num_images, output_format, enable_safety_checker.

Cost

$0.009 per megapixel of input and output, inputs resized to 1MP. A 1024×1024 edit from one reference is about $0.018, and attaching four references doesn't multiply it - the input side is 1MP either way.

Outputs

images is the edited IMAGE output. image_paths gives the saved files, timings is fal's timing JSON, has_nsfw_concepts reports the checker, seed is an INT worth locking when you get a good edit, prompt echoes the instruction, and info is JSON containing the request id, cost estimate, saved files and fal's full answer.

Install

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

Restart ComfyUI and it's under arkennemasis → fal → Image → Flux; ComfyUI-Manager → Install via Git URL with the same repo is the click-driven route. The pack's requirements.txt is one line, httpx, for its ChatGPT/Codex nodes - fal uses Python's standard library, so nothing else installs.

Key, in the .env by run_nvidia_gpu.bat:

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

Where people get burned

Using it as a general-purpose editor. Base isn't meant for generation, and BFL say the distilled model makes nicer pictures. If you just want to change a photo, the distilled edit nodes are cheaper and better - come here for control.

A warm cast on the result. Flux 2 editing drifts slightly warm versus the source, consistently, and this variant is no exception. Colour-match against the original if the frame is going back into a sequence.

The same output twice in a row. reuse_identical_run is on by default: identical inputs, files still in output/fal, served from cache without a second charge. Turn it off when you want a different take from the same instruction, and remember max_cost_usd defaults to $20 and is checked before anything is uploaded - an over-budget run costs nothing.

Categoryarkennemasis/fal/Image/Flux

Inputs (22)

NameTypeDefaultDescription
promptSTRINGThe prompt to edit the image.
negative_promptSTRINGNegative prompt for classifier-free guidance. Describes what to avoid in the image. Empty leaves it out.
guidance_scaleFLOAT5.000–20Guidance scale for classifier-free guidance.
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.
num_inference_stepsINT284–50The number of inference steps to perform.
image_sizeCOMBOsquare_hdThe size of the generated image. If not provided, uses the input image size. '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.
accelerationCOMBOregularThe acceleration level to use for image generation.
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.
image_1IMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_2optIMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_3optIMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_4optIMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_5optIMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_6optIMAGEThe URLs of the images for editing. A maximum of 4 images are allowed. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
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—
timingsSTRING—
has_nsfw_conceptsSTRING—
seedINT—
promptSTRING—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.