Eigen AI Kontext Generator
Edit, upscale, and cut out the background from a server
- image
- image
The unified EigenAIKontextNode is the most feature-packed box in this pack: image-to-image editing on the FLUX.1-Kontext-dev family, a server-side upscale option, a background-removal pass, and three LoRA slots, all on one node. The KB's BFL panel is worth remembering here - Kontext is among the most heavily censored models in the Flux line, so the "edits" you can request through this endpoint are going to be filtered by whatever content controls the server-side model carries. That's a property of the model, not a setting you can switch off.
Mechanically it's the Kontext modular node plus extras. It takes your input image, converts it to a base64 PNG, and POSTs to a Kontext endpoint - but notably /generate-with-image-and-return, a different route than the modular EigenAIKontextGeneratorNode's /generate. Make sure the API you're talking to implements the route this node expects. Payload includes the image, prompt, inference_steps, guidance_scale, the upscale flags, background-removal flags, and the loras array. Response comes back as an image tensor.
Inputs that matter
image(IMAGE) - required; your edit source. The node auto-downscales anything bigger than 512px on the long edge unless you turn offauto_downscale_large_images, which changes the effective composition.prompt(STRING) - the edit instruction, typed directly.inference_steps- default 20 (1–50). The img2img setting that's actually worth tuning.guidance_scale- default 7.5, matching the Kontext endpoint's conventions rather than the 3.5 the text-to-image nodes use.upscale+upscale_factor(2 or 4) - server-side, applied before you get the image back.enable_background_removal+removal_strength(0–1, default 0.5) - lets the server strip the background as part of the same call. Per the KB, a dedicated removal pass beats letting the model invent a background, so it's a legitimately useful option if your endpoint supports it.lora1_name/lora1_weight- required, defaulting to the HF repo ID21j3h123/realEarthKontext(note: HF-style name here, not the server path the FLUX nodes default to).lora2/3optional, "none" sentinel.api_url- defaulthttp://74.81.65.108:9000.
Output: image (IMAGE).
The traps
Same family rules apply: server-side LoRA names with zero local validation, and a light-red placeholder instead of an exception when anything fails. Two extras specific to this node: the endpoint route mismatch with the modular Kontext node (switching between them means switching API compatibility too), and the silent auto-downscale, which will quietly cost you resolution on big inputs. If your edit comes back soft or compositionally different from the source, check that boolean first.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/jialuw0830/flux_api_comfyui_plugin
Restart, or install via ComfyUI Manager (search "Eigen AI FLUX API"). Dependencies are the pack standard - requests, pillow, numpy, torch, all already in ComfyUI. No models download; the Kontext model lives on the server, and this node is just the remote control.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| auto_downscale_large_images | BOOLEAN | true | — |
| seed | INT | -1-1–4294967295 | — |
| inference_steps | INT | 201–50 | — |
| guidance_scale | FLOAT | 7.5-10–10 | — |
| upscale | BOOLEAN | false | — |
| upscale_factor | INT | 22–4 | — |
| enable_background_removal | BOOLEAN | false | — |
| removal_strength | FLOAT | 0.50–1 | — |
| api_url | STRING | http://74.81.65.108:9000 | — |
| lora1_name | STRING | 21j3h123/realEarthKontext | — |
| lora1_weight | FLOAT | 1.00–2 | — |
| lora2_nameopt | STRING | none | — |
| lora2_weightopt | FLOAT | 1.00–2 | — |
| lora3_nameopt | STRING | none | — |
| lora3_weightopt | FLOAT | 1.00–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |