EvoLink Kling V3 Motion Control (Official)
Kling motion control transfers choreography
- reference_image1
- video
- task_id
- status_info
- result_urls
- response_json
This is the node in the Kling family that does something none of the others do. EvoLink_KlingMotion implements Kling V3's motion control: you give it a reference video and a reference image, and it extracts the motion from the video - the trajectory, the choreography, the way things move - and applies that motion to the subject in your image. Character in a photo doing the dance from the reference clip. Object following the same path. It's the closest thing the cloud-video world has to a "motion transfer" node, and it's a genuinely fun trick to have in the graph.
The inputs that matter
reference_image1(required) - the IMAGE input holding the subject that will be animated. This is the thing you want to see move.video_urls- the motion source. This is a URL field, and the pack's pipeline story applies: you can wire it straight from an upstream node'sresult_urlsoutput, or paste any public video URL.character_orientation-image(default) orvideo. This decides whose facing/orientation the result follows: follow the reference image (limit ~10s) or follow the reference video (up to ~30s).quality-720p(default) or1080p.
prompt is required too, though its tooltip honestly describes it as optional flavor - describe the scene. Then the pack-standard api_key and timeout_seconds (1200).
How it works
Reference images go up through EvoLink's file channel (auto-deleted after 72h, no third-party host), and the job posts to POST /v1/videos/generations as kling-v3-motion-control. The pack polls until the clip completes and downloads it as a VIDEO object. Outputs: video (→ native Save Video node), task_id, status_info, result_urls (24h expiry), response_json.
Practical tip from how the mode works: pick the video orientation when the reference clip is long and you care about matching its whole motion arc; pick image when the subject's identity matters more than the exact path. The duration caps in the tooltip (10s vs 30s) reflect that trade.
Installing
No GPU, no model files - only requests:
cd ComfyUI/custom_nodes
git clone https://github.com/deeplearning-goethe/comfyui-evolink.git
Fully restart ComfyUI afterward, or search EvoLink in ComfyUI Manager.
Troubleshooting
401 key, 402 balance, 403 access, 429 rate limit; VPN users whitelist api.evolink.ai and files-api.evolink.ai. The realistic failure mode with motion control is weak transfer - the model lifts the motion from the reference video, so if the clip's subject or camera is too different from your image's subject, the result can look like the motion didn't stick. Use reference clips with clear, unambiguous movement, and remember the mode switch: wrong character_orientation on a long clip gets truncated.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 画面描述(可选),支持中文。 | |
| reference_image1 | IMAGE | 参考图(必接):要被驱动的人物/物体 | |
| video_urlsopt | STRING | 参考动作视频 URL(必填),可接上游节点的 result_urls 输出 | |
| character_orientationopt | COMBO | image | 人物朝向跟随:image=跟参考图(≤10 秒)/ video=跟参考视频(≤30 秒) |
| qualityopt | COMBO | 720p | 分辨率 |
| api_keyopt | STRING | EvoLink API Key(sk- 开头)。首次填写后自动保存到本机配置,之后可留空。分享工作流前请清空此框。获取:evolink.ai/dashboard/keys | |
| timeout_secondsopt | INT | 120060–3600 | 最长等待时间;生成失败或审核拦截的任务不扣费 |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | 生成结果(已下载落地,可直连保存节点) |
| 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 等),供下游节点解析 |