功能与调用流程

先带青云 API Key 提交生成请求,取得 output.task_id;再用该 ID 查询任务并下载视频。POST 成功表示任务已受理,不代表视频已生成。

接口与鉴权

常规视频:POST https://top.qingyuntop.ai/ali/api/v1/services/aigc/video-generation/video-synthesis

wan2.2-kf2v-flash、wan2.2-s2v 建议用:POST https://top.qingyuntop.ai/ali/api/v1/services/aigc/image2video/video-synthesis

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

将 YOUR_API_KEY 替换为青云 API Key。无需添加阿里 Key、WorkspaceId 或异步请求头。两个本站入口均按 model 选择生成方式,详见接口和模型清单。

请求体参数

参数类型必填和解释
modelstring必填。使用模型清单中的准确名称。
inputobject必填,放提示词和输入素材;按下表选择素材字段。
input.promptstring文生必填;图生用于描述运动;Wan 3.0 的 prompt 和 media 至少提供一个。
input.negative_promptstring不希望出现的内容。Wan 2.7 文生上限 500 字符;不是所有模型均支持。
input.mediaarrayWan 3.0 / Wan 2.7 i2v 素材列表,每项为 { "type": "...", "url": "..." }。
input.img_urlstringWan 2.6 / 2.5 / 2.2 / WanX 2.1 旧版图生的首帧图片 URL 或完整图片 data URL。
input.first_frame_url、input.last_frame_urlstringwan2.2-kf2v-flash 首帧必填、尾帧可选。
input.image_url、input.audio_urlstringwan2.2-s2v 两者都必填;audio_url 也用于支持外部配音的文生 / 图生模型。
parametersobject可选,但建议显式设置清晰度和时长,以便控制效果和费用。
parameters.durationinteger除数字人外默认 5;允许值见模型清单;Wan 3.0 可设 -1 智能时长。数字人省略此项,输出跟随音频。
parameters.resolutionstringWan 3.0、Wan 2.7 和图生模型使用,如 720P;清晰度不是宽高比。
parameters.ratiostringWan 2.7 文生使用 16:9、9:16、1:1、4:3、3:4;Wan 3.0 还可用 adaptive。普通图生的比例由图片决定,此参数不生效。
parameters.sizestringWan 2.6 及更早文生使用宽高,如 1280720;不要与 resolution、ratio 重复设置。
parameters.prompt_extendboolean除数字人外默认 true;扩写提示词。Wan 3.0 使用 file / link 时必须 true。
parameters.watermarkboolean添加 AI 水印;支持该参数的模型通常默认 false。
parameters.audiobooleanWan 3.0 默认 true,false 生成无音轨视频;旧模型仅在其官方文档支持时使用,不能为静音模型增加配音能力。
parameters.seedintegerWan 3.0:-1 或 0–2147483647;其他模型:0–2147483647。固定值仍不保证完全复现。

Wan 2.7 文生提示词上限 5000 字符,Wan 3.0 上限 20000 字符。Wan 2.7 的镜头组织通过提示词描述,shot_type 不生效;不要直接复制旧版模型的所有参数。template 等旧图生扩展参数也仅适用于官方明确支持的模型和模板。

文生视频完整代码

cURL 使用 Bash 语法;Python 先安装 requests;Node.js 使用 22+,保存为 .mjs 后执行。所有示例中的 Key、素材地址和任务 ID 都要替换为自己的值。

curl --fail-with-body "https://top.qingyuntop.ai/ali/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"wan2.7-t2v","input":{"prompt":"雨后老街,镜头沿石板路缓缓推进。"},"parameters":{"resolution":"720P","ratio":"16:9","duration":5,"prompt_extend":true}}'

按场景替换请求体

下面是完整 JSON 请求体,替换上方代码中的 json / body 即可。路径改变的两种场景已单独标注。

Wan 3.0 文生与参考生视频

纯文生可省略 media;仅提供媒体时也可省略 prompt。首帧模式用 first_frame,尾帧用 last_frame,不能与 reference_* 混用。以下为参考图加参考视频;提示词中的“图1”“视频1”按各自类型的出现顺序编号。

