AI 运动控制 API 实测:Kling 3.0 / 2.6 / Steady Dancer 三个模型跑同一段舞蹈对比
AI 运动控制这个能力,最近在短视频圈子里传得挺火。简单说就是:给一张人物照片,再给一段舞蹈视频做参考,AI 把舞蹈动作"迁移"到照片里的人身上。听起来像是 deepfake 的变种,但技术路线完全不同——它不是换脸,是让静态人物"动起来"。
目前 API 层面能做到什么程度?手臂交叉、快速转身这种复杂动作能不能扛住?不同模型跑同一段参考视频,差距有多大?拿了 Kling 3.0 Pro、Kling 2.6 Pro 和 Steady Dancer 三个模型跑了一轮。
运动控制和普通图生视频有什么区别
运动控制多了一个输入:参考视频。普通 I2V 是给一张图加一段 prompt,模型自己决定怎么动。运动控制是从参考视频里提取人体骨骼关键点的运动轨迹,然后把这些运动"贴"到你给的人物图片上。
输入两个东西:一张人物图片(角色图),一段参考视频(动作源)。输出一段视频:图片里的人做出参考视频里的动作。
技术难点不少。手臂交叉的时候骨骼点会重叠,模型容易搞混左右手。快速运动导致帧间不连贯。衣服和头发的物理模拟也是个问题——参考视频里穿短袖,角色图穿长裙,裙摆怎么动?
测试用的素材长什么样
角色图用 Seedream 5.0 Lite 生成,舞蹈室里的女性半身照,黑色背心灰色运动裤,马尾辫,干净白墙背景:

参考舞蹈视频用 Wan 2.7 T2V 生成,5 秒街舞片段,有手臂交叉和快速转身动作。下面是四帧截图:

Kling 3.0 Pro Motion Control 怎么调
Kling 的运动控制在 WaveSpeed 上有好几个版本。最新的是 Kling 3.0,有 Pro 和 Standard 两个档次。
import os
import wavespeed
from dotenv import load_dotenv
load_dotenv()
os.environ["WAVESPEED_API_KEY"] = "你的key"
# 先上传角色图和参考视频
character_url = wavespeed.upload("character.jpg")
dance_url = wavespeed.upload("dance_reference.mp4")
# Kling 3.0 Pro Motion Control
result = wavespeed.run(
"kwaivgi/kling-v3.0-pro/motion-control",
{
"image": character_url,
"video": dance_url,
"prompt": "A young woman performing street dance moves in a bright studio, dynamic movement, smooth motion"
},
timeout=1200.0
)
print(f"视频URL: {result['outputs'][0]}")
参考视频的时长会影响输出时长。Kling 3.0 Pro 支持 5 秒和 10 秒两种输出,参考视频太长模型会自动截取。prompt 在运动控制模式下作用比较弱——动作主要由参考视频决定,prompt 更多是控制画面风格和环境。
Kling 3.0 Pro 跑出来的四帧截图:
Kling 2.6 Pro 有什么不同
Kling 2.6 Pro 的运动控制多了一个必填参数:character_orientation,值是 "image" 或 "video"。告诉模型角色的朝向以角色图为准还是以参考视频为准。
# Kling 2.6 Pro Motion Control
result = wavespeed.run(
"kwaivgi/kling-v2.6-pro/m
otion-control",
{
"image": character_url,
"video": dance_url,
"prompt": "A young woman performing street dance moves in a bright studio",
"character_orientation": "image"
},
timeout=1200.0
)
选 "image" 的话,输出视频里角色的初始朝向和角色图一致。选 "video" 的话,角色会先转到参考视频第一帧的朝向。大多数情况下选 "image" 就行。不填这个参数直接报 400,这是 2.6 和 3.0 的一个区别。
Steady Dancer 又是什么
Steady Dancer 是 WaveSpeed 自己的运动控制模型。参数和 Kling 差不多,也是传角色图 + 参考视频 + prompt。
# Steady Dancer
result = wavespeed.run(
"wavespeed-ai/steady-dancer",
{
"image": character_url,
"video": dance_url,
"prompt": "A young woman performing street dance moves in a bright studio, dynamic movement, smooth motion"
},
timeout=1200.0
)
三个模型跑同一段舞蹈,差多少
用同一张角色图和同一段参考视频,分别跑了三个模型。下面是三个模型在视频中间帧的对比:

| 对比维度 | Kling 3.0 Pro | Kling 2.6 Pro | Steady Dancer |
|---|---|---|---|
| 输出文件大小 | 13068 KB | 10672 KB | 964 KB |
| 额外必填参数 | 无 | character_orientation | 无 |
| 模型提供方 | 快手 | 快手 | WaveSpeed |
Kling 3.0 Pro 输出 13MB,Kling 2.6 Pro 输出 10MB,Steady Dancer 只有 964KB。文件大小差了十几倍,画面细节和分辨率差距明显。Kling 3.0 是目前三个里面输出质量最高的,2.6 稍逊但也不错,Steady Dancer 更轻量,适合快速预览或者对画质要求不高的场景。
三个模型的 API 调用方式几乎一样,切换模型只需要改模型 ID。这是用聚合 API 平台的好处——不用对接三套不同的 API。
适合什么场景用
运动控制目前比较适合这几种场景:
短视频创作。拍一段舞蹈参考视频,然后让 AI 生成的虚拟角色来跳。省去了真人出镜的麻烦。
数字人内容。给品牌吉祥物或虚拟形象加上真人动作,做产品展示或者互动内容。
动画预览。动画师可以先用真人拍一段动作参考,快速生成角色动画的预览版本,确认动作没问题再精修。
但也有明显的局限。多人场景目前基本不行。遮挡严重的动作(比如背对镜头再转回来)容易出问题。衣服物理模拟还比较粗糙。
几个要注意的地方
角色图的姿势最好和参考视频的起始帧接近。如果角色图是正面站立,参考视频第一帧是侧身,模型需要先"转"过去,这个过渡容易出瑕疵。
参考视频的背景尽量干净。复杂背景会干扰骨骼点检测。
prompt 写不写都行,但如果写了,不要和参考视频的动作矛盾。比如参考视频是跳舞,prompt 别写"a person standing still"。
Kling 2.6 的 character_orientation 参数别忘了填,不填直接报 400。3.0 版本和 Steady Dancer 不需要这个参数。
视频生成耗时比较长,SDK 的 timeout 建议设到 1200 秒。我跑 Kling 3.0 Pro 的时候等了大概 10 分钟。
具体的模型参数和最新版本,去 WaveSpeed 官网确认:wavespeed.ai/models
相关链接:
Kling Motion Control 模型集合:https://wavespeed.ai/collections/kling
WaveSpeed API 文档:https://wavespeed.ai/docs/rest-api
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)