Nodes/ComfyUI-Puter.js/Puter.js Image Generator
ComfyUI Node

Puter.js Image Generator

The Node That Sneaks Nano Banana and GPT-Image Into Your ComfyUI Graph

By Meisoftcoltd·Created 3 months ago·Updated 3 months ago· 0
Puter.js Image Generator
  • image
  • IMAGE
promptA peaceful mountain landscape at sunset
modeldefault
qualitydefault

This node runs zero of your own VRAM. The Puter.js Image Generator is a bridge: it takes your prompt, phones home to the Puter cloud platform, and drops a finished image back into your workflow as a normal IMAGE tensor - as if a local sampler had made it. In one dropdown it can hand you Nano Banana (Gemini), GPT-Image, DALL·E 3, Flux Pro, Imagen, and SDXL. None of those except the last two are ever going to run on your machine, so if you've been envying closed-model quality from inside a local graph, this is the shortest path in.

What it actually is

Meisoftcoltd/ComfyUI-Puter.js is a small two-language pack: a Python node and a Node.js "bridge" script. The Python half is a thin wrapper - it packages your prompt, model, and optional input image, then shells out to node puter_bridge.js with those as command-line arguments. The bridge is where the real work happens: it loads the @heyputer/puter.js SDK and calls puter.ai.txt2img(), which is Puter's hosted text-to-image endpoint. The returned image lands in a temp PNG, gets loaded back as a tensor, and the temp files are cleaned up. From the canvas it's one node; underneath it's an HTTP client wearing a GPU's coat.

The KB's API-wrapper-node essay frames exactly this pattern: an API-wrapper node is the right tool for a model you cannot run locally, and the wrong default for one you can. That's your compass here. Pick gemini-3-pro-image-preview or gpt-image-2 and you're using the node for what it's for. Pick SDXL and you're just paying cloud credits for a model you probably already have.

The inputs that matter

  • prompt - multiline text, defaulting to a mountain landscape. This is what you'd expect.
  • model - a dropdown of ten. default lets Puter pick; the others map to real products: gemini-2.5-flash-image-preview, gemini-3-pro-image-preview and gemini-3.1-flash-image-preview are Google's Nano Banana line, gpt-image-2 and dall-e-3 are OpenAI, black-forest-labs/flux-schnell and flux-1.1-pro are BFL, and google/imagen-4.0-ultra plus stabilityai/stable-diffusion-xl-base-1.0 round it out.
  • quality - default / low / medium / high / standard / hd. One catch baked into the source: it's silently ignored whenever the model name contains "gemini", because those models choke on the quality param. Not a bug, a patch.
  • image (optional) - connect any image to enable image-to-image. The node base64-encodes it and passes it as input_image to Puter.

Output: a single IMAGE tensor. Wire it into a Save Image or Preview Image node, or straight into an upscaler.

Installing it

You need Node.js 18+ - the whole point is that Puter.js is a JavaScript SDK, so this is one of the rare ComfyUI packs where Python isn't enough. Check with node -v and install from nodejs.org if it's missing. Then, via ComfyUI Manager (search "Puter" or paste the repo URL) or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Meisoftcoltd/ComfyUI-Puter.js
cd ComfyUI-Puter.js
npm install   # install.py runs this automatically under Manager

Restart ComfyUI and you'll find the node under PuterAI. The only real dependency is @heyputer/puter.js; no model files, nothing heavy.

The gotcha the README forgets

The README never mentions a token, but the bridge requires one: without it you get "No se encontró el archivo puter_token.txt" and the node fails. Puter's model is "user pays, no developer API keys," which means your Puter account covers the cost. Sign up at puter.com, grab your auth token from your account settings, and save it to a plain-text file:

cd ComfyUI/custom_nodes/ComfyUI-Puter.js
echo "YOUR_PUTER_AUTH_TOKEN" > puter_token.txt

Generation draws on Puter's free monthly credit allowance, then on paid credits once it's gone - per-call metered, so the SDXL option is the fastest way to burn through freebies. Also keep the KB's security frame in mind: this node's whole job is shipping your prompts and images to someone else's server, so treat it as a node that phones home by design, and give a fresh pack like this a skim of its puter_bridge.js before you trust it with anything sensitive.

CategoryPuterAI

Inputs (4)

NameTypeDefaultDescription
promptSTRINGA peaceful mountain landscape at sunset
modelCOMBOdefault10 options: default, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, gemini-2.5-flash-image-preview, gpt-image-2, dall-e-3, +4
qualityCOMBOdefault6 options: default, low, medium, high, standard, hd
imageoptIMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE