通义万相-首尾帧生视频API参考

本文介绍通义万相-首尾帧生视频模型的输入输出参数。

模型概览

通义万相-首尾帧生视频模型,只需要提供首帧和尾帧图片,便能根据提示词生成一段丝滑流畅的动态视频。该模型具备强大的指令遵循能力,支持大幅度复杂运动、现实物理规律还原,生成的视频呈现丰富的艺术风格及影视级画面质感。

您可以在通义万相官网体验首尾帧生视频的效果。

说明

通义万相官网的功能与API支持的能力可能存在差异,具体以API文档中列出的能力为准。如有新增功能,API文档会及时更新,敬请关注。

模型效果示意

输入示例

输出视频

首帧图片

尾帧图片

提示词

first_frame

last_frame

写实风格,一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。

模型简介

模型名称

计费单价

限流(主账号与RAM子账号共用)

免费额度

任务下发接口QPS限制

同时处理中任务数量

wanx2.1-kf2v-plus

0.70元/秒

2

2

免费额度:200

有效期:百炼开通后180天内

更多说明请参见模型计费及限流

前提条件

通义万相-首尾帧生视频API目前仅支持通过HTTP进行调用。

在调用前,您需要开通模型服务并获取API Key,再配置API Key到环境变量

HTTP调用

视频生成模型处理时间较长,为了避免请求超时,HTTP调用仅支持异步获取模型结果。您需要发起两个请求:

  • 创建任务:首先发送一个请求创建任务,该请求会返回任务ID。

  • 根据任务ID查询结果:使用上一步获得的任务ID,查询模型生成的结果。

视频生成模型耗时较长,plus模型需要7-10分钟。实际耗时取决于排队任务数量和网络状况,请您在获取结果时耐心等待。

创建任务

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis

请求参数

首尾帧生视频

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wanx2.1-kf2v-plus",
    "input": {
        "first_frame_url": "https://wanx.alicdn.com/material/20250318/first_frame.png",
        "last_frame_url": "https://wanx.alicdn.com/material/20250318/last_frame.png",
        "prompt": "写实风格,一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。"
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": true
    }
}'
请求头(Headers)

Content-Type string (必选)

请求内容类型。此参数必须设置为application/json

Authorization string(必选)

请求身份认证。接口使用阿里云百炼API-Key进行身份认证。示例值:Bearer d1xxx2a。

X-DashScope-Async string (必选)

异步处理配置参数。HTTP请求只支持异步,必须设置为enable

请求体(Request Body)

model string (必选)

模型名称。示例值:wanx2.1-kf2v-plus

input object (必选)

输入的基本信息,如提示词等。

属性

prompt string (必选)

文本提示词。支持中英文,长度不超过800个字符,每个汉字/字母占一个字符,超过部分会自动截断。

如果首尾帧的主体和场景变化较大,建议描写变化过程,例如运镜过程(镜头向左移动)、或者主体运动过程(人向前奔跑)。

示例值:一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。

提示词的使用技巧请参见文生视频/图生视频Prompt指南

first_frame_url string (必选)

生成视频时所使用的首帧图像URL。

图像限制:

  • 图像格式:JPEG、JPG、PNG(不支持透明通道)、BMP、WEBP。

  • 文件大小:不超过10 MB。

  • 分辨率:360≤图像边长≤2000,单位像素。

last_frame_url string (必选)

生成视频时所使用的尾帧图像URL。

图像限制:

  • 图像格式:JPEG、JPG、PNG(不支持透明通道)、BMP、WEBP。

  • 文件大小:不超过10 MB。

  • 分辨率:360≤图像边长≤2000,单位像素。

parameters object (可选)

视频处理参数。

属性

resolution string (可选)

生成视频的分辨率档位。默认值为720P,当前仅支持720P。

模型会保持输出视频与输入图像的宽高比一致。在宽高比不变的基础上,resolution参数会将输出视频的分辨率调整到指定档位的总像素附近。

  • 720P :视频分辨率通常指 1280×720(约 92万像素),视频宽高比为16:9。

示例:若输入图像的宽高比例为 4:3,且视频分辨率档位为720P ,则输出视频的宽高比会保持4:3,分辨率会调整为接近 92万像素。例如,输出视频的分辨率为 1024×960,总像素 98.3万(此数据仅做参考,以实际输出为准)。

duration integer (可选)

视频生成时长,单位为秒。当前参数值固定为5,且不支持修改。模型将始终生成5秒时长的视频。

prompt_extend bool (可选)

是否开启prompt智能改写。开启后使用大模型对输入prompt进行智能改写。对于较短的prompt生成效果提升明显,但会增加耗时。

  • true:默认值,开启智能改写。

  • false:不开启智能改写。

seed integer (可选)

随机数种子,用于控制模型生成内容的随机性。取值范围为[0, 2147483647]

如果不提供,则算法自动生成一个随机数作为种子。如果希望生成内容保持相对稳定,可以使用相同的seed参数值。

响应参数

成功响应

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

异常响应

{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"fb53c4ec-1c12-4fc4-a580-xxxxxx"
}

output object

任务输出信息。

属性

task_id string

任务ID。

task_status string

任务状态。

枚举值

  • PENDING:任务排队中

  • RUNNING:任务处理中

  • SUCCEEDED:任务执行成功

  • FAILED:任务执行失败

  • CANCELED:任务取消成功

  • UNKNOWN:任务不存在或状态未知

request_id string

请求唯一标识。可用于请求明细溯源和问题排查。

code string

请求失败的错误码。请求成功时不会返回此参数,详情请参见错误信息

