Concurrent Submit | Zhenzhen GPT Image 2 S2A
GPT Image 2 as an async task — and the node that lets you recover it
- image1
- image2
- image3
- image4
- task
S2A means sync-to-async, and it's the pack's answer to GPT Image 2's worst habit: finishing server-side after your client gave up. The README is blunt that this node exists because the earlier chat-format version kept dropping results - and that only async tasks get refunded on failure, which is why you should use this one. The job runs as an asynchronous task on the author's server, shows up in the shop's async-task list, and - critically - you can paste its task_id back into the node to pull the finished image instead of re-spending credits on a rerun.
The Comfyui-zhenzhen pack resells GPT Image 2 through its own key, and this concurrent submit version queues a batch of these async jobs in the shared image pool.
How the concurrent bit works
The plain Comfly_gpt_image_2_S2A node blocks until the async job resolves. 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).mode-text2imgorimg2img. Connect images in img2img.image1…image4- reference images for editing.model-gpt-image-2/-all/-2K/-4K.quality- auto/high/medium/low.size- auto or the three fixed presets.n- 1–4 images per call.task_id- the recovery slot. Paste a previous job's ID here and the node resolves that task's result instead of generating fresh.response_format-urlorb64_json.background,output_format,moderation- the usual family controls.
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 S2A note is a survival manual: when ComfyUI times out, the job may still be running - head to the shop's async-task page, grab the task ID, and pull the result rather than paying twice. Refunds only happen on async-task failures, which is the whole reason the author says "use this one" over the old chat path. Like all official GPT Image 2 channels, expect congestion when OpenAI is loaded - the 2K/4K discount models and the fal channel exist as the pressure-release valves. And the seed here is a cache-control seed for ComfyUI, not a real generation seed.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| mode | COMBO | text2img | 2 options: text2img, img2img |
| 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 |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| qualityopt | COMBO | auto | 4 options: auto, high, medium, low |
| sizeopt | COMBO | auto | 4 options: auto, 1024x1024, 1536x1024, 1024x1536 |
| backgroundopt | COMBO | auto | 3 options: auto, transparent, opaque |
| output_formatopt | COMBO | png | 3 options: png, jpeg, webp |
| moderationopt | COMBO | auto | 2 options: auto, low |
| nopt | INT | 11–4 | — |
| task_idopt | STRING | — | |
| response_formatopt | COMBO | url | 2 options: url, b64_json |
| seedopt | INT | 00–2147483647 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |