Nodes/木木--GPT-Image-2/木木--GPT-Image-2
ComfyUI Node

木木--GPT-Image-2

GPT Image inside ComfyUI, no GPU required — but it's an API node, so read this first

By mmuuai·Created 3 months ago·Updated 3 months ago· 2
木木--GPT-Image-2
  • 参考图片1
  • 参考图片2
  • 参考图片3
  • 参考图片4
  • 参考图片5
  • 参考图片6
  • 参考图片7
  • 参考图片8
  • 参考图片9
  • 参考图片10
  • 参考图片11
  • 参考图片12
  • 参考图片13
  • 参考图片14
  • 参考图片15
  • 参考图片16
  • 图片
模式自动
提示词:一张清爽的产品海报,白色背景,柔和影棚光,中文标题:木木 AI
接口地址https://aimumu.top
key:
模型gpt-image-2
画面比例1:1
质量auto
输出格式png
图片数量1
清晰度1k

Let's get the important part out of the way: this node does not run a model on your machine. MumuGPTImage2 (listed as "木木--GPT-Image-2") is an API wrapper. It takes your prompt, sends it to an OpenAI-compatible gpt-image-2 endpoint, and drops the returned image back into your graph as a plain IMAGE tensor - so on the canvas it looks exactly like a local sampler made it. No model download, no VRAM, no extra pip install. There's also a key, a per-call price, and a phone-home, because the model has no open weights. Reach for it when local isn't the answer, and not before.

How it works

The pack hits OpenAI's standard image API shape. Text-to-image goes to /v1/images/generations; image-to-image goes to /v1/images/edits. The 模式 (mode) dropdown lets you force either one or pick 自动, which chooses img2img whenever a reference image is connected and text2img otherwise - that's the sensible default for almost everyone.

The nice touch is how it handles size. The node UI splits composition from resolution - 画面比例 (aspect ratio) and 清晰度 (clarity, 1k/2k/4k) - then maps them to the concrete pixel size the API wants. 16:9 + 4k becomes 3840x2160; 1:1 + 2k becomes 2048x2048. Since some img2img backends ignore your requested size and just echo the reference image's proportions, the node center-crops and rescales the response back to your chosen dimensions before it hands you the tensor. So what you asked for is what you get, even if the backend was sloppy.

Two quirks are baked in by design: the img2img route rejects the n parameter and can drop long non-streaming requests, so edits always stream and always return exactly one image. 图片数量 (image count, 1–4) only really applies to text-to-image. And if your endpoint is an APIMart reseller (or the model name ends in -official), the node switches to that platform's async task protocol - submit, poll the task, download the result URL - instead of OpenAI's synchronous response. Local reference images get uploaded to /v1/uploads/images first, up to 16 of them.

The inputs you'll actually touch

Everything is in Chinese, which trips people up at first. The ones that matter:

  • 提示词: - your prompt, multiline. This one's the whole ballgame.
  • key: and 接口地址 - API key and endpoint URL. Default endpoint is https://aimumu.top, the author's own storefront. Both fields default from config.json, so you only set them once.
  • 模式 - 自动 / 文生图 / 图生图. Leave it on 自动.
  • 画面比例 + 清晰度 - the aspect/size combo described above.
  • 输出格式 - png, jpeg, webp, or 不发送 (don't send the format param and let the backend decide).
  • 参考图片1参考图片16 - optional IMAGE inputs. Connect one and the node dynamically reveals the next, so you don't stare at 16 empty sockets.

There's one output: 图片, an IMAGE tensor ready to wire into a preview, save, or whatever else. It also saves copies to your output directory by default.

Installing it

Through ComfyUI Manager, search "mumu-gpt-image2" (or the display name) and install. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/mmuuai/mumu-gpt-image2

Then restart ComfyUI. There are no pip dependencies - the pyproject.toml list is empty; it runs on urllib plus Pillow/numpy/torch, which ComfyUI already ships. After install, copy the config example and fill in your key:

cp custom_nodes/mumu-gpt-image2/config.example.json custom_nodes/mumu-gpt-image2/config.json

The README literally says to copy the folder into custom_nodes/ComfyUI-Mumu-GPT-Image-2; a plain git clone works fine, and Manager's way is the least error-prone.

Where people get burned

  • No key = instant error. The node refuses to run with an empty key: - there's no free tier hiding in there.
  • The key IS the product. This is a reseller-endpoint pack from a single-author Chinese repo, and "one node, paste your key, it just phones home" is exactly the category that got weaponized once before (the ComfyUI_LLMVISION malware incident). Read the source if you're careful - it's a compact single file - and don't point it at an endpoint you don't trust. The config.json is gitignored, which is good hygiene, but your key still transits someone's server on every call.
  • Costs add up and inputs leave the machine. Every generation is metered and your prompt plus reference images go to a backend you don't control, subject to its content filter. You can't abliterate a closed model; whatever the endpoint refuses, it refuses. For anything you want privacy or looseness on, stay local.
  • Img2img is one-image-only. Don't set 图片数量 to 4 expecting a batch of edits; the route drops n and returns one image.

It's a clean, genuinely useful bridge for the one job local ComfyUI can't do: GPT Image's famous text rendering and style transfer inside an otherwise-local workflow. Just remember you're renting the model, not owning it.

Category木木节点

Inputs (26)

NameTypeDefaultDescription
模式COMBO自动3 options: 自动, 文生图, 图生图
提示词:STRING一张清爽的产品海报,白色背景,柔和影棚光,中文标题:木木 AI
接口地址STRINGhttps://aimumu.top
key:STRING
模型STRINGgpt-image-2
画面比例COMBO1:116 options: auto, 1:1, 3:2, 2:3, 4:3, 3:4, +10
质量COMBOauto6 options: auto, low, medium, high, standard, hd
输出格式COMBOpng4 options: png, jpeg, webp, 不发送
图片数量INT11–4
清晰度optCOMBO1k4 options: 1k, 2k, 4k, 不发送
参考图片1optIMAGE
参考图片2optIMAGE
参考图片3optIMAGE
参考图片4optIMAGE
参考图片5optIMAGE
参考图片6optIMAGE
参考图片7optIMAGE
参考图片8optIMAGE
参考图片9optIMAGE
参考图片10optIMAGE
参考图片11optIMAGE
参考图片12optIMAGE
参考图片13optIMAGE
参考图片14optIMAGE
参考图片15optIMAGE
参考图片16optIMAGE

Outputs (1)

NameTypeDescription
图片IMAGE