Concurrent Submit | zhenzhen-gpt-image-2-official
GPT Image 2 official channel, with the polling knobs exposed
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- image11
- image12
- image13
- image14
- image15
- image16
- mask
- task
This is the base "official" GPT Image 2 node in the Comfyui-zhenzhen pack - the one that hits OpenAI's first-party-style endpoint (resold through the author's shop) with the full set of controls: up to sixteen reference images, an optional mask, quality, size presets up to 4K, async mode, and real polling/retry knobs. It's the generalist of the GPT Image 2 family. The ratio-focused siblings trade the fixed size list for aspect ratios; this one keeps the classic size presets and exposes the machinery underneath.
Like everything here, it's an API wrapper: no weights, no VRAM, metered per job. The Concurrent Submit variant is what lets you fire a stack of these at once rather than waiting on each render serially - useful, because official-channel GPT Image 2 has a reputation in this pack's README for being slow when OpenAI is under load.
How the concurrent bit works
The plain Comfly_gpt_image_2_official node blocks until the job lands. The Submit variant runs it in the pack's shared image pool (30 workers) and returns a task immediately. Collect via Concurrent Collect Images (30): wire task_1 … and the collector waits for the batch, returning images in slot order plus a status string. failure_mode = fail-fast (default) or placeholder.
The inputs that matter
prompt(required).image1…image16- the multi-image edit inputs (16 was the README's explicit upgrade over the earlier 5).maskfor inpainting.model-gpt-image-2,-all,-2K, or-4K. The 2K/4K models are separate discounted fallback channels per the README's pricing history.size- auto plus 1024² → 3840×2160 / 2160×3840.quality- auto/high/medium/low.async_mode- default true. Asynchronous task submission is what makes the shop's task log your recovery path.webhook- optional URL for completion callbacks.max_poll_attempts(300) /poll_interval(5s) /max_retries(5) /initial_timeout(900s) - the knobs that keep slow official-channel jobs from dying silently.
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 GPT Image 2 saga is a congestion story: the official channel kept getting slow or erroring ("system error" = OpenAI resource shortage), and the author kept adding fallback channels and 2K/4K discount models in response. If this node feels slow, try the -2K/-4K model options or the fal channel instead - that's literally why they exist. async_mode + task-ID recovery is your friend when a job times out client-side but finishes server-side: find the task in the shop's async list rather than paying for a rerun. And remember the token group matters - some endpoints only work with specific groups.
Inputs (35)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — | |
| image11opt | IMAGE | — | |
| image12opt | IMAGE | — | |
| image13opt | IMAGE | — | |
| image14opt | IMAGE | — | |
| image15opt | IMAGE | — | |
| image16opt | IMAGE | — | |
| maskopt | MASK | — | |
| api_keyopt | STRING | — | |
| modelopt | COMBO | gpt-image-2 | 4 options: gpt-image-2, gpt-image-2-all, gpt-image-2-2K, gpt-image-2-4K |
| nopt | INT | 11–10 | — |
| qualityopt | COMBO | auto | 4 options: auto, high, medium, low |
| sizeopt | COMBO | auto | 8 options: auto, 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, +2 |
| backgroundopt | COMBO | auto | 2 options: auto, opaque |
| output_formatopt | COMBO | png | 3 options: png, jpeg, webp |
| output_compressionopt | INT | 1000–100 | — |
| moderationopt | COMBO | auto | 2 options: auto, low |
| async_modeopt | BOOLEAN | true | — |
| webhookopt | STRING | — | |
| max_poll_attemptsopt | INT | 30010–1000 | — |
| poll_intervalopt | INT | 52–60 | — |
| max_retriesopt | INT | 51–10 | — |
| initial_timeoutopt | INT | 90060–1200 | — |
| seedopt | INT | 00–18446744073709550000 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |