# 数字人wan2.2-s2v视频生成API参考 数字人wan2.2-s2v模型能基于单张图片和音频,生成动作自然的说话、唱歌或表演视频。 ## 功能特点 - **音频驱动**: 通过输入的人声音频,驱动静态图片中的人物实现口型、表情和动作与音频同步 - **场景丰富**: 支持"说话"、"唱歌"、"表演"三种对口型场景 - **人物形象多样化**: 支持真人(肖像、半身、全身)及卡通人物 - **输出视频分辨率**: 提供480P、720P两档分辨率选项 ## 模型与价格 | 模型名称 | 计费单价 | 任务下发RPS限制 | 同时处理中任务数量 | | --- | --- | --- | --- | | wan2.2-s2v | 480P: ¥0.5/秒, 720P: ¥0.9/秒 | 5 | 1 | **计费公式**: 总费用 = 视频实际生成时长(秒) × 所选分辨率的单价 ## HTTP调用接口 ### 步骤1: 创建任务获取任务ID ``` POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis ``` #### 请求头 | 字段 | 类型 | 必选 | 描述 | | --- | --- | --- | --- | | Content-Type | String | 是 | application/json | | Authorization | String | 是 | Bearer sk-xxx | | X-DashScope-Async | String | 是 | 固定值为 enable | #### 请求体 | 字段 | 类型 | 必选 | 描述 | | --- | --- | --- | --- | | model | String | 是 | wan2.2-s2v | | input.image_url | String | 是 | 图片URL,支持jpg/jpeg/png/bmp/webp,分辨率[400,7000]像素 | | input.audio_url | String | 是 | 音频URL,支持wav/mp3,文件<15M,时长<20s | | parameters.resolution | String | 否 | 480P(默认)或720P | #### 响应 | 字段 | 类型 | 描述 | | --- | --- | --- | | output.task_id | String | 异步任务的唯一ID | | output.task_status | String | 任务状态: PENDING | | request_id | String | 请求ID | ### 步骤2: 根据任务ID查询结果 ``` GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id} ``` #### 请求头 | 字段 | 类型 | 必选 | 描述 | | --- | --- | --- | --- | | Authorization | String | 是 | Bearer sk-xxx | #### 响应 | 字段 | 类型 | 描述 | | --- | --- | --- | | output.task_id | String | 任务ID | | output.task_status | String | PENDING/RUNNING/SUCCEEDED/FAILED/UNKNOWN/CANCELED | | output.submit_time | String | 任务提交时间 | | output.scheduled_time | String | 任务执行时间 | | output.end_time | String | 任务完成时间 | | output.results.video_url | String | **生成的视频URL(注意是results.video_url)** | | output.code | String | 错误码(失败时) | | output.message | String | 错误详情(失败时) | | usage.duration | Float | **视频时长(秒),用于计费(注意是duration不是video_duration)** | | usage.video_count | Integer | 生成视频数量 | | usage.SR | Integer | 分辨率档位 | | request_id | String | 请求ID | #### 成功响应示例 ```json { "output": { "task_id": "bcae8761-f242-4775-a11e-xxxxxx", "task_status": "SUCCEEDED", "submit_time": "2025-09-01 09:37:27.468", "scheduled_time": "2025-09-01 09:37:34.885", "end_time": "2025-09-01 09:40:20.734", "results": { "video_url": "http://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/1d/xxx.mp4?Expires=xxxxxx" } }, "usage": { "duration": 18.13, "video_count": 1, "SR": 480 }, "request_id": "28cfedb1-cd60-9e0c-b920-xxxxxx" } ``` #### 失败响应示例 ```json { "request_id": "8d49f522-f6a4-9eed-b322-xxxxxx", "output": { "task_id": "101ad32f-7653-4ae9-8f22-xxxxxx", "task_status": "FAILED", "submit_time": "2025-09-01 11:43:41.174", "scheduled_time": "2025-09-01 11:43:48.937", "end_time": "2025-09-01 11:43:49.802", "code": "InvalidURL", "message": "Required URL is missing or invalid, please check the request URL." } } ``` ## 重要注意事项 1. **视频URL路径**: 成功时视频URL在 `output.results.video_url` 而非 `output.video_url` 2. **计费时长字段**: 使用 `usage.duration` 而非 `usage.video_duration` 3. **轮询间隔**: 建议10秒查询一次 4. **URL有效期**: video_url有效期为24小时,请及时下载保存 5. **task_id有效期**: 仅支持24小时内查询