视频生成
本平台统一视频生成 API 规范
视频生成统一使用任务模式。推荐新客户端使用 OpenAI 风格的 /v1/videos,旧客户端可以继续使用 /v1/video/generations。
创建任务
POST /v1/videos兼容路径:
POST /v1/video/generations查询任务
GET /v1/videos/{task_id}
GET /v1/video/generations/{task_id}任务完成后可以读取视频内容:
GET /v1/videos/{task_id}/content统一字段
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 本平台视频模型值,必填。 |
mode | string | 可选能力模式,默认自动识别。 |
prompt | string | 文本提示词,多数模型必填。 |
image / image_url / imageUrl | string | 单张图生视频输入。 |
images / imageUrls | string[] | 多参考图输入,也可用单元素数组表示单图。 |
first_image_url / firstFrameUrl | string | 首帧图片。 |
last_image_url / lastFrameUrl | string | 尾帧图片,必须与首帧成对传入。 |
video / videoUrl / videoUrls | string 或 string[] | 参考视频输入,只有部分模型支持。 |
audio / audioUrl / audioUrls | string 或 string[] | 参考音频输入,只有部分模型支持。 |
aspect_ratio / aspectRatio | string | 画面比例,如 16:9、9:16、1:1。 |
duration / seconds | string 或 number | 时长,平台会按模型需要转成上游字段。 |
resolution | string | 清晰度,如 720p、1080p。 |
generate_audio | boolean | 是否生成音频,会按模型映射到上游字段。 |
negative_prompt | string | 反向提示词,会按模型映射到上游字段。 |
seed | number | 随机种子,只有部分模型支持。 |
自动识别与指定 mode
默认不传 mode、传空字符串或传 "auto" 时,平台按请求字段自动选择模型的上游能力:
- 同时存在首帧和尾帧:首尾帧生视频。
- 存在多张参考图、参考视频或参考音频:参考图生视频、视频参考、音频参考或全能参考。
- 存在单张图片:图生视频。
- 只有
prompt:文生视频。
也可以显式传 mode 指定能力:
mode | 说明 |
|---|---|
auto | 自动识别,等同于不传。 |
text-to-video | 强制文生视频,忽略图片、视频、音频参考字段。 |
image-to-video | 强制图生视频,从单图字段或数组第一张图取输入。 |
reference-to-video / references | 强制参考输入模式,可按模型能力接收参考图、参考视频或音频。 |
start-end-to-video / frames | 强制首尾帧模式,必须同时传首帧和尾帧。 |
显式 mode 优先于字段自动识别;如果模型不支持该 mode,或缺少该模式必需输入,平台会返回本地 400。平台会先归一化 mode,再按模型能力适配为对应上游字段。
sora-v3-lite / sora-v3-pro 兼容 references 与 frames 两个原生模式名;其中 frames 对应首尾帧模式。
字段成对规则
首尾帧字段必须成对传入。只传 last_image_url 或只传 lastFrameUrl 时,支持首尾帧的模型会返回本地 400 错误。
模型能力
| 模型值 | 系列 | 文生视频 | 图生视频 | 参考图生视频 | 视频参考 | 音频参考 | 首尾帧 | 全能参考 | 自动识别规则 | 限制 |
|---|---|---|---|---|---|---|---|---|---|---|
| sora-v3-lite | Sora | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 无媒体走文生;firstFrameUrl/lastFrameUrl 走首尾帧;imageUrls/videoUrls/audioUrls 走多素材参考。 | 参考图最多 4 张;参考视频最多 3 个;参考音频最多 1 个;仅支持 10、15 秒;按次计费。 |
| sora-v3-pro | Sora | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | resolution/quality/clarity/size 为 480p 时走标清档;720p 或未指定时走高清档。 | 参考图最多 9 张;参考视频最多 3 个;参考音频最多 3 个;仅支持 10、15 秒;按次计费。 |
视频参考对应 video/videoUrl/videoUrls;音频参考对应 audio/audioUrl/audioUrls;mode 只对表中支持或部分支持的能力有效;全能参考表示模型能在同一套规范字段中组合接收多种参考输入。
文生视频
curl https://geekapi.net/v1/videos \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-v3-lite",
"prompt": "黄昏海边,一架纸飞机从镜头前飞过",
"aspect_ratio": "16:9",
"duration": "10",
"resolution": "720p"
}'指定 mode
{
"model": "sora-v3-lite",
"mode": "frames",
"prompt": "让首帧中的人物走到尾帧的位置,镜头缓慢推进",
"firstFrameUrl": "https://example.com/first.png",
"lastFrameUrl": "https://example.com/last.png",
"aspect_ratio": "16:9",
"duration": "10",
"resolution": "720p"
}图生视频
{
"model": "sora-v3-lite",
"prompt": "人物缓慢举起酒杯,镜头轻微推进",
"image": "https://example.com/input.jpg",
"aspect_ratio": "16:9",
"duration": "10",
"resolution": "720p"
}参考图生视频
{
"model": "sora-v3-pro",
"prompt": "让多张参考图中的角色在同一场景互动",
"images": ["https://example.com/a.jpg", "https://example.com/b.jpg"],
"aspect_ratio": "16:9",
"duration": "10",
"resolution": "720p"
}首尾帧生视频
{
"model": "sora-v3-lite",
"prompt": "从第一帧自然过渡到最后一帧",
"first_image_url": "https://example.com/start.jpg",
"last_image_url": "https://example.com/end.jpg",
"aspect_ratio": "9:16",
"duration": "10",
"resolution": "720p"
}全能参考
全能参考用于支持参考图、参考视频、参考音频组合输入的模型,例如 sora-v3-lite、sora-v3-pro。
{
"model": "sora-v3-pro",
"prompt": "参考视频的运镜和参考图的人物外观,生成一段舞台表演",
"imageUrls": ["https://example.com/character.jpg"],
"videoUrls": ["https://example.com/motion.mp4"],
"audioUrl": "https://example.com/music.mp3",
"aspectRatio": "16:9",
"duration": "10",
"resolution": "720p"
}响应
创建任务后返回任务对象:
{
"id": "task_xxx",
"object": "video",
"model": "sora-v3-lite",
"status": "queued",
"progress": 0,
"created_at": 1782658000
}查询完成后通常返回:
{
"id": "task_xxx",
"object": "video",
"model": "sora-v3-lite",
"status": "completed",
"progress": 100,
"created_at": 1782658000,
"completed_at": 1782658060,
"metadata": {
"videos": [
{
"url": "https://example.com/result.mp4"
}
]
}
}