使用 Wav2Lip 模型对视频进行 AI 口型同步

使用 Wav2Lip 模型对视频进行 AI 口型同步

无论是在制作配音电影项目、制作音乐视频还是创建生动的教育内容,将嘴唇动作与音频相匹配都是一项艰巨的任务。在今天,可以借助 AI 模型 Wav2Lip 来完成这项艰巨任务。它提供了一个复杂的解决方案,使用音频输入生成口型同步视频,使其成为内容创建领域的游戏规则改变者。只需上传想要讲话的图片以及希望他们讲话的录音即可。

本指南将引导了解使用 Wav2Lip 模型的细微差别,目前在 AIModels.fyi 上的受欢迎程度排名第 35 。将深入研究它的功能,了解它的输入和输出,并逐步学习如何使用它来制作口型同步视频。此外,还将探索如何利用 AIModels.fyi 来发现类似的模型并选择最适合需求的模型。

关于 Wav2Lip 模型

由devxpy创建的 Wav2Lip 模型提供了从音频源创建口型同步视频的独特解决方案。可以上传图像和音频文件,模型会将两者转换为口型同步视频,图片主题看起来正在说出音频文件中的单词。

可以在此处查看该视频中的示例输出。

正如将在模型的详细信息页面上看到的,Wav2Lip 是一个音频到视频模型,在强大的 Nvidia A100 (40GB) GPU 硬件上运行。它的平均运行时间仅为 7 秒,每次运行成本仅为 0.0161 美元,为内容创作者提供了快速且经济高效的解决方案。

该模型非常受欢迎,运行次数超过 576,015 次,使其成为 AIModels.fyi 上运行次数第 35 位的模型,而 devxpy 在创建者排名中排名第 25 位。

Wav2Lip 模型的输入和输出

在深入研究如何使用 Wav2Lip 模型之前,先探讨一下它所需的输入及其生成的输出。

输入

Wav2Lip 模型需要以下输入:

  • 脸部 Face:包含要使用的脸部的视频或图像文件。
  • 音频 Audio:用作原始音频源的视频或音频文件。
  • Pads:用于填充检测到的面部边界框的字符串输入。可能需要调整它以至少包括下巴。格式为 上左下右
  • Smooth:布尔输入,用于决定是否在短时间窗口内平滑面部检测。
  • fps:仅当输入是静态图像时才能指定。
  • Resize_factor:一个整数输入,用于将分辨率降低某个因子。有时,最好的结果是在 480p720p 下获得。

输出

模型的输出遵循特定的模式:

{
  "type": "string",
  "title": "Output",
  "format": "uri"
}

定义了这些输入和输出后,现在就可以开始使用模型并创建口型同步视频了。

使用 Wav2Lip 模型

无论是编码爱好者还是喜欢更直观的方法,Wav2Lip 模型都能满足需求。

编码时,该模型在 Replicate 上提供了一个用户友好的界面。可以使用演示链接直接与模型交互、使用其参数并获得即时反馈。

对于那些想要深入研究代码的人,请按照以下步骤使用 Wav2Lip 模型。

第1步:安装依赖

首先,通过在终端中运行来安装依赖:

npm install replicate

第 2 步:使用 API 令牌进行身份验证

接下来,创建文件 .env 用来存储 API 令牌等配置信息,申请 API Token,可以点击这里申请 API Token

REPLICATE_API_TOKEN=your_api_token

第 3 步:运行模型

现在可以使用以下代码来运行 Wav2Lip 模型:

import Replicate from "replicate";

const replicate = new Replicate({
    auth: process.env.REPLICATE_API_TOKEN,
});
const output = await replicate.run(
    "devxpy/cog-wav2lip:8d65e3f4f4298520e079198b493c25adfc43c058ffec924f2aefc8010ed25eef",
    {
        input: {
            face: "face_input",
            audio: "audio_input",
            // Other parameters as needed
        },
    }
);

第 4 步:设置 Webhook(可选)

可以指定预测完成时要调用的 Webhook URL,实现可以参考以下代码:

const prediction = await replicate.predictions.create({
    version: "8d65e3f4f4298520e079198b493c25adfc43c058ffec924f2aefc8010ed25eef",
    input: {
        face: "face_input",
        audio: "audio_input",
        // Other parameters as needed
    },
    webhook: "https://example.com/your-webhook",
    webhook_events_filter: ["completed"],
});

通过设置 Webhook,可以在预测完成时收到通知,这对于长时间运行的任务特别有用。

 

总结

在本文探索了 Wav2Lip 模型的特色功能,深入研究了它的功能,了解了它的输入和输出,并逐步完成了使用它创建口型同步视频的过程。