Skip to content

万相 3.0 视频生成(按秒计费)

星算云万相(Wan 3.0)视频网关挂载于 DashScope 官方路径 /api/v1,对外提供 wan3.0-video 系列模型(全能参考视频生成,按秒计费)。请求体与响应体沿用阿里云百炼(DashScope)原生格式原样透传,平台仅做鉴权、模型校验与按秒计费;鉴权用 Authorization: Bearer xsk_...

Seedance(火山兼容)/api/v3 视频端点区别:本网关只接 provider 为阿里千问系的 VIDEO 模型(wan3.0-video / wan3.0-video-prime);火山系模型请走 /api/v3 系列端点。DashScope SDK 的 base_http_api_url 直接指向平台域名即可。

基础信息

项目内容
Base URLhttps://xingsuan.cloud(平台地址)
创建任务POST /api/v1/services/aigc/video-generation/video-synthesis
查询任务GET /api/v1/tasks/{task_id}(全局任务路径)
Content-Typeapplication/json
鉴权 HeaderAuthorization: Bearer xsk_...(平台 API Key)

API Key 安全

只在服务端保存 API Key,不要放入浏览器、公开仓库或客户端安装包。

异步头由平台注入

创建任务所需的 X-DashScope-Async: enable 请求头由平台自动附加,调用方无需(也可以)自行传递;请求体中的其他 Header 不会透传到上游。

模型

模型代码说明
wan3.0-video万相 3.0 标准档,文生视频 / 图片参考 / 视频 / 音频参考全能输入
wan3.0-video-prime万相 3.0 高质量档,同参数更高画质

模型代码即 DashScope 官方模型名;价格与可用档位以平台「模型市场」展示为准。

计费

按「实际生成视频时长(秒)× 分辨率·输入类型单价」计费,以平台模型配置价格与 API Key 折扣为准,从账户钱包实时扣减。任务失败不收取费用。

  • 计费秒数:以任务成功后响应 usage.duration 为准(向上取整到整秒);duration: -1 智能时长同样按回报秒数计费。
  • 分辨率档位:以响应 usage.SR(480/720/1080)映射档位计费;未回报时按请求 resolution(缺省 1080P)。
  • 输入类型:仅当 input.mediareference_video(视频编辑/视频延长/参考视频)时用「含参考视频」价;首尾帧与图片/音频/文件参考均按「无参考视频」价。
  • 生成同步音频(audio: true)不额外计费,与静默视频同价。

具体单价见平台「模型市场」对应模型的价格表。

创建任务

POST /api/v1/services/aigc/video-generation/video-synthesis

bash
API_BASE=https://xingsuan.cloud
curl "$API_BASE/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer $XSK_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": {
      "prompt": "一只橘猫在清晨的草地上奔跑,阳光透过树叶形成光斑,电影感真实摄影"
    },
    "parameters": {
      "resolution": "1080P",
      "ratio": "16:9",
      "duration": 5,
      "audio": true,
      "watermark": false
    }
  }'
python
import requests

API_BASE = "https://xingsuan.cloud"
resp = requests.post(
    f"{API_BASE}/api/v1/services/aigc/video-generation/video-synthesis",
    headers={"Authorization": f"Bearer {XSK_KEY}"},
    json={
        "model": "wan3.0-video",
        "input": {"prompt": "一只橘猫在清晨的草地上奔跑,阳光透过树叶形成光斑,电影感真实摄影"},
        "parameters": {
            "resolution": "1080P",
            "ratio": "16:9",
            "duration": 5,
            "audio": True,
            "watermark": False,
        },
    },
)
data = resp.json()
print(data["output"]["task_id"])  # 任务 ID,用于查询

请求参数

参数位置必填说明
AuthorizationHeaderBearer xsk_...
modelBodywan3.0-video / wan3.0-video-prime
input.promptBody条件文本提示词;input.media 为空时必填
input.mediaBody条件素材数组,见下方类型矩阵;与 prompt 至少提供一项
parameters.resolutionBody1080P / 720P / 480P,默认 1080P
parameters.ratioBodyadaptive / 16:9 / 4:3 / 1:1 / 3:4 / 9:16,默认 adaptive
parameters.durationBody生成时长秒;无参考视频时 [2,30],默认 5;-1 为智能时长(由输入素材决定)
parameters.audioBody是否生成同步音频,默认以模型配置为准;同价
parameters.seedBody随机种子
parameters.prompt_extendBody是否启用提示词改写
parameters.watermarkBody是否加水印

media 类型矩阵

input.media 每项为 {type, url},URL 须为公网可直接访问的 HTTP(S) 地址:

type数量上限说明
first_frame1首帧(图)
last_frame1尾帧(图)
reference_image10图片参考
reference_video5视频参考(触发「含参考视频」价)
reference_audio5音频参考
file1文件参考(如 ppt/pdf)
link1网页链接参考

互斥约束:first_frame/last_frame(首尾帧)与 reference_*/file/link(参考组)不能混用;filelink 互斥。

创建响应

创建成功(HTTP 200)返回 DashScope 原生信封 {output, usage, request_id}:

json
{
  "output": {
    "task_status": "PENDING",
    "task_id": "5b47f8ed-3e8c-4d47-8b61-47c95b1e35cb"
  },
  "usage": null,
  "request_id": "69c77c85-e96e-4e01-9afd-26b63564a76e"
}

保存 output.task_id,后续用它查询任务。

查询任务

GET /api/v1/tasks/{task_id}

bash
curl "$API_BASE/api/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $XSK_KEY"

响应为 DashScope 原生信封,output.task_status 表示任务状态。建议每 5~10 秒轮询一次。

task_status 取值

task_status含义是否终态
PENDING排队中
RUNNING处理中
SUCCEEDED成功,output.video_url 为视频地址
FAILED失败,output.code/output.message 含原因
CANCELED已取消
UNKNOWN任务不存在或查询已过期(见下方 24h 时效)

成功

json
{
  "request_id": "xxx",
  "output": {
    "task_id": "5b47f8ed-3e8c-4d47-8b61-47c95b1e35cb",
    "task_status": "SUCCEEDED",
    "submit_time": "2026-08-29 10:00:00.123",
    "end_time": "2026-08-29 10:04:30.456",
    "video_url": "https://xxx/xxx.mp4",
    "orig_prompt": "一只橘猫在清晨的草地上奔跑"
  },
  "usage": {
    "video_count": 1,
    "duration": 5.0,
    "input_video_duration": 0.0,
    "output_video_duration": 5.0,
    "fps": 30,
    "SR": 1080,
    "ratio": "16:9"
  }
}

24 小时时效

  • task_id 创建后 24 小时内可查询,过期后查询返回 UNKNOWN;
  • video_url 有效期约 24 小时,请在任务成功后及时转存。

参考素材示例

首尾帧

json
{
  "model": "wan3.0-video",
  "input": {
    "prompt": "镜头从首帧自然过渡到尾帧,动作连贯,真实摄影质感",
    "media": [
      {"type": "first_frame", "url": "https://example.com/first.jpg"},
      {"type": "last_frame", "url": "https://example.com/last.jpg"}
    ]
  },
  "parameters": {"resolution": "720P", "duration": 5}
}

视频 + 音频参考(含 reference_video,按「含参考视频」价计费)

json
{
  "model": "wan3.0-video",
  "input": {
    "prompt": "参考视频中的动作节奏,为画面重新配乐并延长镜头",
    "media": [
      {"type": "reference_video", "url": "https://example.com/motion.mp4"},
      {"type": "reference_audio", "url": "https://example.com/music.wav"}
    ]
  },
  "parameters": {"resolution": "1080P", "duration": -1}
}

参考素材须为公网可直接访问的 HTTP(S) 地址;不支持本地路径或需登录访问的地址。

错误

  • 上游成功/失败响应:原样透传 DashScope 信封 {output, usage, request_id}
  • 平台侧错误(鉴权失败 / 模型不存在 / 无权限 / 额度超限 / 钱包余额不足等):统一为 DashScope 风格错误体 {"code":"<string>","message":...,"request_id":...},如 InvalidApiKeyModelNotFoundTaskNotFoundThrottling.QuotaArrearage。上游 4xx/5xx 错误体原样透传(保留上游 request_id);上游超时 → 504 InternalError.TimeOut;连接错误 → 502 InternalError。详见 错误码

路由约束

本网关只接受 provider 为阿里千问系的 VIDEO 模型;传入火山系模型会返回 400,请改用对应 /api/v3 端点。任务查询按任务归属路由:火山端点创建的任务在本端点查询返回 404 TaskNotFound(反之亦然)。