ComfyUI Node

Nanaix_Image

Nanaix_Image wires GPT-Image and Nano Banana straight into your graph

By nan-boop·Created 4 months ago·Updated 3 months ago· 0
Nanaix_Image
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image
prompt
modelgpt-image-2
resolution_presetcustom
width1024
height1024
n1
qualityhigh
output_formatpng
backgroundauto
stylenatural
moderationauto
output_compression0
partial_images0
streamfalse
api_key
official_websitehttps://ai.nanaix.com

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_2 through image_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. model is 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 like square, landscape_hd, up to square_4k, or custom to keep the raw fields.
  • n - image count. Above 1 you get a batch that still plugs straight into PreviewImage / 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 visible api_key field.
  • 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.json in 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.
CategoryNanaix

Inputs (24)

NameTypeDefaultDescription
promptSTRINGDescribe how the reference image should change. Mention the subject you want to preserve when useful.
modelSTRINGgpt-image-2Enter 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_presetCOMBOcustomChoose a resolution preset for common output sizes. Use custom to keep the width and height fields.
widthINT10241–4096Set the requested output width in pixels.
heightINT10241–4096Set the requested output height in pixels.
nINT11–8Choose 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.
qualityCOMBOhighShared quality setting passed to the Nanaix backend.
output_formatCOMBOpngPreferred output file format for returned images.
backgroundCOMBOautoBackground mode for gpt-image-2 image editing. transparent is useful for cutout-style PNG output. Banana models currently ignore this field.
styleCOMBOnaturalImage style hint for gpt-image-2 edits. vivid pushes a stronger stylized look. Banana models currently ignore this field.
moderationCOMBOautomoderation level for gpt-image-2 edit requests. Banana models currently ignore this field.
output_compressionINT00–100Output compression level for gpt-image-2 edits. Use 0 for the backend default. Banana models currently ignore this field.
partial_imagesINT00–8Streamed preview segment count for gpt-image-2 edits. Use 0 to disable partial image requests. Banana models currently ignore this field.
streamBOOLEANfalseEnable 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_keySTRINGSingle API key field used for both gpt-image-* and nano-banana-* image editing.
official_websiteSTRINGhttps://ai.nanaix.comNanaix official website. This display-only field is not sent to the API.
image_1optIMAGEOptional 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_2optIMAGEOptional 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_3optIMAGEOptional reference image slot 3. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.
image_4optIMAGEOptional reference image slot 4. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.
image_5optIMAGEOptional reference image slot 5. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.
image_6optIMAGEOptional reference image slot 6. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.
image_7optIMAGEOptional reference image slot 7. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.
image_8optIMAGEOptional reference image slot 8. Connect at least one reference image before queueing the workflow. Additional slots can add more supporting reference cues.

Outputs (1)

NameTypeDescription
imageIMAGE