Nanaix_Image
Nanaix_Image wires GPT-Image and Nano Banana straight into your graph
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image
The name is a lie, sort of. Nanaix_Image doesn't run anything on your machine - it's an API wrapper that sends your prompt and up to eight reference images to ai.nanaix.com and drops a finished image back into your graph as a native ComfyUI IMAGE tensor. No model download, no VRAM, no sampler settings. You trade all of that for the one thing ComfyUI can't give you locally: a closed model. This node is the image-edit half of nan-boop's NanAix_comfyui pack, and it's for when you specifically want gpt-image-2 or nano-banana-2 / nano-banana-pro doing reference-based editing.
Why reach for it instead of the official ComfyUI API Nodes? Cost, mostly, plus region and billing. NanAix is one of those single-key reseller/proxy services that sit in front of the OpenAI and Google image APIs - think kie.ai or cometapi, but smaller and quieter. The README is bilingual (English + 中文) and its install examples point at a Chinese portable ComfyUI build (aki-v3), which tells you who it's really aimed at: if the official OpenAI/Google APIs are a wall where you live, a reseller key is often the only door. Honest caveat: this service has basically zero Reddit footprint as of mid-2026. You're trusting a small proxy, so you're not buying community consensus - you're buying access.
How it works
The node routes by model-name prefix. Type gpt-image-2 and it hits the image-2 Images API's edit endpoint with your reference images serialized in; type nano-banana-2 and it switches to the async task flow - POST /api/generate, then poll GET /api/result?id=task-id until a success or failure status arrives. Both paths come back as one or more decoded images, batched into a standard IMAGE tensor.
Before upload, the node normalizes your references: big images get downscaled to a 1536px max edge and JPEG-compressed at quality 85 to keep the request from timing out. A batched input on any slot is expanded into individual images. There's no mask or inpainting input in this MVP, so local region edits aren't a thing here - it's whole-image editing or nothing.
The inputs that matter
image_1- the main reference. Subject, composition, layout. At least one image slot must be connected or the node refuses to run.image_2throughimage_8- optional cues for style, lighting, palette, environment. The author's suggested pattern: subject in slot 1, style in slot 2, extras beyond.prompt,model,api_key- the free-text trio.modelis deliberately free-form so future model names work without a node update; unsupported prefixes are rejected before any network call.resolution_preset/width/height- presets likesquare,landscape_hd, up tosquare_4k, orcustomto keep the raw fields.n- image count. Above 1 you get a batch that still plugs straight intoPreviewImage/SaveImage.
Everything else - background (set transparent for cutout PNGs on gpt-image-2), style (vivid), moderation, output_compression, partial_images, stream - is gpt-image-2-only and quietly ignored by banana models. official_website is a display-only link, never sent.
Install
Easiest: ComfyUI Manager → search "Nanaix", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/nan-boop/NanAix_comfyui.git nanaix_Comfy
cd nanaix_Comfy
pip install -r requirements.txt
Restart ComfyUI, then find Nanaix_Image under the "Nanaix" category. The dependency list is just Pillow and numpy - refreshingly light for a pack that generates images.
Common issues
Invalid API key- wrong, missing, or pasted somewhere it isn't being read. It must go in the node's visibleapi_keyfield.Images API is not supported for this platform- your key's account group lacks image access. You need a key from an image-enabled group.No available compatible accounts- upstream is out of slots right now. Retry later.- Timeouts - the classic with big edits. Fewer reference images, smaller references, or a smaller output. Banana jobs that overrun report the task id so you can re-query it manually.
- Config gotcha - after a successful run the node saves your settings to
nanaix_config.jsonin the pack folder and prefills new nodes, but a blank visible key still errors even if an old key is in the file. And since that file holds a credential: don't commit it, don't paste your key into shared workflow JSON. This is an API node - it ships your key and calls the network by design, which is exactly the shape of thing that's been weaponized in this ecosystem before. This one's a small, readable, open codebase (that's reassuring), but read a fresh pack before you trust it, always.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe how the reference image should change. Mention the subject you want to preserve when useful. | |
| model | STRING | gpt-image-2 | Enter the Nanaix model name. Use gpt-image-* when you want image-2 controls such as transparent background, style, moderation, compression, or SSE streaming during edits. Use nano-banana-* for the simpler shared path when you do not need those gpt-image-2-only controls. This node routes by model family and always uses the single api_key field. |
| resolution_preset | COMBO | custom | Choose a resolution preset for common output sizes. Use custom to keep the width and height fields. |
| width | INT | 10241–4096 | Set the requested output width in pixels. |
| height | INT | 10241–4096 | Set the requested output height in pixels. |
| n | INT | 11–8 | Choose the number of images to request in one run. When n > 1, the node returns a ComfyUI IMAGE batch that still connects directly to PreviewImage and SaveImage. |
| quality | COMBO | high | Shared quality setting passed to the Nanaix backend. |
| output_format | COMBO | png | Preferred output file format for returned images. |
| background | COMBO | auto | Background mode for gpt-image-2 image editing. transparent is useful for cutout-style PNG output. Banana models currently ignore this field. |
| style | COMBO | natural | Image style hint for gpt-image-2 edits. vivid pushes a stronger stylized look. Banana models currently ignore this field. |
| moderation | COMBO | auto | moderation level for gpt-image-2 edit requests. Banana models currently ignore this field. |
| output_compression | INT | 00–100 | Output compression level for gpt-image-2 edits. Use 0 for the backend default. Banana models currently ignore this field. |
| partial_images | INT | 00–8 | Streamed preview segment count for gpt-image-2 edits. Use 0 to disable partial image requests. Banana models currently ignore this field. |
| stream | BOOLEAN | false | Enable SSE streaming for gpt-image-2 edits and wait for the completed event before returning the final IMAGE output. Banana models currently ignore this field. |
| api_key | STRING | Single API key field used for both gpt-image-* and nano-banana-* image editing. | |
| official_website | STRING | https://ai.nanaix.com | Nanaix official website. This display-only field is not sent to the API. |
| image_1opt | IMAGE | Optional reference image slot 1. Connect at least one reference image before queueing the workflow. Use image_1 as the main subject or composition guide. | |
| image_2opt | IMAGE | Optional reference image slot 2. Connect at least one reference image before queueing the workflow. Use image_2 as a secondary style or environment guide. | |
| image_3opt | IMAGE | Optional reference image slot 3. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. | |
| image_4opt | IMAGE | Optional reference image slot 4. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. | |
| image_5opt | IMAGE | Optional reference image slot 5. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. | |
| image_6opt | IMAGE | Optional reference image slot 6. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. | |
| image_7opt | IMAGE | Optional reference image slot 7. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. | |
| image_8opt | IMAGE | Optional reference image slot 8. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |