Nodes/comfyui-evolink/EvoLink Gemini Omni Flash Reference-to-Video (Official)
ComfyUI Node

EvoLink Gemini Omni Flash Reference-to-Video (Official)

Keep a character consistent across clips with reference-to-video

By deeplearning-goethe·Created 24 days ago·Updated a day ago· 0
EvoLink Gemini Omni Flash Reference-to-Video (Official)
  • reference_image1
  • reference_image2
  • reference_image3
  • video
  • task_id
  • status_info
  • result_urls
  • response_json
prompt
duration10
aspect_ratio16:9
image_urls_text
api_key
timeout_seconds1200

Plain text-to-video has a well-known weakness: describe a character and the model will happily change their face between clips. EvoLink_GeminiOmniRef is the fix for that specific pain. You hand it up to six reference images and it holds the subject consistent while it generates the motion. It's the "same character, new scene" node of Google's Omni Flash video family, and it sits on the cheap end of the price scale, so it's a reasonable way to prototype multi-shot stories without burning your whole budget.

Think of it as image-to-video with a memory. The first reference image is required, and each extra one you attach pins down more of the character or scene you want carried into the clip.

The inputs that matter

  • prompt (required) - what happens in the clip and how the camera moves. The model already knows who it's animating from the references, so this can be mostly action.
  • reference_image1 (required) - your first subject frame. This is the anchor; make it a clean, well-lit shot of the character or object, because everything downstream inherits it.
  • reference_image2, reference_image3 (optional) - more angles or details. Up to six references total, mixing the socket inputs with image_urls_text (one public URL per line) if you have them.

Then duration (3–10s, default 10) and aspect_ratio (16:9, 9:16, or auto). Same api_key / timeout_seconds pattern as every node in the pack.

How it works

Local reference images go up through EvoLink's official file channel - no third-party hosting, deleted after 72 hours - and are merged into the request to POST /v1/videos/generations. The pack then polls the task until the clip completes and downloads it locally. You get the standard five outputs: video (connect it to a native Save Video node), task_id, status_info, result_urls (24h expiry), and response_json.

Since the output is a VIDEO object, this needs a reasonably recent ComfyUI with comfy_api support - an old install errors out with a message about missing VIDEO output, and the fix is updating ComfyUI itself.

Installing

The whole pack is featherweight: no model downloads, no GPU, and the only Python dependency is requests.

cd ComfyUI/custom_nodes
git clone https://github.com/deeplearning-goethe/comfyui-evolink.git

Restart ComfyUI completely afterwards (close the console window, not just the browser tab), or use ComfyUI Manager and search EvoLink.

Troubleshooting

The usual suspects: 401 invalid key, 402 insufficient balance, 429 rate limit, 403 no model access. VPN users should whitelist api.evolink.ai and files-api.evolink.ai for direct connection - the pack's own client names this as a common failure. If your subject consistency is weak, the fix is almost always in the reference image, not the prompt: single subject, consistent framing, good lighting. And don't forget the classic "where's my video" trap - connect the video output to Save Video or you'll see nothing at all.

CategoryEvoLink

Inputs (9)

NameTypeDefaultDescription
promptSTRING镜头/画面描述,支持中文。
reference_image1IMAGE参考图 1(必接,最多 6 张)
durationoptINT103–10视频时长(秒),3~10 任意整数
aspect_ratiooptCOMBO16:9画幅比例
reference_image2optIMAGE参考图 2(可选)
reference_image3optIMAGE参考图 3(可选)
image_urls_textoptSTRING进阶:已有公网图片 URL 时每行贴一个,与 IMAGE 口混用
api_keyoptSTRINGEvoLink API Key(sk- 开头)。首次填写后自动保存到本机配置,之后可留空。分享工作流前请清空此框。获取:evolink.ai/dashboard/keys
timeout_secondsoptINT120060–3600最长等待时间;生成失败或审核拦截的任务不扣费

Outputs (5)

NameTypeDescription
videoVIDEO生成结果(已下载落地,可直连保存节点)
task_idSTRINGEvoLink 任务 ID,可到 evolink.ai/zh/dashboard/logs 查询
status_infoSTRING人读状态摘要(模型/用时/消耗 credits)
result_urlsSTRING结果原始链接,每行一个(24 小时过期)
response_jsonSTRING平台 GET /v1/tasks/{id} 的完整 JSON 响应(status/usage/results 等),供下游节点解析