Vidu/LipSync
对口型视频生成模型,支持音频驱动和文字驱动两种方式。
异步提交任务
接口
https://api.modelverse.cn/v1/tasks/submit
输入
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| model | string | 是 | 模型名称,请固定填写:vidu-lip-sync |
| input.video_url | string | 是 | 原视频 URL(需要确保可访问),模型将以此视频为画面来匹配口型。 格式要求:仅支持 mp4、mov、avi 时长要求:1-600 秒,建议时长 10-120 秒 大小要求:不超过 5GB 分辨率要求:单边像素需在 360p-4096p 之间 编码要求:视频编码格式需为 H.264,若不是请参见 编码格式转换 (opens in a new tab) 内容要求:视频内容需免涉肖像权,否则会被下架或销毁 视频素材规范: - 人脸画面:要求真人出镜(如果是卡通人物,需要人物五官和真人比例相近),画面中的人脸说话时建议正对镜头,水平转动不超过 45 度,俯仰不超过 15 度;人脸尽量不遮挡,面部光线稳定 - 说话音频:对音频无限制 |
| input.audio_url | string | 否 | 音频文件 URL(与 text 二选一),对口型视频中使用的文字、音色以音频文件内容为准。 格式要求:支持 wav、mp3、wma、m4a、aac、ogg 时长要求:大于 1 秒,小于 600 秒 大小要求:不超过 100MB |
| input.text | string | 否 | 文本内容(与 audio_url 二选一),对口型视频生成时使用的文本内容。 字符要求:不少于 4 个字符,不超过 2000 字符(2-1000 个汉字或 4-2000 个英文) 优先级:与 audio_url 同时有值时,以 audio_url 中的内容生成 段落切换:用换行符标记 停顿控制:支持自定义文本之间的语音时间间隔,使用 <#x#> 标记:- x 为停顿时长(单位:秒),范围 [0.01, 99.99],最多保留两位小数 - 文本间隔时间需设置在两个可以语音发音的文本之间,不可连续使用多个停顿标记 - 示例: 你好<#2#>我是modelverse<#2#>很高兴见到你 |
| input.ref_photo_url | string | 否 | 人脸参考图 URL,用于在视频包含多张人脸时指定目标人物。 格式要求:支持 jpg、jpeg、png、bmp、webp 分辨率要求:单边分辨率在 192-4096px 大小要求:不超过 10MB 内容要求:图片需包含一张清晰的人物正脸,且为视频中出现的人物 默认行为:若不输入人脸参考图,默认选择视频中第一个有人脸的画面中人脸占比最大的人物为目标 |
| parameters.vidu_type | string | 是 | Vidu 接口类型,此处为 lip-sync |
| parameters.speed | float | 否 | 语速,默认 1.0,范围 [0.5, 2]。0.5 为最慢语速,2 为最快语速。 仅文字驱动时生效 |
| parameters.voice_id | string | 否 | 音色 ID,仅文字驱动时生效。参考 音色列表 (opens in a new tab) |
| parameters.volume | int | 否 | 音量大小,范围 0-10,默认 0(正常音量),值越大音量越高。 仅文字驱动时生效 |
注意事项:
audio_url和text必须提供其中一个speed、voice_id、volume参数仅在使用文字驱动时生效
请求示例(音频驱动)
⚠️ 如果您使用 Windows 系统,建议使用 Postman 或其他 API 调用工具。
curl --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \
--header 'Authorization: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "vidu-lip-sync",
"input": {
"video_url": "https://umodelverse-inference.cn-wlcb.ufileos.com/maxcot-dance.mp4",
"audio_url": "https://umodelverse-inference.cn-wlcb.ufileos.com/%E6%AC%A2%E8%BF%8E%E4%BD%BF%E7%94%A8Modelverse_API.mp3"
},
"parameters": {
"vidu_type": "lip-sync"
}
}'请求示例(文字驱动)
curl --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \
--header 'Authorization: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "vidu-lip-sync",
"input": {
"video_url": "https://umodelverse-inference.cn-wlcb.ufileos.com/maxcot-dance.mp4",
"text": "你好,欢迎使用对口型功能"
},
"parameters": {
"vidu_type": "lip-sync",
"voice_id": "your_voice_id",
"speed": 1.0,
"volume": 4
}
}'输出
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识 |
| request_id | string | 请求的唯一标识 |
响应示例
{
"output": {
"task_id": "task_id"
},
"request_id": "request_id"
}查询任务状态
接口
https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>
请求示例
curl --location 'https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>' \
--header 'Authorization: <YOUR_API_KEY>'输出
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识 |
| output.task_status | string | 任务状态:Pending,Running,Success,Failure |
| output.urls | array | 视频结果的 URL 列表 |
| output.submit_time | integer | 任务提交时间戳 |
| output.finish_time | integer | 任务完成时间戳 |
| output.error_message | string | 失败时返回的错误信息 |
| usage.duration | integer | 视频时长(秒) |
| request_id | string | 请求的唯一标识 |
响应示例(成功)
{
"output": {
"task_id": "task_id",
"task_status": "Success",
"urls": ["https://xxxxx/xxxx-lipsync.mp4"],
"submit_time": 1756959000,
"finish_time": 1756959050
},
"usage": {
"duration": 30
},
"request_id": ""
}响应示例(失败)
{
"output": {
"task_id": "task_id",
"task_status": "Failure",
"submit_time": 1756959000,
"finish_time": 1756959019,
"error_message": "error_message"
},
"usage": {
"duration": 5
},
"request_id": ""
}