Jimeng Image 4.0
A paid ByteDance API wrapped in a node
- images
Let's be upfront about what this node is: it's a thin wrapper around ByteDance's Jimeng (即梦) 4.0 image model, served through the Volcengine API. No local GPU, no model download - you're renting generation from a Chinese cloud service that has, like almost everything ByteDance ships in this space, stayed resolutely closed-source. You install it because you want Jimeng 4.0's output inside your ComfyUI graph without tabbing out to a web app, or because you want to chain its results into the rest of a local pipeline - upscale the output, batch it, compare it against your local checkpoints.
The catch, and it's a real one: you're paying for this. Every run is a live API call, and the node deliberately disables ComfyUI's caching (IS_CHANGED always returns a fresh timestamp), which means every graph execution fires a fresh, billable request. Accidentally rerun a prompt that has the node sitting upstream and you've just spent credits on images you didn't want. Treat it like a printer: think before you hit queue.
The three-key problem
Most API nodes need one key. This one needs three, and the third is the weird one. You need a Volcengine access_key and secret_key (grab them at volcengine.com), but you also need a PicGo API key - a separate signup at picgo.net. Why? Because the Jimeng 4.0 API won't accept base64-encoded images, only public URLs. So the moment you connect an input image, the node uploads it to PicGo's image hosting and passes back a URL. If you feed it an image without a picgo_api_key, it hard-errors. Non-Chinese users should also brace themselves: Volcengine's console, billing, and docs are heavily CN-oriented, and that friction is real community signal, not paranoia.
How it works
Under the hood it uses Volcengine's official Python SDK, which the pack vendors inside lib/volcengine - no pip install needed. It submits an async task (request key jimeng_t2i_v40) and then polls for the result every poll_interval seconds until timeout (defaults: 5s and 300s) gives up. The dynamic input slots are the part to know: connect an image and a second image_2 slot appears, up to ten of them, for image editing and multi-image composition rather than plain text-to-image. Output is an images list (IMAGE), ready for any downstream node.
The inputs that matter
prompt- the text prompt. Defaults to a Chinese phrase ("一幅美丽的风景画"), so type over it.force_singleandscale- control whether you get one image or a grid, and the guidance scale.size_mode-auto,custom_size(total pixels, default 4MP), orcustom_dimensions(explicitwidth/height, 512–4096).min_ratio/max_ratio- aspect-ratio bounds (default 0.33 / 3.0).add_watermarkplus thewatermark_position/language/opacity/textoptions - ByteDance can stamp a watermark for you if you toggle it.timeoutandpoll_interval- tune how long the node waits on the async job.
Installing it
Same as every node in the WBLESS pack:
cd ComfyUI/custom_nodes
git clone https://github.com/LaoMaoBoss/ComfyUI-WBLESS.git
then restart, or use ComfyUI Manager and search "ComfyUI-WBLESS". No extra pip installs - the Volcengine SDK ships in lib/. If you ever see "火山引擎SDK未找到" in the console, a restart usually fixes it since the local SDK path is registered at import; worst case, pip install volcengine. Then paste your three keys and accept that you've turned ComfyUI into a very fancy API client.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| access_key | STRING | — | |
| secret_key | STRING | — | |
| picgo_api_key | STRING | PicGo图片托管API密钥,用于上传输入图片 | |
| prompt | STRING | 一幅美丽的风景画 | — |
| force_single | BOOLEAN | true | — |
| scale | FLOAT | 0.500–1 | — |
| size_mode | COMBO | auto | 3 options: auto, custom_size, custom_dimensions |
| add_watermark | BOOLEAN | false | — |
| min_ratio | FLOAT | 0.330.0625–16 | — |
| max_ratio | FLOAT | 3.000.0625–16 | — |
| timeout | INT | 30030–600 | Time (in seconds) to wait reading the source before timing out |
| poll_interval | INT | 51–30 | — |
| sizeopt | INT | 41943041048576–16777216 | Scalar by which to scale the input |
| widthopt | INT | 2048512–4096 | Width |
| heightopt | INT | 2048512–4096 | Height |
| watermark_positionopt | COMBO | right_bottom | 4 options: right_bottom, left_bottom, left_top, right_top |
| watermark_languageopt | COMBO | chinese | 2 options: chinese, english |
| watermark_opacityopt | FLOAT | 1.00–1 | — |
| watermark_textopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |