Zhenzhen GPT Image 2 Fal
4K in ~70 seconds, custom sizes
- image1
- image2
- image3
- image4
- mask
- images
- response
- image_urls
gpt-image-2 is OpenAI's current flagship image model, and this node reaches it through the fal route - which, on this pack, is the "fast and stable" lane. The README brags and it's mostly earned: 2K and 4K output, 4K in around 70 seconds, effectively unlimited concurrency, and custom resolution support. The catch is the one line buried in the changelog: "注意设置的自定义尺寸一定要被16整除" - your custom width and height must be divisible by 16, or the request fails. Write that down.
Comfly_gpt_image_2_fal does both generate and edit (the mode toggle), and being the fal route it's pre-deduction billing: the relay holds a base amount, then settles the real cost after the job based on quality, input images, and output size.
The inputs that matter
- prompt and mode (
generateoredit) - the two required ones. - image1–image4 and mask - the edit material when mode is
edit. Note the mask here is an IMAGE-typed input (a mask image), not a MASK tensor. - image_size -
auto, the preset ratios (square_hd,square,portrait_4_3,portrait_16_9,landscape_4_3,landscape_16_9), orcustom. Oncustom, custom_width and custom_height kick in - up to 3840×2160, and again: both must be multiples of 16. - quality -
auto,high,medium,low. - num_images - 1 to 4.
- output_format -
png,jpeg,webp. - image_way -
image_url(default) orbase64for how your inputs travel. - seed - capped at FAL's 65535 (0 = random). poll_interval and max_poll_attempts control the wait loop; the default 600 × 6s is a full hour of patience.
Outputs: images (IMAGE tensor), response (JSON), image_urls (hosted results).
Install and key
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Restart, or ComfyUI Manager → "Comfyui-zhenzhen". The fal nodes use the same Zhenzhen key - ai.t8star.org - no separate fal.ai account needed; the relay fronts the fal endpoint. Default token group is fine for this lane.
Reality check
The fal lane is the one people actually report as stable for 4K, so if the official-route nodes are giving you white images or timeouts, this is the fallback to try. Watch the billing model: fal is pre-deducted and settles after, so the deduction line isn't the final price - the README flags this explicitly. And as always with this pack: 500s are usually upstream, re-run before debugging, and your prompts and reference images are leaving the machine. The 16-divisibility rule is the one gotcha unique to this node - a 1280×720 custom size is fine, a 1279×720 will waste a credit on an error.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| mode | COMBO | edit | 2 options: generate, edit |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| maskopt | IMAGE | — | |
| api_keyopt | STRING | — | |
| qualityopt | COMBO | auto | 4 options: high, medium, low, auto |
| image_sizeopt | COMBO | custom | 8 options: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, +2 |
| custom_widthopt | INT | 3840256–3840 | Custom width (must be multiple of 16). Only used when image_size='custom'. |
| custom_heightopt | INT | 2160256–3840 | Custom height (must be multiple of 16). Only used when image_size='custom'. |
| num_imagesopt | INT | 11–4 | — |
| output_formatopt | COMBO | png | 3 options: png, jpeg, webp |
| image_wayopt | COMBO | image_url | 2 options: image_url, base64 |
| seedopt | INT | 00–65535 | 0 = random seed. FAL seed max is 65535. |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| response | STRING | — |
| image_urls | STRING | — |