message string

请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误信息

根据任务ID查询结果

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

请求参数

查询任务结果

您需要将86ecf553-d340-4e21-xxxxxxxxx替换为真实的task_id。

curl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx
请求头(Headers)

Authorization string(必选)

请求身份认证。接口使用阿里云百炼API-Key进行身份认证。示例值:Bearer d1xxx2a。

URL路径参数(Path parameters)

task_id string(必选)

任务ID。

响应参数

任务执行成功

任务数据(如任务状态、视频URL等)仅保留24小时,超时后会被自动清除。请您务必及时保存生成的视频。

{
    "request_id": "ec016349-6b14-9ad6-8009-xxxxxx",
    "output": {
        "task_id": "3f21a745-9f4b-4588-b643-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-04-18 10:36:58.394",
        "scheduled_time": "2025-04-18 10:37:13.802",
        "end_time": "2025-04-18 10:45:23.004",
        "video_url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/aa.mp4",
        "orig_prompt": "写实风格,一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。",
        "actual_prompt": "写实风格,一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。小猫的黄色眼睛明亮有神,毛发光滑,胡须清晰可见。背景是简单的浅色墙面,突显小猫的黑色身影。近景特写,强调小猫的表情变化和眼神细节。"
    },
    "usage": {
        "video_duration": 5,
        "video_ratio": "standard",
        "video_count": 1
    }
}

任务执行失败

如果因为某种原因导致任务执行失败,任务状态将被设置为FAILED,并通过codemessage字段明确指示错误原因。

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "The size is not match xxxxxx"
    }
}

output object

任务输出信息。

属性

task_id string

任务ID。

task_status string

任务状态。

枚举值

  • PENDING:任务排队中

  • RUNNING:任务处理中

  • SUCCEEDED:任务执行成功

  • FAILED:任务执行失败

  • CANCELED:任务取消成功

  • UNKNOWN:任务不存在或状态未知

submit_time string

任务提交时间。

scheduled_time string

任务执行时间。

end_time string

任务完成时间。

video_url string

视频URL。请通过此URL下载视频,URL有效期为24小时。

orig_prompt string

原始的输入prompt。

actual_prompt string

开启prompt智能改写后实际使用的prompt。若不开启prompt智能改写,不会返回该字段。

code string

请求失败的错误码。请求成功时不会返回此参数,详情请参见错误信息

message string

请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误信息

usage object

输出信息统计。只对成功的结果计数。

属性

video_duration integer

生成视频的时长,单位秒。

video_count integer

生成视频的数量。固定为1。

video_ratio string

生成视频的比例。固定为standard

request_id string

请求唯一标识。可用于请求明细溯源和问题排查。

错误码

如果模型调用失败并返回报错信息,请参见错误信息进行解决。

API还有特定状态码,具体如下所示。

HTTP状态码

接口错误码(code)

接口错误信息(message)

含义说明

400

InvalidParameter

InvalidParameter

请求参数不合法。

400

IPInfringementSuspect

Input data is suspected of being involved in IP infringement.

输入数据(如提示词或图像)涉嫌知识产权侵权。请检查输入,确保不包含引发侵权风险的内容。

400

DataInspectionFailed

Input data may contain inappropriate content.

输入数据(如提示词或图像)可能包含敏感内容。请修改输入后重试。

500

InternalError

InternalError

服务异常。请先尝试重试,排除偶发情况。

常见问题

模型计费及限流

免费额度

  • 额度说明:免费额度是指模型成功生成的输出视频时长。输入内容异常及模型处理失败的情况不占用免费额度。

  • 领取方式:开通阿里云百炼大模型服务后自动发放,有效期180天。

  • 使用账号:阿里云主账号与其RAM子账号共享免费额度。

  • 更多详情请参见新人免费额度

计费说明

  • 当计费有明确单价时,如0.2元/秒,表示该模型已商业化,免费额度用尽或过期后需付费使用。

  • 计费项:只对模型成功生成的输出视频进行收费,其余情况暂不计费。

  • 付费方式:由阿里云主账号统一付费。RAM子账号不能独立计量计费,必须由所属的主账号付费。如果您需要查询账单信息,请前往阿里云控制台账单概览

  • 充值途径:您可以在阿里云控制台费用与成本页面进行充值。

  • 模型调用情况:您可以前往百炼平台的模型观测查看模型调用量及调用次数。

  • 更多计费问题请参见计费项

限流

  • 限流说明:阿里云主账号与其RAM子账号共享限流限制。

配置域名白名单以访问视频OSS链接

模型生成的视频存储于阿里云OSS,每个视频会被分配一个OSS链接,如https://dashscope-result-xx.oss-cn-xxxx.aliyuncs.com/xxx.mp4。OSS链接允许公开访问,您可以使用此链接下载视频,链接仅在 24 小时内有效 。

特别注意的是,如果您的业务对安全性要求较高,无法访问阿里云OSS链接,您需要单独配置外网访问白名单。请将以下域名添加到您的白名单中,以便顺利访问视频链接。

# OSS域名列表
dashscope-result-bj.oss-cn-beijing.aliyuncs.com
dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com
dashscope-result-sh.oss-cn-shanghai.aliyuncs.com
dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com
dashscope-result-zjk.oss-cn-zhangjiakou.aliyuncs.com
dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com
dashscope-result-hy.oss-cn-heyuan.aliyuncs.com
dashscope-result-cd.oss-cn-chengdu.aliyuncs.com
dashscope-result-gz.oss-cn-guangzhou.aliyuncs.com
dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com