Eigen AI FLUX Generator
The unified Eigen AI FLUX Generator
- image
If the modular nodes in this pack are a kitchen with separate drawers, EigenAIFluxNode is the all-in-one appliance. Prompt field, LoRA slots, upscale toggle - all of it on one widget panel, no Text node, no LoRA node, no wiring. It's the "unified" FLUX generator, and for most people it's the node you'd actually drop into a workflow first, because it mirrors what the pack's README describes: a single box that turns a prompt into an image through the Eigen AI FLUX API.
Everything you need to know from the modular version carries over, because the mechanism is identical. It builds a payload - prompt, width, height, seed, guidance_scale, a loras array - POSTs it to {api_url}/generate, downloads the returned image, and hands you a tensor. The GPU does nothing. The one structural difference is that LoRA handling lives on this node as plain string fields instead of arriving via a LORA_CONFIG wire, and there's an upscale option that the modular FLUX generator doesn't have.
Inputs worth your attention
prompt(STRING) - type directly, no Text node required.width/height- 256–1024, step 64, default 512. Server-side cap at 1024 again.seed--1for random.guidance_scale- default 3.5, the Flux guidance sweet spot.upscale(boolean) +upscale_factor(2 or 4, default 2) - note this upscale is server-side: the payload sendsupscaleandupscale_factorand the server returns the bigger image. Unlike the localEigenAIUpscalerNode, you can't inspect the intermediate result.lora1_name/lora1_weight- required. The default name is/data/weights/lora_checkpoints/Studio_Ghibli_Flux.safetensors, a server-side path. If that default is meaningless to your API, replace it before you run anything.lora2_name/lora3_name(optional) - type "none" (the sentinel the code skips) or leave blank.api_url- defaulthttp://74.81.65.108:8000. Same hardcoded IP, same instruction: point it at a live Eigen AI FLUX API endpoint or nothing happens.
Output: image (IMAGE).
The gotchas that will cost you a night
The server-side LoRA paths are the big one. There's no file browser, no validation - you're typing names the server has to recognize, and the code skips a LoRA slot only when the name is "none" or blank. A typo gets forwarded to the API and you get whatever the server does with it. And yes, the silent pink placeholder on failure is here too: any exception returns a light-red image at your requested size instead of surfacing an error, so a "successful" run that produces pink means the request died. Check the API URL.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/jialuw0830/flux_api_comfyui_plugin
Restart, or use ComfyUI Manager and search "Eigen AI FLUX API". Dependencies are requests, pillow, numpy, torch - all already in ComfyUI. No models to download; the "model" is on the server. Prefer modular plumbing (Text → LoRA → EigenAIFluxGeneratorNode)? That pair still exists - this node just doesn't need it.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| width | INT | 512256–1024 | — |
| height | INT | 512256–1024 | — |
| seed | INT | -1-1–4294967295 | — |
| guidance_scale | FLOAT | 3.5-10–10 | — |
| upscale | BOOLEAN | false | — |
| upscale_factor | INT | 22–4 | — |
| api_url | STRING | http://74.81.65.108:8000 | — |
| lora1_name | STRING | /data/weights/lora_checkpoints/Studio_Ghibli_Flux.safetensors | — |
| 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 | — |