{
  "model": "wan3.0-video",
  "input": {
    "prompt": "图1中的人物沿视频1的运动方向奔跑,保持服装一致。",
    "media": [
      {"type": "reference_image", "url": "https://example.com/character.png"},
      {"type": "reference_video", "url": "https://example.com/motion.mp4"}
    ]
  },
  "parameters": {"resolution": "720P", "ratio": "16:9", "duration": 8, "audio": true, "prompt_extend": true}
}

改为 duration: -1 可让 Wan 3.0 决定时长。参考视频总时长最多 15 秒,输入视频加输出视频最多 30 秒;参考音频最多 15 秒。数量和互斥限制见模型清单。

Wan 2.7 首帧、首尾帧和配音

media 支持六种组合:first_frame;first_frame + driving_audio;first_frame + last_frame;first_frame + last_frame + driving_audio;first_clip;first_clip + last_frame。每种类型最多一项。

{
  "model": "wan2.7-i2v",
  "input": {
    "prompt": "镜头缓慢推进,人物从微笑自然过渡到挥手。",
    "media": [
      {"type": "first_frame", "url": "https://example.com/first.png"},
      {"type": "last_frame", "url": "https://example.com/last.png"}
    ]
  },
  "parameters": {"resolution": "720P", "duration": 5, "prompt_extend": true}
}

Wan 2.7 视频续写

first_clip 不能与 first_frame、driving_audio 组合;可追加 last_frame 作为目标尾帧。此场景的 duration 指最终视频总时长(包含输入首段),不是额外续写秒数。例如输入 3 秒、duration=15 时,续写约 12 秒,最终 15 秒。首段视频应为 2–10 秒,duration 应大于输入时长且不超过 15 秒。

{
  "model": "wan2.7-i2v",
  "input": {"prompt": "延续镜头,让人物继续向前走。", "media": [{"type":"first_clip","url":"https://example.com/clip.mp4"}]},
  "parameters": {"resolution":"720P","duration":15}
}

旧版图生视频

{
  "model": "wan2.6-i2v",
  "input": {"prompt": "云层缓慢移动,湖面泛起微波。", "img_url": "https://example.com/landscape.png"},
  "parameters": {"resolution": "720P", "duration": 5, "prompt_extend": true}
}

旧版文生视频与 size

Wan 2.6、2.5、2.2 和 WanX 2.1 文生上游使用 size。常见横屏值:480P = 832480、720P = 1280720、1080P = 1920*1080;竖屏交换宽高。仍须遵守模型支持的分辨率,不能把 720P 用于只支持 480P/1080P 的 wan2.2-t2v-plus。

{
  "model": "wan2.6-t2v",
  "input": {"prompt": "落日下的海面,帆船缓缓驶过。"},
  "parameters": {"size": "1280*720", "duration": 5, "prompt_extend": true}
}

Wan 2.2 首尾帧

使用 /ali/api/v1/services/aigc/image2video/video-synthesis,固定 5 秒。

{
  "model": "wan2.2-kf2v-flash",
  "input": {"prompt": "从清晨过渡到日落。", "first_frame_url": "https://example.com/first.png", "last_frame_url": "https://example.com/last.png"},
  "parameters": {"resolution": "720P", "duration": 5}
}

Wan 2.2 音频驱动数字人

使用 /ali/api/v1/services/aigc/image2video/video-synthesis。图像和音频都必填,音频小于 20 秒,省略 duration。

{
  "model": "wan2.2-s2v",
  "input": {"image_url": "https://example.com/portrait.png", "audio_url": "https://example.com/speech.wav"},
  "parameters": {"resolution": "480P"}
}

素材要求

使用可公开访问且未过期的 HTTPS 文件地址;图片也可以使用完整 data:image/png;base64,...。视频和音频按官方要求使用文件 URL,不要将网页播放页、相对路径或本地文件路径作为素材。本入口不支持 multipart 文件上传。

Wan 3.0 / Wan 2.7 的图片支持 JPEG/JPG/PNG(无透明通道)/BMP/WEBP,宽高各 240–8000 像素、比例不超过 8:1、文件不超过 20MB;其他模型查看各自官方限制。媒体总时长等限制不会仅靠 JSON 校验通过就自动满足。

创建响应

{"request_id":"request_example","output":{"task_id":"task_wan_example","task_status":"PENDING"}}

output.task_id 是青云公开任务 ID,应原样用于青云查询;不要换成阿里控制台中的任务 ID。下一步:查询原生视频任务。