跳到正文
Hacker News· webai2026·· 6 天前AI 评分22

LipSyncTool 双人换脸视频开发复盘:Kling、Seedance 与 H3 实测对比

Rumpelstiltskin Development Retrospective

AI 导读

为 LipSyncTool 实现双人换脸视频功能时,Kling O3 Edit 只能稳定替换一人,Seedance 2.5 Editing 两次尝试均因素材审核被拒,H3 最终让两人都成功替换,但模板从七镜头变为六镜头、时长从约 6 秒变为约 6.58 秒,API 调用耗时约 111 秒、预估成本约 0.72 美元。作者最终采用 H3 生成后再合并模板音轨,并放弃“只换脸、其余不变”的承诺。

正文 · AI 翻译

实现 Rumpelstiltskin 双人视频:从 Kling 到 H3

当我为 LipSyncTool 构建这个功能时,目标很简单:上传两张照片,一张替换舞者,一张替换旁观者,同时保留模板的动作、场景和音乐。

不过测试总是遇到同一个问题:API 返回成功,视频能播放,但人物没有被正确替换。

Kling:可以替换一个人,但同时替换两个人不可靠

我最初使用了自己生成的 8 秒谷仓模板。Kling O3 Edit 替换了男性舞者;女性旁观者几乎没有变化。后来,当我只替换女性时,她的脸和头发变了,但参考照片中的黑色领口被带到了原来的裙子上。

我换用了 AIGenTools 的 6 秒模板再次测试。结果相同:男性变化明显,但女性的两个特写镜头都没有达到替换要求。配乐保留得相当好,但剪辑时机出现了偏移。

我检查了实际请求:两张照片都已上传,资源 URL 可访问,我也保存了供应商返回的视频。没有遗漏,也没有保存到错误的文件。

我始终没有确定确切原因。这个 API 主要依赖提示词将参考照片映射到视频中的人物——没有明确的目标人物 ID 或蒙版。女性的特写镜头每个只有约 0.6 秒,而且她用手遮住了脸,这可能增加了难度。但更早的固定机位模板也失败了,所以我不能只归咎于剪辑。

此外,每个人只有一张参考照片。添加更多参考图像只是重复了同一张图片,并没有增加任何新角度。这是输入的一个弱点,但我没有对照测试证明它是根本原因。

Seedance:一次尝试因质量失败,两次因资源审核失败

Seedance 2.0 Fast 从另一个 10 秒模板生成了视频,但男性的外貌在不同镜头间不一致,女性仍然保留着模板的发型。由于资源不同,我无法据此直接与 Kling 比较。

Seedance 2.5 Editing 使用了与 Kling 相同的 6 秒模板和照片。两次尝试都在资源审核阶段被拒绝,因此没有生成视频。错误提到了真人肖像或私人信息,但没有说明是哪个资源有问题。

这两次尝试只能说明当时的 API 不接受这组输入。它们不能说明任何关于生成质量的问题。

H3:两个人终于都变了,但镜头没有保留下来

H3 更接近我想要的效果。在几个镜头中,男性戴上了参考照片中的眼镜、胡须和发型,女性的最后一个特写也明显改变了。

但模板变了:七个镜头变成了六个,女性反应的第一个特写消失了,剪辑节奏变了,输出从约 6 秒变成了约 6.58 秒。

API 调用耗时约 111 秒,响应中估计的成本约为 0.72 美元。我没有单独对照账单核实。我还调整了提示词,所以这只是相同资源下的方法比较——并不能证明 H3 始终比 Kling 更好。

H3 没有保留原音乐。后来我单独将模板的音轨合并回视频。音频可以匹配,但视频更长,末尾有约半秒的静音。合并音频无法修复改变的剪辑或时间。

最终的取舍

我最终使用了 H3,然后在生成视频后再把模板配乐合并回去。我不再承诺“只有脸会变,其他一切都完全一样”。现在我明确警告,相貌、服装、镜头和节奏都可能发生变化。

我也研究过像 AKOOL 这样具有显式角色映射功能的选项,但没有测试它们,目前也尚未集成。连续进行两次替换是另一个候选方案,但我始终没能让它正常工作。

这一轮改变了我评判事物的方式:供应商完成工作只意味着你拿到了一个文件。两个人是否都真的被替换了、是否丢了一个镜头、音乐是否对得上——这些都是需要单独检查的事项。

目前我只有一小部分测试结果,不足以保证任意两张照片都能奏效。下一步应该是在同一模板上测试多对人物,尤其是那位女性的两个短特写镜头——而不是写一个更长的提示词。

来源:Hacker News · github.com