萌宝AI·图像生成
Gpt-image-2 and Nano Banana behind one node, on someone else's meter
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- image_11
- image_12
- image_13
- image_14
- image_15
- image_16
- replica_settings
- images
- text
- failed_urls
WANGImageAPI (萌宝AI·图像生成) is the reason this pack exists. It's a cloud image generator inside your graph: text-to-image, image-to-image, and multi-reference editing across four model choices, with the result dropping into the canvas as a normal IMAGE you can mask, upscale and save like anything local. If your GPU is busy, or you want Nano Banana's text rendering next to your own detailer, this is the node.
The honest framing first: it does not run a model. It packages your prompt and reference images, POSTs them to a fixed endpoint (https://api.lk888.ai) and polls for the result. The model names you pick are the reseller's, not the vendor's - gpt-image-2 is sent as tt-image-2, nano-banana-2 as banana-2. Expect per-image billing, and expect your prompt and references to leave your machine.
Picking a model
Four options, and the reference-image ceiling changes with them:
gpt-image-2(→tt-image-2) - up to 14 reference images. Strong all-rounder, best text-in-image of the four.gpt-image-2.5(→tt-image-2.5) - up to 16 references, plus aflare/sunburstversion switch and the widest quality ladder (low→max).nano-banana-2(→banana-2) - 14 references,thinking_levelofminimalorhigh, and an unusual0.5Ksize if you want cheap drafts.nano-banana-2-pro(→banana-pro) - 14 references, 1K/2K/4K.
Each model has its own widget group and they're all on the node at once, so ignore the ones that don't apply; only the active model's parameters get sent. Ratios like 21:9, 1:4 and 8:1 exist only on the Banana models, 4K only on some, and the tt2_size dropdown is the odd one out - it's a full pixel list (1K 16:9 1920x1088) that the newer tt2_aspect_ratio + tt2_resolution pair supersedes.
Inputs and outputs
Required: prompt (multiline), api_key, connection_json (legacy credential channel - leave it blank on new workflows), model_type, batch_size (1–10), the per-model parameter groups, timeout (600s default), retries (0–5) and ui_language.
Optional: image_1 through image_16 (reference images for editing - the node enforces each model's ceiling and errors rather than truncating) and replica_settings, which accepts the output of the replica settings node. You can't have both: wiring reference images and replica_settings raises an error, since the replica path supplies its own ordered reference list starting from the original image.
Outputs: images (IMAGE batch), text (the raw JSON response for each call) and failed_urls. Two behaviours worth knowing:
batch_sizeis a loop of single-image calls, notn=4on one call. Four images means four billable requests, and they can partially fail.- When no image comes back, the node still outputs a placeholder image with the error rendered onto it, so the graph keeps running instead of exploding six nodes downstream.
textandfailed_urlsare where the real diagnosis lives - read those before assuming the model refused you.
retries only covers the polling and download GETs. The task-creation POST is deliberately never retried, because a duplicated POST means a duplicated charge.
Two nice touches
Set tt2_background or tt25_background to transparent and the node appends an instruction to your prompt demanding a real Alpha channel and explicitly forbidding a painted chessboard - the classic failure you get otherwise when you ask a cloud model for a cutout. And timeout is 600 seconds by default because these jobs queue server-side; keep it generous.
Installing it
Search MengBaoAI / mengbaoai / 萌宝AI in ComfyUI-Manager, or comfy node install mengbaoai. Until the Registry listing is fully live, Git:
cd ComfyUI/custom_nodes
git clone https://github.com/Corkery520/ComfyUI-MengBaoAI.git
cd ComfyUI-MengBaoAI
python -m pip install -r requirements.txt
numpy, Pillow, requests - nothing heavy, and the README explicitly says not to replace the environment's torch or aiohttp. You need a key: either type it into the node's api_key widget or save it once in the pack's global key node, which the vision nodes require anyway. The pack's floating toolbar also exposes a history panel showing each generation's status, model and prompt.
Things that bite
- Cost. There's no free tier - every run is metered by the reseller, and
batch_size=10is ten charges. Test withbatch_size=1. - A failed batch isn't necessarily a failed charge. The README notes the same thing about vision timeouts: if the upstream job ran, you may have been billed. Don't hammer "run" on a timeout.
- Model labels ≠ official APIs.
gpt-image-2routed through a third-party base is not OpenAI's endpoint, with different pricing, possibly different filters, and different retention. The KB's take on reseller routing applies unchanged: great for cost, region and billing reasons, worth a raised eyebrow otherwise. - Model naming churn. Community threads in mid-2026 refer to both Nano Banana 2 and GPT Image 2 as current, so the dropdown is roughly up to date - but a reseller can rename or retire a backend model without notice, and the node will report the error rather than guess.
Inputs (40)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Generate a cinematic image | — |
| connection_json | STRING | — | |
| api_key | STRING | — | |
| model_type | COMBO | gpt-image-2 | 4 options: gpt-image-2, gpt-image-2.5, nano-banana-2, nano-banana-2-pro |
| batch_size | INT | 11–10 | — |
| tt2_size | COMBO | auto | 34 options: auto, 1K 1:1 1024x1024, 1K 2:3 1024x1536, 1K 3:2 1536x1024, 1K 3:4 960x1280, 1K 4:3 1280x960, +28 |
| tt2_aspect_ratio | COMBO | auto | 12 options: auto, 1:1, 2:3, 3:2, 3:4, 4:3, +6 |
| tt2_resolution | COMBO | auto | 4 options: auto, 1K, 2K, 4K |
| tt2_background | COMBO | opaque | 3 options: opaque, transparent, auto |
| tt2_quality | COMBO | auto | 4 options: auto, high, medium, low |
| tt25_version | COMBO | flare | 2 options: flare, sunburst |
| tt25_aspect_ratio | COMBO | auto | 14 options: auto, 1:1, 16:9, 9:16, 4:3, 3:4, +8 |
| tt25_resolution | COMBO | auto | 4 options: auto, 1K, 2K, 4K |
| tt25_quality | COMBO | auto | 6 options: auto, low, medium, high, xhigh, max |
| tt25_background | COMBO | opaque | 3 options: opaque, transparent, auto |
| banana2_aspect_ratio | COMBO | 1:1 | 14 options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, +8 |
| banana2_image_size | COMBO | 1K | 4 options: 0.5K, 1K, 2K, 4K |
| banana2_thinking_level | COMBO | minimal | 2 options: minimal, high |
| banana_pro_aspect_ratio | COMBO | 1:1 | 10 options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, +4 |
| banana_pro_image_size | COMBO | 1K | 3 options: 1K, 2K, 4K |
| timeout | INT | 60030–1800 | — |
| retries | INT | 20–5 | — |
| ui_language | COMBO | en | 2 options: en, zh |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — | |
| image_9opt | IMAGE | — | |
| image_10opt | IMAGE | — | |
| image_11opt | IMAGE | — | |
| image_12opt | IMAGE | — | |
| image_13opt | IMAGE | — | |
| image_14opt | IMAGE | — | |
| image_15opt | IMAGE | — | |
| image_16opt | IMAGE | — | |
| replica_settingsopt | MENGBAO_REPLICA_SETTINGS | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| text | STRING | — |
| failed_urls | STRING | — |