Nanaix_Text
Nanaix_Text calls GPT-Image and Nano Banana from ComfyUI
- image
No GPU, no model folder, no UNET drama. Nanaix_Text takes a prompt, calls ai.nanaix.com, and hands you back a native ComfyUI IMAGE tensor you can wire straight into PreviewImage, SaveImage, an upscaler, or anything else downstream. It's the text-to-image half of the NanAix_comfyui pack by nan-boop, and it exists for one reason: the models it generates with - gpt-image-2 and nano-banana-2 / nano-banana-pro - are closed. You cannot download them, so an API node is the only door into your workflow. Think of it as a much cheaper, single-key stand-in for the official ComfyUI API Nodes if you're outside the regions those bill nicely in.
Here's the honest picture before you get excited. NanAix is a reseller/proxy sitting in front of OpenAI's and Google's image APIs, and as of mid-2026 it has essentially zero Reddit footprint - a loose search turns up nothing real, which is the opposite of the community buzz around, say, ComfyUI's own Partner Nodes. The README is bilingual and aimed partly at a Chinese-market ComfyUI build, which is the giveaway: this is the kind of service people use when the first-party API is blocked, unpayable, or just overpriced where they live. You're trading community consensus for access. Fine - just know what you're buying.
How it works
The node routes by model prefix. gpt-image-* goes to the image-2 Images API's text-to-image endpoint with a deliberately conservative payload (model, prompt, size, quality, format, b64_json) - the author keeps the request lean because unstable optional fields have caused upstream failures before. nano-banana-* takes the async path instead: submit with POST /api/generate, then poll GET /api/result?id=task-id until the task finishes. Either way, the returned images are decoded and batched into a standard IMAGE tensor, so it behaves like a local generator node on the canvas even though the pixels were born in a datacenter.
The inputs that matter
prompt- the whole job. Multiline, with dynamic prompts enabled. A specific prompt gets you a controllable result.model- free-form text, defaulting togpt-image-2. Typenano-banana-2ornano-banana-proto switch routes. Anything not starting withgpt-image-ornano-banana-is rejected before any request is sent.api_key- one key for both model families. It must be filled in the visible field; saved config prefills new nodes but a blank field still errors.resolution_preset/width/height- presets fromsquareup tosquare_4k, orcustomto keep manual control.qualityandoutput_format-high/medium/low, andpng/webp/jpeg.
The rest (background - set transparent for PNG cutouts - style, moderation, output_compression, partial_images, stream) are gpt-image-2 controls that banana models ignore. If you don't need transparent backgrounds or SSE streaming, nano-banana-* is the simpler, more predictable path.
Install
ComfyUI Manager → search "Nanaix" and install, or do it by hand:
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 and search Nanaix_Text (it lives under the "Nanaix" category). Dependencies are just Pillow and numpy - no torch, no checkpoint downloads, because there are no local weights to fetch.
Common issues
Invalid API key- the key is wrong or missing from the node'sapi_keyfield.Images API is not supported for this platform- your key's account group has no image-API access. You need a key from an image-enabled group.No available compatible accounts- upstream has no compatible slot right now; retry later.- Timeouts - with gpt-image-2 keep
n=1; the upstream docs recommend not depending on multi-image responses. Banana jobs that overrun report their task id so you can poll it yourself. - One config trap - success saves
nanaix_config.jsonin the pack folder and prefills future nodes, but a blank visible key still raises an error even when the file holds an old one. And since that file contains your key: never commit it or paste it into a shared workflow. This node phones home with a credential by design - the exact shape of thing the ecosystem has been burned by before - so it's worth the thirty seconds to skim the source before you hand it a key. Small, readable, open codebase, which is more than you get from a lot of API packs.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the image to generate. A more specific prompt usually produces more controllable results. | |
| 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. 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. transparent is especially useful for gpt-image-2 PNG assets. Banana models currently ignore this field. |
| style | COMBO | natural | Image style hint for gpt-image-2. vivid pushes a stronger stylized look. Banana models currently ignore this field. |
| moderation | COMBO | auto | moderation level for gpt-image-2 requests. Banana models currently ignore this field. |
| output_compression | INT | 00–100 | Output compression level for gpt-image-2. Use 0 for the backend default. Banana models currently ignore this compression field. |
| partial_images | INT | 00–8 | Streamed preview segment count for gpt-image-2. Use 0 to disable partial image requests. Banana models currently ignore this field. |
| stream | BOOLEAN | false | Enable SSE streaming for gpt-image-2 requests 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-* models. | |
| official_website | STRING | https://ai.nanaix.com | Nanaix official website. This display-only field is not sent to the API. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |