跳到主要内容

视频模型

视频模型通过 Prysm 的 OpenAI 兼容视频接口调用。接口是异步任务模式:创建请求会先返回视频任务 ID,任务完成后再查询状态并下载 MP4。

先准备三个值

  • base_url{{BASE_URL}}
  • api_key:控制台里的 Prysm API 密钥
  • model:模型市场中显示的视频模型名,例如 volcengine/doubao-seedance-2-0-260128

基本流程

  1. 调用 POST {{BASE_URL}}/v1/videos 创建视频任务。
  2. 从响应中记录 id,作为后续查询和下载用的 VIDEO_ID
  3. 调用 GET {{BASE_URL}}/v1/videos/{VIDEO_ID} 查询任务状态。
  4. 当状态为 completed 时,调用 GET {{BASE_URL}}/v1/videos/{VIDEO_ID}/content 下载 MP4。

客户端可以轮询状态;如果客户端没有持续轮询,后台也会继续处理任务状态和完成态计费。用户侧要展示或下载结果时,仍需要使用 VIDEO_ID 查询状态或下载内容。

文生视频

curl -sS -X POST "{{BASE_URL}}/v1/videos" \
-H "Authorization: Bearer YOUR_PRYSM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "volcengine/doubao-seedance-2-0-260128",
"prompt": "A small paper boat floating on a calm blue pond, soft morning light, cinematic camera movement, no text, no subtitles.",
"seconds": 5,
"size": "1280x720"
}'

图生视频

简单单图参考可以使用 input_reference,值为可公网访问的 HTTPS 图片 URL。

curl -sS -X POST "{{BASE_URL}}/v1/videos" \
-H "Authorization: Bearer YOUR_PRYSM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "volcengine/doubao-seedance-2-0-260128",
"prompt": "Animate the product image with a slow commercial camera push-in, clean highlights, no text, no subtitles.",
"input_reference": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg",
"seconds": 5,
"size": "1280x720"
}'

如果需要传多图或 provider 原生多模态结构,使用 extra_body.content

{
"model": "volcengine/doubao-seedance-2-0-260128",
"prompt": "Animate this reference image.",
"seconds": 5,
"size": "1280x720",
"extra_body": {
"content": [
{"type": "text", "text": "Animate this reference image."},
{"type": "image_url", "image_url": {"url": "https://example.com/product.png"}}
]
}
}

视频生视频

视频参考输入同样可以放在 input_reference 中。视频文件需要先托管为可访问的 HTTPS URL。

curl -sS -X POST "{{BASE_URL}}/v1/videos" \
-H "Authorization: Bearer YOUR_PRYSM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "volcengine/doubao-seedance-2-0-260128",
"prompt": "Keep the same subject and lighting, extend the motion with a smooth cinematic camera move, no text, no subtitles.",
"input_reference": {
"type": "video_url",
"video_url": {
"url": "https://example.com/input.mp4"
}
},
"seconds": 5,
"size": "1280x720"
}'

多段参考或更复杂的 provider 原生参数使用 extra_body.content

{
"model": "volcengine/doubao-seedance-2-0-260128",
"prompt": "Create a new shot using the motion and style of the reference video.",
"seconds": 5,
"size": "1280x720",
"extra_body": {
"content": [
{"type": "text", "text": "Create a new shot using the motion and style of the reference video."},
{"type": "video_url", "video_url": {"url": "https://example.com/input.mp4"}}
]
}
}

查询状态

curl -sS \
-H "Authorization: Bearer YOUR_PRYSM_API_KEY" \
"{{BASE_URL}}/v1/videos/VIDEO_ID"

常见状态:

状态含义
queued / running / processing任务仍在生成中
completed视频已生成完成
failed任务失败
cancelled任务已取消
expired任务已过期

下载 MP4

curl -sS \
-H "Authorization: Bearer YOUR_PRYSM_API_KEY" \
"{{BASE_URL}}/v1/videos/VIDEO_ID/content" \
--output seedance-output.mp4

常用参数

参数类型说明
modelstring控制台或模型市场显示的视频模型名
promptstring视频生成指令
secondsnumber期望视频时长
sizestring常用值:1280x720720x12801920x10801080x1920
input_referencestring / object图片或视频参考 URL;字符串会按图片 URL 处理
extra_body.contentarrayprovider 原生多模态输入,适合多图、视频参考和高级参数
extra_body.durationnumberprovider 原生时长参数;存在时优先于 seconds
extra_body.ratiostringprovider 原生画幅比例,例如 16:99:16
extra_body.resolutionstringprovider 原生分辨率,例如 720p1080p
extra_body.seednumberprovider 支持时用于固定随机种子
extra_body.watermarkbooleanprovider 支持时控制水印

计费说明

  • 视频任务在 provider 确认 completed 后入账。
  • 创建任务、查询状态和下载内容属于任务生命周期操作。
  • 同一个已完成任务重复查询时,只会按完成态结果入账一次。
  • failedcancelledexpired 等非成功终态不会按完成视频入账。
  • 图生视频、视频生视频、不同分辨率和不同时长可能对应不同消耗,具体以用量记录和收支明细为准。

排查问题

现象检查项
401403API key 是否正确、是否有目标视频模型权限
404base_url/v1/videos 路径或 VIDEO_ID 是否正确
400sizesecondsinput_referenceextra_body.content 格式是否正确
图片或视频参考无法使用参考文件是否为可公网访问的 HTTPS URL
任务长时间未完成查询任务状态,并在日志中记录请求时间、模型名和 VIDEO_ID