EvoLink Image (All Models)
Every image model in the pack, behind one dropdown
- image1
- image2
- image3
- image4
- image
- task_id
- status_info
- result_urls
- response_json
Most of this pack gives you one node per model - GPT Image 2, Nano Banana 2, Seedream 5.0, and so on. EvoLink_Image is the opposite philosophy: one node, one dropdown, and every image model the platform offers behind it, including the beta budget channels and older models that never got their own node. It's the "I'm not sure which model yet" node, and it's also the one to check first when a new model launches - EvoLink adds it to this list without a plugin update.
The catch is the same one that makes the per-model nodes worth having: a one-size node can't expose every model's specific knobs, so model-specific parameters go through an extra_params JSON field instead of a tidy widget.
The inputs that matter
prompt(required) - your description or edit instruction; Chinese works.model(required) - the dropdown. It starts with the headline models (gpt-image-2, grok-imagine-image-2.0, nano-banana-2, nano-banana-pro, the Seedream and Qwen family...) and continues past the visible list into the beta channels and older tiers. Try them.size- a free-text field, soauto, a ratio like1:1, or explicit pixels like1024x1024. What's valid depends on the selected model - check the API docs if a value gets rejected.image1–image4- reference image sockets. Connect Load Image toimage1for image-to-image;image_urls_textaccepts one public URL per line and mixes with the sockets.extra_params- the escape hatch. A JSON object that gets merged verbatim into the request body. Need{"quality":"2K"}on a model that doesn't expose it as a widget? This is how.
Then api_key and timeout_seconds (default 300).
How it works
The node posts to POST /v1/images/generations with the model you picked, uploads any local reference images through EvoLink's file channel (auto-deleted after 72h, no third-party host), and polls until the image is ready. The image output feeds Preview or Save Image directly. You also get task_id, status_info, result_urls (24h expiry), and response_json. If extra_params isn't valid JSON, the pack refuses the job with a clear error rather than sending garbage upstream.
Installing
No GPU, no model files, only requests:
cd ComfyUI/custom_nodes
git clone https://github.com/deeplearning-goethe/comfyui-evolink.git
then fully restart ComfyUI, or install via ComfyUI Manager by searching EvoLink.
Troubleshooting
401 key, 402 balance, 403 model access, 429 rate limit - and with a multi-model node, 403 deserves extra attention, because your account might have access to one model in the list but not another. Also watch size: a value that works on Nano Banana can be rejected by Qwen. When in doubt, use auto. One more honest note: the README's roadmap text lags behind what the pack actually ships, so don't be surprised if a model listed as "coming soon" is already sitting in this dropdown.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 画面描述或修改指令,支持中文。 | |
| model | COMBO | gpt-image-2 | 24 options: gpt-image-2, grok-imagine-image-2.0, nano-banana-2, nano-banana-pro, nano-banana-2-lite, doubao-seedream-5.0-pro, +18 |
| sizeopt | STRING | auto | auto / 比例如 1:1、16:9 / 像素如 1024x1024(支持范围随模型而异) |
| image1opt | IMAGE | 参考图 1:接「加载图像」即图生图 | |
| image2opt | IMAGE | 参考图 2(可选) | |
| image3opt | IMAGE | 参考图 3(可选) | |
| image4opt | IMAGE | 参考图 4(可选) | |
| image_urls_textopt | STRING | 进阶:已有公网图片 URL 时每行贴一个,与 IMAGE 口混用 | |
| extra_paramsopt | STRING | 进阶:JSON 对象,原样并入请求体(如 {"quality":"2K"}),用于本节点未暴露的模型专属参数,见 evolink.ai/docs 接口文档 | |
| api_keyopt | STRING | EvoLink API Key(sk- 开头)。首次填写后自动保存到本机配置,之后可留空。分享工作流前请清空此框。获取:evolink.ai/dashboard/keys | |
| timeout_secondsopt | INT | 30060–3600 | 最长等待时间;生成失败或审核拦截的任务不扣费 |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | 生成结果(已下载落地,可直连保存节点) |
| task_id | STRING | EvoLink 任务 ID,可到 evolink.ai/zh/dashboard/logs 查询 |
| status_info | STRING | 人读状态摘要(模型/用时/消耗 credits) |
| result_urls | STRING | 结果原始链接,每行一个(24 小时过期) |
| response_json | STRING | 平台 GET /v1/tasks/{id} 的完整 JSON 响应(status/usage/results 等),供下游节点解析 |