zhenzhen-recraft-v4.1-fal
Brand-style images from a prompt
- images
- response
- image_urls
Recraft's whole pitch is that it draws like a designer, not like an AI - clean vector-ish graphics, posters, icons, packaging - and it's one of the models people genuinely can't run locally. Comfly_recraft_v4_1_fal is the zhenzhen pack's door to it: a text-to-image node that wraps the Recraft V4.1 endpoint on the fal queue and hands you back a normal ComfyUI IMAGE. The party trick this node adds is color control - you can pin a background and feed it a palette, which is exactly the kind of thing you'd otherwise fight a diffusion model for an hour to get.
Like every *_fal node in this pack, it talks to the fal.ai queue through zhenzhen's proxy at https://ai.t8star.org/fal and uses the token from the zhenzhen shop in its api_key field. Submit, poll, download. FAL routes are prepaid - credits are taken up front and the overcharge refunded after the job lands - and the actual cost scales with output size and how long the queue is.
The inputs that matter
prompt- required, and it does most of the work. Recraft rewards specific, graphic-design-style language.image_size-square_hd(default),square, portrait and landscape 4:3/16:9 presets. Note it's a preset list, not free WxH.background_r/background_g/background_b- an RGB background color. Set all three to a real value to use it; any at-1(the default) disables the background color entirely.palette_colors- the interesting one. One RGB triple per line (255,0,0), and the model sticks to that palette. This is the knob that gets you on-brand output.enable_safety_checker- on by default; the model's moderation runs server-side, so this is mostly a "let me trip the filter myself" switch.
Outputs are images (tensor), image_urls (strings), and response (the raw API reply, handy when the queue eats your job). poll_interval (6s default) and max_poll_attempts (600 ≈ 1 hour) control the wait; if the queue is slow, raise the attempts rather than assuming it hung.
Installing it
Standard API-pack install - no models to download. ComfyUI Manager, search "Comfyui-zhenzhen", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
restart, and paste a zhenzhen shop token (overseas https://ai.t8star.org, or the domestic low-price https://api.seedance.nz) into api_key. The requirements are plain HTTP/image-stack dependencies.
Common issues
- Colors come out wrong anyway - the palette is a strong hint, not a constraint; Recraft will still drift. Re-roll rather than fighting it.
- Background color silently ignored - you left one of the three channels at
-1. The node only sendsbackground_colorwhen all three are set. - Timeouts - the queue backs up at peak; that's what
max_poll_attemptsis for.
If you need local, controllable graphic design you'd be reaching for a different tool entirely - Recraft's value is that it's already better at "designer output" than anything open-weight. This node just makes it reachable from inside a ComfyUI workflow for a few cents a shot.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_keyopt | STRING | — | |
| image_sizeopt | COMBO | square_hd | 6 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 |
| background_ropt | INT | -1-1–255 | -1 disables background_color. |
| background_gopt | INT | -1-1–255 | — |
| background_bopt | INT | -1-1–255 | — |
| palette_colorsopt | STRING | Optional RGB colors, one per line, format: r,g,b | |
| enable_safety_checkeropt | BOOLEAN | true | — |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| response | STRING | — |
| image_urls | STRING | — |