Video
Gemini Omni 1.2 Flash
从文本、图片、首尾帧或参考图片生成 3–15 秒、带原生声音的 Gemini Omni 1.2 Flash 视频,也可编辑和续写视频,分辨率从 360p 到 4K。
Gemini Omni 1.2 Flash 是 Google 用于快速生成、对话式编辑和电影级控制的多模态视频模型(于 2026 年 11 月更新)。一个模型 ID 覆盖文生视频、图生视频、首尾帧插值、最多 10 张图片的主体参考、视频编辑和视频续写。每段视频都有原生声音,时长 3–15 秒,分辨率为 360p、720p、1080p 或 4K。发送请求,保存返回的任务 ID,再从该任务读取生成完成的视频。媒体以 URL 形式传入。
模型 ID
| 模型 ID | 模式 | 分辨率 | 时长 |
|---|---|---|---|
gemini-omni-1.2-flash | 文本、图片、首尾帧、参考、编辑、续写 | 360p、720p、1080p、4k | 3–15 秒 |
当前价格请查看模型页面。
快速示例
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.2-flash",
"prompt": "A glass marble rolls fast along a wooden chain-reaction track through a sunlit workshop, one continuous smooth tracking shot. No text, no logos.",
"resolution": "720p",
"duration": 10,
"aspect_ratio": "16:9"
}'端点
POST https://api.seedrouter.ai/v1/videos/generations| 请求头 | 值 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
响应是一个任务({"id": "task_...", "status": "processing"}),不是生成完成的视频。轮询 GET /v1/tasks/{task_id} 获取结果。保持 API Key 在服务端代码中。
参数
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | 字符串 | 必填 | gemini-omni-1.2-flash |
prompt | 字符串 | 必填 | 每种模式都必填:镜头内容、编辑时的改动,或续写时接下来发生的内容。也请描述声音;反向指令也放在这里。 |
duration | 整数 | 10 | 3–15 秒。使用首尾帧或续写时最长 10 秒(续写指新增部分)。编辑会忽略此字段,保持原视频时长。 |
resolution | 枚举 | 720p | 360p、720p、1080p 或 4k(2160p 表示 4k),不区分大小写。1080p 和 4k 由较低分辨率放大得到。 |
aspect_ratio | 枚举 | 16:9 | 16:9 或 9:16。 |
image_urls | URL 列表 | 无 | 一张图片用作首帧,多张图片用作主体参考。包括首尾帧和带角色的图片在内,总计最多 10 张图片。 |
first_frame_image | URL | 无 | 视频从这张图片开始;搭配 last_frame_image 时,模型会补出两者之间的运动。 |
last_frame_image | URL | 无 | 视频以这张图片结束。需要同时提供首帧。 |
image_with_roles | 对象列表 | 无 | {"url", "role"},role 为 first_frame、last_frame,或用其他任意 role 作为参考。通过此字段或两个首尾帧字段提供帧,不能同时使用。 |
video_urls | URL 列表 | 无 | 一段不超过 15 秒、用于编辑或续写的视频。 |
omni_reference_task_type | 枚举 | auto | auto、edit、extend、reference、text_to_video、image_to_video 或 reference_to_video。 |
extend_from_task_id | 字符串 | 无 | 你已完成的某个 gemini-omni-1.2-flash 任务的 ID,用于编辑或续写其视频,无需上传。 |
每段视频都带声音,没有声音开关。没有 negative_prompt、seed、音频输入或 callback_url。参数结构严格:未知字段会被拒绝,而不是忽略。
模式
| 模式 | 怎样选择 |
|---|---|
| 文生视频 | 不提供图片和视频。 |
| 图生视频 | 在 image_urls 中提供一张图片,或提供首帧。 |
| 首尾帧 | first_frame_image 和 last_frame_image,或对应的两个 role。最长 10 秒。 |
| 参考 | 在 image_urls 中提供多张图片,或使用参考 role;可用 omni_reference_task_type: "reference" 明确指定。 |
| 编辑 | 用 video_urls 或 extend_from_task_id 提供视频;选择 auto 或 edit。 |
| 续写 | 按上述方式提供视频,并设置 omni_reference_task_type: "extend"。最多新增 10 秒。 |
提供输入视频时,除非指定 extend,否则会进行编辑;有视频时,不接受 reference、text_to_video、image_to_video 和 reference_to_video。
首尾帧
{
"model": "gemini-omni-1.2-flash",
"prompt": "Smooth transition, the camera slowly pushes in.",
"first_frame_image": "https://example.com/start.jpg",
"last_frame_image": "https://example.com/end.jpg",
"duration": 8
}编辑
{
"model": "gemini-omni-1.2-flash",
"prompt": "Make the violin invisible. Keep everything else the same.",
"video_urls": ["https://example.com/clip.mp4"]
}编辑保持原视频时长;duration 不生效。简短、具体的指令效果最好;局部修改时加上「保持其他一切不变」。
续写先前任务的视频
{
"model": "gemini-omni-1.2-flash",
"prompt": "The camera keeps panning across the mountains.",
"extend_from_task_id": "task_...",
"omni_reference_task_type": "extend",
"duration": 8
}结果包含原视频及紧随其后的新增部分;按新增秒数计费,另加原时长的八分之一。要续写你自己的视频,请通过 video_urls 发送,而不是 extend_from_task_id。
媒体输入
图片和视频是公开的 HTTP(S) URL。不接受 Base64 数据 URI:把文件上传到你自己的存储,再传它们的 URL。要编辑或续写的视频最长为 15 秒;接受请求时会读取其时长,无法读取时长的视频会在扣费前被拒绝。
计费维度
查看模型价格部分获取当前费率。Gemini Omni 1.2 Flash 按视频秒数计费,费率由分辨率决定:
text, image, frames, references: cost = duration × rate
edit: cost = (source + source / 8) × rate
extend: cost = (added seconds + source / 8) × ratesource 是输入视频的画面时长,向上取整到整秒。在接受请求时测量,所以预留金额就是最终扣费金额;额外的八分之一用于读取输入视频。以 720p 为例:编辑一段 6.2 秒视频,按 7 + 7/8 = 7.875 秒计费;将一段 8 秒视频续写 4 秒,按 4 + 1 = 5 秒计费。失败的任务不收费。
输出格式
提交返回任务:
{"id": "task_...", "model": "gemini-omni-1.2-flash", "status": "processing", "created_at": 1789689600}获取任务
GET https://api.seedrouter.ai/v1/tasks/{task_id}每 10–20 秒轮询一次,直到 status 为 completed 或 failed。轮询时网络超时不意味着生成失败:保存任务 ID 并继续检查。不要为了检查进度而创建新任务。
完成的任务
{
"id": "task_...",
"model": "gemini-omni-1.2-flash",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689800,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}每段视频都带有 Google 的不可见 SynthID 水印。在我们的测试中,5–8 秒的 720p 视频在提交后 66–86 秒返回,格式为 MP4(H.264)、分辨率为 1280 × 720,并带立体声 AAC 音轨;编辑一段 3 秒视频后,返回的视频时长仍为 3 秒。
错误
任务创建前被拒的请求返回 HTTP 错误和 error 对象,且不收费。任务接受后失败,查询时会返回 HTTP 200,并包含 status: "failed" 和 error 对象。
查看共享错误目录了解错误码、HTTP 状态和重试指导。
{
"id": "task_...",
"model": "gemini-omni-1.2-flash",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}如果提交本身超时,检查你的任务后再重新提交:第一个请求可能已经被接受。
提示
- 描述主体、场景、摄像机运动、光线和声音;视频的音频会跟随提示词。
- 先用
360p出草稿,再用相同请求以1080p或4k渲染选中的镜头。 - 编辑时每次只改一处,并说明哪些内容必须保持不变。
- 加上「无文字,无标志」防止生成虚构标记。
