EasyRouterEasyRouter
使用指南API 文档接入 Agent 工具
AI 模型接口视频(Videos)

PixVerse 视频生成

使用 EasyRouter 统一接口调用 PixVerse 全系列视频生成模型(C1 / V6 / V5.6 / V5.5 / V5 / V4.5 / V4 / V3.5),支持文生视频、图生视频。

PixVerse 是一家提供高质量 AI 视频生成服务的平台。EasyRouter 接入 PixVerse OpenAPI v2,通过 OpenAI 兼容的 /v1/videos 接口对外提供服务,覆盖 PixVerse 全部 8 个模型版本的文生视频与图生视频能力。

PixVerse 是异步任务型接口:提交后立即返回 task_id,你需要轮询任务状态,成功后通过代理接口下载视频。


一、支持的模型

调用时在 model 字段统一使用 PixVerse/<版本号> 的形式,例如 PixVerse/v5.6

模型特点时长档位音频支持
PixVerse/c1旗舰版,按秒计费最灵活1~15 秒(按秒)
PixVerse/v6最新代,按秒计费1~15 秒(按秒)
PixVerse/v5.6单片段模式,画质稳定5 / 8 / 10 秒
PixVerse/v5.5支持 Multi-Clip 拼接5 / 8 / 10 秒
PixVerse/v5第 5 代基础版5 / 8 秒
PixVerse/v4.5第 4.5 代,支持 Fast Motion5 / 8 秒
PixVerse/v4第 4 代,支持 Fast Motion5 / 8 秒
PixVerse/v3.5第 3.5 代,支持 Fast Motion5 / 8 秒

模型名中 PixVerse/ 前缀大小写敏感,建议严格使用 PixVerse/v5.6 这种格式。版本号部分(v5.6c1)支持大小写自动 normalize。


二、通用接口

所有 PixVerse 模型、所有任务类型都通过 OpenAI 兼容的 /v1/videos 接口调用。

2.1 提交任务

POST /v1/videos

请求头

Header必填说明
AuthorizationBearer sk-你的APIKey
Content-Typeapplication/json

请求体字段

字段类型必填说明
modelstringPixVerse 模型名,见上表
promptstring视频描述提示词,最长 2048 字符
imagestring图生视频模式的原图(URL 或 base64 data URI),传入后自动切换为图生视频
imagesstring[]image 的数组形式(与 image 二选一)
durationint视频时长(秒),默认 5,不同模型支持的档位不同
resolutionstring分辨率档位(同 size,推荐使用,与其他模型对齐):720P / 1080P
sizestring分辨率,支持 360p 540p 720p 1080p,或 1920x1080 这类像素格式。resolutionsize 并存时 resolution 优先
metadataobjectPixVerse 特有参数容器(见第三节)

响应

{
  "id": "task_xxxxxxxxxxxxx",
  "task_id": "task_xxxxxxxxxxxxx",
  "object": "video",
  "model": "PixVerse/v5.6",
  "status": "queued",
  "progress": 0,
  "created_at": 1730000000
}

id / task_id 是 EasyRouter 生成的公开 ID(task_ 前缀),用于后续查询。它不等于 PixVerse 上游的 video_id,请务必使用 EasyRouter 返回的这个值。

2.2 查询任务状态

GET /v1/videos/{task_id}

响应(进行中)

{
  "id": "task_xxxxxxxxxxxxx",
  "status": "in_progress",
  "progress": 30,
  "created_at": 1730000000
}

响应(成功)

{
  "id": "task_xxxxxxxxxxxxx",
  "status": "completed",
  "progress": 100,
  "created_at": 1730000000,
  "completed_at": 1730000060,
  "size": "1280x720",
  "metadata": {
    "url": "https://media.pixverse.ai/xxx.mp4"
  }
}

状态枚举

状态说明
queued已提交,排队中
in_progress生成中
completed已完成,metadata.url 为视频地址
failed生成失败,error.message 为失败原因

2.3 下载视频内容

GET /v1/videos/{task_id}/content

直接返回视频二进制流(Content-Type: video/mp4)。EasyRouter 会自动代理 PixVerse 的临时 URL,避免向客户端暴露上游地址,也避免临时 URL 过期问题。

强烈推荐使用 /content 代理接口下载视频,而不是直接访问 metadata.url。后者是 PixVerse 的临时链接,有效期有限(通常数小时);而代理接口只要任务记录未清理就永不过期。


三、PixVerse 特有参数(metadata)

所有 PixVerse 特有字段都通过请求体的 metadata 对象传递。

3.1 通用字段

字段类型适用模型说明
qualitystring所有分辨率,覆盖顶层 size,可选 360p 540p 720p 1080p
aspect_ratiostring文生视频宽高比,如 16:9 9:16 1:1 4:3 3:4 2:3 3:2 21:9
motion_modestringV4.5 / V4 / V3.5运动模式,normal(默认)或 fast(×2 价格,仅 360p/540p/720p 的 5s 支持)
camera_movementstring所有镜头运动,如 zoom_in zoom_out pan_left pan_right
seedint所有随机种子,0 ~ 2147483647
template_idint所有模板 ID
stylestring所有风格,如 anime
water_markbool所有是否添加水印
negative_promptstring所有负面提示词

motion_mode: fast 有严格限制:仅 V4.5 / V4 / V3.5 模型、5 秒时长、360p/540p/720p 分辨率支持。传入其他组合(如 1080p + fast8s + fast)会直接返回 400 错误,不会产生扣费。

3.2 视频音频生成(C1 / V6 / V5.6 / V5.5)

字段类型适用模型说明
generate_audio_switchboolC1 / V6 / V5.6 / V5.5切换到"有音频"计费档位(由上游同步生成音频)

V5 / V4.5 / V4 / V3.5 不支持音频生成。这几个模型传入 generate_audio_switch: true 会返回 400 错误。

3.3 图生视频高级字段

PixVerse 图生视频要求先把图片上传到上游获取 img_id。EasyRouter 已自动封装了上传流程

  • 你直接在请求体传 image: "https://..."image: "data:image/png;base64,..."
  • EasyRouter 自动上传到 PixVerse,取回 img_id 后转发给视频生成接口

如果你已经有 img_id(高级场景),可以直接传:

字段类型说明
img_idint预上传的图片 ID,优先级高于 image 自动上传

四、完整调用示例

# Step 1: 提交任务
curl -X POST https://easyrouter.io/v1/videos \
  -H "Authorization: Bearer sk-你的APIKey" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "PixVerse/v5.6",
    "prompt": "一只猫在月球表面漫步,背景是璀璨的星空",
    "duration": 5,
    "size": "720p",
    "metadata": {
      "aspect_ratio": "16:9",
      "seed": 42
    }
  }'

# 响应:
# {
#   "id": "task_abc123...",
#   "task_id": "task_abc123...",
#   "status": "queued",
#   ...
# }

# Step 2: 轮询任务状态(建议间隔 3~5 秒)
curl https://easyrouter.io/v1/videos/task_abc123... \
  -H "Authorization: Bearer sk-你的APIKey"

# Step 3: 状态变为 completed 后,下载视频
curl https://easyrouter.io/v1/videos/task_abc123.../content \
  -H "Authorization: Bearer sk-你的APIKey" \
  -o cat_on_moon.mp4
curl -X POST https://easyrouter.io/v1/videos \
  -H "Authorization: Bearer sk-你的APIKey" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "PixVerse/v5.6",
    "prompt": "让这只猫跳起来",
    "image": "https://example.com/cat.jpg",
    "duration": 5,
    "size": "720p"
  }'
# 先把图片编码成 data URI
IMG_BASE64=$(base64 -i cat.jpg)

curl -X POST https://easyrouter.io/v1/videos \
  -H "Authorization: Bearer sk-你的APIKey" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"PixVerse/v5.6\",
    \"prompt\": \"让这只猫跳起来\",
    \"image\": \"data:image/jpeg;base64,${IMG_BASE64}\",
    \"duration\": 5,
    \"size\": \"720p\"
  }"
# C1 / 720p / 5s / 同步生成音频
curl -X POST https://easyrouter.io/v1/videos \
  -H "Authorization: Bearer sk-你的APIKey" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "PixVerse/c1",
    "prompt": "海浪拍打海岸,海鸥在天空盘旋",
    "duration": 5,
    "size": "720p",
    "metadata": {
      "generate_audio_switch": true,
      "aspect_ratio": "16:9"
    }
  }'

五、错误处理

5.1 HTTP 400 参数错误(提交前拦截,不扣费)

EasyRouter 在提交到上游前会严格校验参数组合。以下非法组合会返回 400 Bad Request

场景错误信息
V5 / V4.5 / V4 / V3.5 传入 generate_audio_switch: truemodel "v5" does not support audio generation
V4.5 / V4 / V3.5 的 fast 模式 + 1080pV4/V4.5/V3.5 fast motion only supports 360p/540p/720p at 5s
V4.5 / V4 / V3.5 的 fast 模式 + 8s同上
V5.6 / V5.5 / V5 不支持的 quality × duration 组合combination 1080p / 10s not supported
未知模型名unknown model: "v999"

5.2 HTTP 401 / 403 鉴权错误

  • 401 Unauthorized: API Key 无效或已过期
  • 403 Forbidden: API Key 无权访问此模型(检查 token 的模型白名单)

5.3 HTTP 402 余额不足

返回 insufficient user quota 错误。请前往 EasyRouter 控制台充值。

5.4 任务 failed 状态

任务提交成功但生成失败。常见原因:

原因说明处理建议
content moderation failed内容审核不通过修改 prompt,避免敏感内容
generation failed上游生成失败重试,或降低分辨率/时长
upstream timeout上游超时稍后重试

任务 failed 时 EasyRouter 会自动退款到你的账户,你可以在日志页面查询退款记录。


六、常见问题