Concurrent Submit | Zhenzhen Gemini API
The general-purpose Gemini image node, made batch-friendly
- object_image
- subject_image
- scene_image
- task
This is the pack's generic Gemini image node - the one that hits Google's chat-format image endpoint directly rather than going through a model-specific wrapper. Its default model, gemini-2.0-flash-exp-image, is the Nano Banana first-gen line: fast, cheap, and good enough for a huge swath of image work. If you've used any of the other Gemini-flavored nodes in Comfyui-zhenzhen and wished you had one node with all the knobs, this is it - resolution, temperature, top_p, seed, and the three special reference slots (object_image, subject_image, scene_image) that let you pin down exactly what the composition should keep.
Like everything in this pack, it's an API call with the author's reseller key - no weights, no VRAM. The Concurrent Submit wrapper is what turns it into a batch tool: fire thirty jobs, collect thirty images.
How the concurrent bit works
The plain ComflyGeminiAPI node blocks until Google returns. The Submit variant runs it in the pack's shared image pool (30 workers) and hands back a task immediately. Collect via Concurrent Collect Images (30): wire task_1 … and the collector waits for the whole batch, returning images in slot order plus a status string. failure_mode = fail-fast (default) or placeholder.
If you're doing something like "one product, thirty prompt variations," this is the node where the concurrency pays for itself.
The inputs that matter
prompt(required) - the description or edit instruction.model- free-text string, defaults togemini-2.0-flash-exp-image. The pack's README documents renaming across the Gemini family as Google rotated preview→production names, so keep this field current.resolution- nine choices including the fun trioobject_image size/subject_image size/scene_image size, which mirror the size of whichever reference you connect.num_images- 1–4.temperature(default 1) andtop_p(0.95) - the creative-control knobs.object_image/subject_image/scene_image- the three reference slots. Wire one up and the model treats it as that role in the composition.timeout- default 120s, up to 600. Long jobs on slow upstream days want this raised.
Output: one task (COMFLY_IMAGE_FUTURE) → Collector → images.
Installing it
Ships in Comfyui-zhenzhen:
- ComfyUI Manager → Install Custom Nodes → search "Comfyui-zhenzhen" → install → restart.
- Or
cd ComfyUI/custom_nodes && git clone https://github.com/T8mars/Comfyui-zhenzhenand restart.
No model downloads. You need a paid token from the author's storefront (ai.t8star.org), in api_key.
Gotchas
The README's Gemini saga is a masterclass in "the model's not the problem": Google rotated model names (anything with preview in it got renamed), rate-limits the cheap token groups hard, and occasionally returns white/empty images on 4K under load. The author's standing advice for this family: use the premium token group for 2K/4K, accept that the default group is a lottery, and if you get an empty result that you were charged for, check the shop's task log - it may have actually generated. A 429 or 500 here is Google, not you; retry.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | STRING | gemini-2.0-flash-exp-image | — |
| resolution | COMBO | 1024x1024 | 9 options: 512x512, 768x768, 1024x1024, 1280x1280, 1536x1536, 2048x2048, +3 |
| num_images | INT | 11–4 | — |
| temperature | FLOAT | 1.000–2 | — |
| top_p | FLOAT | 0.950–1 | — |
| seed | INT | 00–2147483647 | — |
| timeout | INT | 12010–600 | — |
| api_keyopt | STRING | — | |
| object_imageopt | IMAGE | — | |
| subject_imageopt | IMAGE | — | |
| scene_imageopt | IMAGE | — | |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |