视频模型
视频模型通过 Prysm 的 OpenAI 兼容视频接口调用。接口是异步任务模式:创建请求会先返回视频任务 ID,任务完成后再查询状态并下载 MP4。
先准备三个值
base_url:{{BASE_URL}}api_key:控制台里的 Prysm API 密钥model:模型市场中显示的视频模型名,例如volcengine/doubao-seedance-2-0-260128
基本流程
- 调用
POST {{BASE_URL}}/v1/videos创建视频任务。 - 从响应中记录
id,作为后续查询和下载用的VIDEO_ID。 - 调用
GET {{BASE_URL}}/v1/videos/{VIDEO_ID}查询任务状态。 - 当状态为
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
常用参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 控制台或模型市场显示的视频模型名 |
prompt | string | 视频生成指令 |
seconds | number | 期望视频时长 |
size | string | 常用值:1280x720、720x1280、1920x1080、1080x1920 |
input_reference | string / object | 图片或视频参考 URL;字符串会按图片 URL 处理 |
extra_body.content | array | provider 原生多模态输入,适合多图、视频参考和高级参数 |
extra_body.duration | number | provider 原生时长参数;存在时优先于 seconds |
extra_body.ratio | string | provider 原生画幅比例,例如 16:9 或 9:16 |
extra_body.resolution | string | provider 原生分辨率,例如 720p 或 1080p |
extra_body.seed | number | provider 支持时用于固定随机种子 |
extra_body.watermark | boolean | provider 支持时控制水印 |
计费说明
- 视频任务在 provider 确认
completed后入账。 - 创建任务、查询状态和下载内容属于任务生命周期操作。
- 同一个已完成任务重复查询时,只会按完成态结果入账一次。
failed、cancelled、expired等非成功终态不会按完成视频入账。- 图生视频、视频生视频、不同分辨率和不同时长可能对应不同消耗,具体以用量记录和收支明细为准。
排查问题
| 现象 | 检查项 |
|---|---|
401 或 403 | API key 是否正确、是否有目标视频模型权限 |
404 | base_url、/v1/videos 路径或 VIDEO_ID 是否正确 |
400 | size、seconds、input_reference 或 extra_body.content 格式是否正确 |
| 图片或视频参考无法使用 | 参考文件是否为可公网访问的 HTTPS URL |
| 任务长时间未完成 | 查询任务状态,并在日志中记录请求时间、模型名和 VIDEO_ID |