ComfyUI Node

Nanaix_Text

Nanaix_Text calls GPT-Image and Nano Banana from ComfyUI

By nan-boop·Created 4 months ago·Updated 3 months ago· 0
Nanaix_Text
    • 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

    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 to gpt-image-2. Type nano-banana-2 or nano-banana-pro to switch routes. Anything not starting with gpt-image- or nano-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 from square up to square_4k, or custom to keep manual control.
    • quality and output_format - high/medium/low, and png/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's api_key field.
    • 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.json in 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.
    CategoryNanaix

    Inputs (16)

    NameTypeDefaultDescription
    promptSTRINGDescribe the image to generate. A more specific prompt usually produces more controllable results.
    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. 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. transparent is especially useful for gpt-image-2 PNG assets. Banana models currently ignore this field.
    styleCOMBOnaturalImage style hint for gpt-image-2. vivid pushes a stronger stylized look. Banana models currently ignore this field.
    moderationCOMBOautomoderation level for gpt-image-2 requests. Banana models currently ignore this field.
    output_compressionINT00–100Output compression level for gpt-image-2. Use 0 for the backend default. Banana models currently ignore this compression field.
    partial_imagesINT00–8Streamed preview segment count for gpt-image-2. Use 0 to disable partial image requests. Banana models currently ignore this field.
    streamBOOLEANfalseEnable 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_keySTRINGSingle API key field used for both gpt-image-* and nano-banana-* models.
    official_websiteSTRINGhttps://ai.nanaix.comNanaix official website. This display-only field is not sent to the API.

    Outputs (1)

    NameTypeDescription
    imageIMAGE