万相 3.0 全能参考视频生成 (All-in-One): 文生视频 / 图生视频 / 参考生视频, 最长 30 秒 · 30fps
POST /v1/videos/generations
鉴权: Bearer sk-xxx
万相 3.0 是全能参考视频生成模型,支持文生视频、图生视频和参考生视频,最长 30 秒,输出 30fps。 本接口异步提交:`POST /v1/videos/generations` 成功受理后返回顶层 `id`,使用同一 API Key 调用 `GET /v1/videos/generations/{id}` 查询。请保存 `id` 并查询原任务,避免重复提交。 请求体不支持 `wait=true`,URL 查询参数中的 `wait` 也不支持;请轮询原任务。 ## 请求参数 Wan3 的生成参数放在 `parameters`,例如 `parameters.duration` 与 `parameters.resolution`。服务端用这两个嵌套值预估额度;顶层 `duration`、`resolution` 是兼容旧请求的可选字段。两处都提供时,以嵌套值为准;建议只填写嵌套参数,避免冲突。`input.prompt` 描述画面,`input.media` 提供图片、视频等参考素材。 参考视频使用 `input.media` 中的 `type=reference_video`;旧通用入口与万相原生入口均可提交该类型。参考视频输入与生成输出合计计费,实际用量见完成任务返回的 `usage.duration` 和输出分辨率。`parameters.duration` 指期望输出时长,不代表合计计费时长。 ## 可用模型 `wan3.0-video` 为标准版。提交响应中的 `status=submitted` 表示任务已受理;生成完成后,查询响应中的 `status=succeeded`,结果地址位于 `output.video_url`。
model | string | required | 模型 ID,固定填 `wan3.0-video` |
duration | integer | 兼容旧请求的可选顶层时长;Wan3 优先使用 `parameters.duration` 预估额度和生成。建议只填写嵌套值。 | |
resolution | string | 兼容旧请求的可选顶层分辨率;Wan3 优先使用 `parameters.resolution` 预估额度和生成。建议只填写嵌套值。 | |
input | object | required | 生成输入(原样传给模型)。子字段见下方 `input.*` |
input.prompt | string | 视频内容描述;与 `input.media` 至少提供一项。最多 20000 字符。 | |
input.media | array | 参考素材数组;与 `input.prompt` 至少提供一项。每项包含 `type` 和 `url`;素材用途见下两项。 | |
input.media[].type | string | 素材用途:首帧 `first_frame`、尾帧 `last_frame`;或 `reference_image`、`reference_video`、`reference_audio`、`file`、`link`。首尾帧不可与其它参考类型混用。 | |
input.media[].url | string | 可公开读取的素材 URL;图片也可用符合格式的图片数据 URI。 | |
parameters | object | 生成参数(原样传给模型)。子字段见下方 `parameters.*` | |
parameters.resolution | string | 输出分辨率:`480P` / `720P` / `1080P`,省略默认 `1080P`;建议显式填写,与额度预估使用同一值。 | |
parameters.duration | integer | 输出时长(秒),可设 2–30 或 -1 智能时长;缺省 5。该值也用于提交前额度预估。 | |
parameters.ratio | string | 画面宽高比。`adaptive` 表示由模型按输入素材自适应(推荐)。也可指定如 `16:9` / `9:16` / `1:1` | |
parameters.seed | integer | 随机种子,用于复现生成结果。取值范围 `[0, 2147483647]` | |
parameters.prompt_extend | boolean | 是否开启提示词智能改写。开启后由大模型对 prompt 智能扩写,短提示词的生成效果提升明显,但会增加耗时。默认 `true` | |
parameters.audio | boolean | 是否生成同步音频 | |
parameters.watermark | boolean | 是否添加水印。默认 `false` |
202 — 任务已受理。保存顶层 id,然后查询 GET /v1/videos/generations/{id}。示例值均为虚构值。curl --request POST 'https://api.router.ai/v1/videos/generations' \
-H "Authorization: Bearer $ROUTER_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "wan3.0-video",
"input": {"prompt": "虚构示例:一只纸船缓缓驶过静止的蓝色湖面。"},
"parameters": {"resolution": "480P", "duration": 2, "ratio": "adaptive"}
}'## 图生视频示例 ```json { "model": "wan3.0-video", "input": { "prompt": "镜头缓缓推进,人物转头微笑", "media": [ { "type": "first_frame", "url": "https://example.com/first-frame.jpg" } ] }, "parameters": { "resolution": "720P", "duration": 5, "ratio": "adaptive" } } ``` ## 参考生视频示例 `input.media` 支持混合传入图片、视频、音频、文件与网页链接,模型会自动理解素材内容: ```json { "model": "wan3.0-video", "input": { "prompt": "根据参考素材生成产品宣传片", "media": [ { "type": "reference_image", "url": "https://example.com/product.jpg" }, { "type": "file", "url": "https://example.com/brief.pptx" } ] }, "parameters": { "resolution": "720P", "duration": 10, "ratio": "adaptive", "prompt_extend": true } } ``` ## 参考视频:480P、输出 2 秒 以下是虚构素材地址;请替换为公网可读取的视频 URL。提交成功后使用返回的顶层 `id` 查询原任务,不要重复提交。 ```json { "model": "wan3.0-video", "input": { "prompt": "参考视频中的圆点沿原方向移动,纯色背景,无文字", "media": [ {"type": "reference_video", "url": "https://example.com/reference-video.mp4"} ] }, "parameters": {"resolution": "480P", "duration": 2, "audio": false} } ``` 这里的 2 秒是输出时长;参考视频的实际计费秒数由百炼成功结果给出,不能用请求中的 2 秒代替合计计费时长。 ## 查询结果 提交成功后用返回的顶层 `id` 轮询: ```bash curl https://api.router.ai/v1/videos/generations/TASK_ID \ -H "Authorization: Bearer $ROUTER_API_KEY" ``` 任务完成后(`status` 为 `succeeded`)响应中会带视频下载链接。建议轮询间隔 5–10 秒。 ## 常见问题 - **提示词越具体效果越好**:包含主体、动作、镜头运动、光线、风格等描述 - **`prompt_extend` 默认开启**:短提示词会被智能扩写,若希望严格按原文生成可设为 `false` - **时长与分辨率影响费用**:分辨率越高、时长越长费用越高,具体价格见模型广场 ## 已完成任务的查询响应 以下字段结构经现有通用 Wan3 任务的只读查询核对;所有示例值均为虚构值。`output` 和 `usage` 在任务完成后出现,处理中请按顶层 `status` 继续查询。 ```json { "request_id": "example-request-id", "output": { "task_id": "example-task-id", "task_status": "SUCCEEDED", "submit_time": "2000-01-01 00:00:00.000", "scheduled_time": "2000-01-01 00:00:01.000", "end_time": "2000-01-01 00:00:30.000", "orig_prompt": "这是一条虚构的视频提示词,仅用于说明响应格式。", "video_url": "https://example.com/generated-example.mp4" }, "usage": { "video_count": 1, "duration": 5.0, "input_video_duration": 0.0, "output_video_duration": 5.0, "fps": 30, "SR": 720, "ratio": "16:9" }, "id": "example-task-id", "model": "wan3.0-video", "status": "succeeded", "created_at": 946656000, "error": null } ```