WAN3 接口说明

创建任务、参考素材、状态查询与视频下载的准确请求格式。

查看纯文本 ↗

连接信息

项目
服务地址https://video.1route.dev
鉴权Authorization: Bearer YOUR_API_KEY
请求格式application/json
模型列表GET /v1/models
创建任务POST /v1/videos
查询任务GET /v1/videos/{id}

新接入统一使用 /v1/videos。旧兼容路径可能存在,但一个项目里不要混用两套路径。

先查询模型

curl "https://video.1route.dev/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

只使用返回列表里存在的模型。模型可见不等于每个时刻都有可用生成容量。

文生视频

{
  "model": "wan3.0-video-480p",
  "prompt": "一只红色风筝在绿色田野上方飘动,镜头缓慢推进,画面连续。",
  "seconds": "2",
  "aspect_ratio": "16:9"
}

图片生成视频

{
  "model": "wan3.0-image-480p",
  "prompt": "图1中的人物自然眨眼并轻轻转头,镜头稳定,保持人物外观一致。",
  "seconds": "2",
  "aspect_ratio": "9:16",
  "reference_images": [
    {
      "url": "https://media.example.com/person.jpg"
    }
  ]
}

首尾帧使用 role

{
  "model": "wan3.0-video-720p",
  "prompt": "从首帧自然过渡到尾帧,保持人物身份和服装一致。",
  "seconds": "5",
  "aspect_ratio": "adaptive",
  "reference_images": [
    {
      "url": "https://media.example.com/start.jpg",
      "role": "first_frame"
    },
    {
      "url": "https://media.example.com/end.jpg",
      "role": "last_frame"
    }
  ]
}

图片最多 10 张。可用角色为 reference_image(默认)、first_framelast_frame。尽量只传必要素材。

图片、视频和音频参考

{
  "model": "wan3.0-video-480p",
  "prompt": "图1人物参考视频1的动作和运镜,参考音频1的节奏。",
  "seconds": "10",
  "aspect_ratio": "9:16",
  "reference_images": [
    {
      "url": "https://media.example.com/character.jpg"
    }
  ],
  "reference_videos": [
    {
      "url": "https://media.example.com/motion.mp4",
      "duration": 5
    }
  ],
  "reference_audios": [
    {
      "url": "https://media.example.com/rhythm.mp3"
    }
  ]
}

这个请求按 15 秒计费:10 秒成片 + 5 秒参考视频。image 系列传参考视频会被拒绝。

参数

字段类型说明
modelstring,必填GET /v1/models 返回的 WAN3 名称
promptstring,必填视频描述,可用“图1”“视频1”“音频1”引用顺序
secondsstring,必填2–30 的整数秒,例如 "10"
aspect_ratiostring16:99:161:1adaptive
reference_imagesobject[]url,可选 role;最多 10 张
reference_videosobject[]url 和明确的整数 duration/seconds
reference_audiosobject[]url 的参考音频
size / resolutionstring兼容字段;实际档位以模型名的 480p/720p/1080p 后缀为准

推荐只传 seconds,不要同时传冲突的 duration。素材必须是服务端能直接下载的公网 HTTP/HTTPS 地址;生产使用 HTTPS。

高级 input.media 允许类型 first_framelast_framereference_imagereference_audioreference_video,但新接入优先用上面的 reference_* 字段。不要把同一个参考视频同时放到两种字段里。

创建任务

curl -X POST "https://video.1route.dev/v1/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "wan3.0-image-480p",
    "prompt": "图1主体自然抬头,镜头缓慢推进。",
    "seconds": "2",
    "reference_images": [
      {"url": "https://media.example.com/reference.jpg"}
    ]
  }'

成功响应:

{
  "id": "task_EXAMPLE",
  "task_id": "task_EXAMPLE",
  "object": "video",
  "model": "wan3.0-image-480p",
  "status": "queued",
  "progress": 0,
  "created_at": 1780000000
}

立即持久化完整 id,同时记录响应头 X-Oneapi-Request-Id。创建请求不能自动重试。

查询与完成响应

curl "https://video.1route.dev/v1/videos/task_EXAMPLE" \
  -H "Authorization: Bearer YOUR_API_KEY"

建议每 15 秒查询一次。等待状态为 queuedin_progress;完成为 completed;失败为 failed;本站缓存失效后可能显示 expired

{
  "id": "task_EXAMPLE",
  "task_id": "task_EXAMPLE",
  "object": "video",
  "model": "wan3.0-image-480p",
  "status": "completed",
  "progress": 100,
  "expires_at": 1780000300,
  "metadata": {
    "url": "https://video.1route.dev/v1/videos/task_EXAMPLE/content?expires=...&sig=..."
  }
}

下载时完整使用 metadata.url,不要自行拼接。签名链接不需要额外的 API Key。详情见 任务与下载

完整 Python 客户端

下载 wan3_client.py

默认模式只验证模型并展示请求;使用 --create --confirm-cost 才创建任务。已有任务使用 --task-id task_...,完全跳过创建步骤。

# 私密地设置 Key
set WAN3_API_KEY=sk-你的密钥

# 仅检查模型并预览请求,不生成
python wan3_client.py --model wan3.0-video-480p --seconds 2

# 已确认页面价格和费用后,只创建一次
python wan3_client.py --model wan3.0-video-480p --seconds 2 \
  --prompt "红色风筝在绿色田野上方飘动" --create --confirm-cost

# 程序关闭后继续原任务,不会新建
python wan3_client.py --task-id task_EXAMPLE

PowerShell 设置环境变量请使用 $env:WAN3_API_KEY="..."。不要把真实 Key 写入命令截图、教程或代码仓库。

本页内容