Vidu/一键生成mv

本文详细介绍 vidu-mv 模型一键生成MV功能的核心 API(异步提交任务、查询任务状态),包含接口地址、输入输出参数、请求示例及响应示例,为接口调用提供清晰指引。

1. 认证方式

所有接口均采用 API Key 认证,需在请求头中携带 Authorization 字段,格式如下:

Authorization: \<YOUR\_API\_KEY\>

说明:将 \<YOUR\_API\_KEY\> 替换为您实际的 API Key,即可完成身份认证,获取接口调用权限。

2. 异步提交MV生成任务接口

该接口用于提交 vidu-mv 模型一键生成MV的异步任务,需传入模型名称、模特/风格图片、音频等核心参数,提交成功后返回任务唯一标识,用于后续查询任务状态及生成结果。

2.1 接口地址

https://api.modelverse.cn/v1/tasks/submit

2.2 输入参数

参数 类型 是否必选 描述
model string 模型名称,固定填写:vidu-mv
input.images Array[String] 用户生成MV时的模特图片或风格图片,具体要求如下:1. 支持传入图片 Base64 编码或图片URL(需确保URL可访问);2. 支持输入 1~7 张图;3. 图片格式支持 png、jpeg、jpg、webp;4. 图片比例需小于 1:4 或者 4:1;5. 单张图片大小不超过 50 MB;6. 注意:http请求的post body不超过 20MB,且Base64编码需包含适当的内容类型字符串,例如:data:image/png;base64,{base64_encode}
input.audio_url string 需要生成MV的音频,具体要求如下:1. 支持传入 Base64 编码或音频URL(需确保URL可访问);2. 仅支持输入 1 个音频;3. 音频格式支持 mp3、wav、aac、m4a;4. 音频时长最少10秒,最多180秒;5. 注意:http请求的post body不超过20MB,且Base64编码需包含适当的内容类型字符串,例如:data:audio/mp3;base64,{base64_encode}
input.prompt string 用户提示词,用于描述MV视频的文本内容,字符长度不能超过 3000 个字符
parameters.vidu_type string Vidu 接口类型,固定填写:one-click/mv
parameters.aspect_ratio string 输出比例,默认值为16:9,可选值:1:1,16:9,9:16,4:3,3:4
parameters.resolution string 视频清晰度,默认值为720p,可选值:540p、720p、1080p
parameters.add_subtitle bool 是否需要字幕,默认值为 false;true 表示需要字幕,false 表示不需要字幕
parameters.language string 音频语言类型,默认值为自动,可选值:en(英文)、zh(中文)
parameters.srt_url string 字幕文件url,用于加载自定义字幕

2.3 请求示例(curl)

提示:若使用 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-mv",
    "input": {
        "images": ["https://xxxxxxxxx/image2video.png"],
        "prompt": "图中人物徘徊在路上。",
        "audio_url": "https://xxxxxxxxx/49ab8a8f-f564-4b96-80a2-b38cca527475.mp3"
    },
    "parameters": {
      "vidu_type": "one-click/mv",
      "aspect_ratio": "16:9",
      "resolution": "540p",
      "add_subtitle": true,
      "language": "en",
      "srt_url": "https://xxxxxxxxx/mv_subtitle.srt"
    }
  }'

2.4 输出参数

参数 类型 描述
output.task_id string 异步任务的唯一标识,用于后续查询任务状态及获取生成结果
request_id string 本次请求的唯一标识,用于问题排查时定位具体请求记录

2.5 响应示例

{
  "output": {
    "task_id": "task_id"
  },
  "request_id": "request_id"
}

3. 查询任务状态接口

该接口用于查询已提交的MV生成任务的执行状态、生成结果、任务耗时等信息,需传入异步提交任务时返回的 task_id 作为查询标识。

3.1 接口地址

https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>

说明:将 \&lt;task\_id\&gt; 替换为异步提交任务接口返回的实际 task_id,即可发起查询。

3.2 输入参数

参数 类型 是否必选 描述
task_id string 异步任务的唯一标识,由异步提交任务接口返回

3.3 请求示例(curl)

curl --location 'https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>' \
--header 'Authorization: <YOUR_API_KEY>'

3.4 输出参数

参数 类型 描述
output.task_id string 异步任务的唯一标识,与查询时传入的 task_id 一致
output.task_status string 任务状态,可选值:Pending(待处理)、Running(执行中)、Success(成功)、Failure(失败)
output.urls array 视频结果的 URL 列表,仅当 task_status 为 Success 时返回,可通过该 URL 下载生成的MV视频
output.submit_time integer 任务提交时间戳(单位:秒)
output.finish_time integer 任务完成时间戳(单位:秒),仅当 task_status 为 Success 或 Failure 时返回
output.error_message string 任务失败时返回的错误信息,仅当 task_status 为 Failure 时返回,用于排查失败原因
usage.duration integer 视频时长(秒)
request_id string 本次查询请求的唯一标识,用于问题排查

3.5 响应示例

3.5.1 成功响应示例

{
  "output": {
    "task_id": "task_id",
    "task_status": "Success",
    "urls": ["https://xxxxx/xxxx-mv.mp4"],
    "submit_time": 1756959000,
    "finish_time": 1756959050
  },
  "usage": {
    "duration": 30
  },
  "request_id": ""
}

3.5.2 失败响应示例

{
  "output": {
    "task_id": "task_id",
    "task_status": "Failure",
    "submit_time": 1756959000,
    "finish_time": 1756959019,
    "error_message": "error_message"
  },
  "usage": {
    "duration": 5
  },
  "request_id": ""
}