摘要: Gemini Omni 1.1 Flash 是 Google 于 2026 年 8 月 27 日正式发布的 GA 视频生成与编辑模型,API 模型 ID 为 gemini-omni-1.1-flash。它可以生成带原生音频的 3—10 秒视频、把已有片段向结尾延续、用首帧和尾帧控制镜头过渡,并输出 360p、720p、1080p 或 4K。最容易被误解的三点是:40 秒不是单次生成时长,而是按 10 秒增量多轮延续后的累计上限;1080p 与 4K 是升频输出;模型没有免费 API 层。本文面向 AI 视频开发者、自动化工作流搭建者、内容团队和创意工具产品经理,提供 Google AI Studio 准备、Python 与 REST 调用、首尾帧插值、视频延续、4K 输出、成本估算、提示词模板、失败排查及生产化方案。
核心结论
- 模型已经正式可用: 稳定模型 ID 是
gemini-omni-1.1-flash,状态为 GA;旧的gemini-omni-flash-preview计划于 2026 年 9 月 30 日弃用。 - 40 秒是累计时长上限: 模型每次可生成 3—10 秒延续,官方建议按 10 秒增量继续,累计最长 40 秒。它会使用原视频最后 10 秒作为上下文,并可能调整输入片段末尾少量帧以获得平滑衔接。
- 首尾帧是双图插值: 在同一次
input中提供两张图片,并用提示词说明从第一张平滑过渡到第二张;它不同于只上传一张图做图生视频,也不同于把多图仅当作角色参考。 - 4K 属于升频:
resolution支持360p、720p、1080p、4k,默认 720p;官方明确标注 1080p 和 4K 为 upscaled,而非原生 4K 生成。 - 推荐流程是低清迭代、高清交付: 用 360p 或 720p 验证构图、动作、节奏和角色一致性,锁定后再以 1080p/4K生成最终版本,避免把成本和等待时间浪费在失败草稿上。
- 付费层才可调用: 官方价格页没有 Free Tier;输入为每百万 token 1.50 美元,视频输出为每百万 token 17.50 美元,按 720p 每秒 5,792 token 折算约 0.10 美元/秒。
本文核验日期:2026 年 9 月 2 日。功能、区域限制、价格与 SDK 结构可能继续变化,生产部署前应再次查看 Google Gemini API 官方文档和控制台。
Gemini Omni 1.1 Flash 是什么
结论是:它不是传统文本 Gemini 模型外挂一个视频工具,而是面向视频生成、编辑与电影级控制的原生多模态模型。它可以同时处理文本、图像、视频和音频上下文,通过 Interactions API 进行多轮生成与自然语言编辑。
Google 将其定位为高性能、快速、对话式的视频模型。与早期 Preview 版相比,1.1 稳定版新增或强化了四项生产能力:
- 视频延续:从已有片段尾部继续生成;
- 首尾帧插值:用两张图锁定起点与终点;
- 分辨率控制:360p、720p、1080p 和 4K;
- 更长上下文:延续时分析最多 10 秒历史,而不是只参考最后约 1 秒。
模型卡给出的单次输出范围为 3—10 秒、24 FPS,支持 16:9 与 9:16。它可以自动生成与视频匹配的音频,也可以在提示词中描述音乐、环境音或对白。不过,语音编辑、上传音频参考、多视频联合推理等能力仍有限制。
GA、Preview 与模型 ID
| 项目 | 稳定版 | 旧预览版 |
|---|---|---|
| 模型 ID | gemini-omni-1.1-flash | gemini-omni-flash-preview |
| 状态 | GA、生产可用 | Preview,计划弃用 |
| 最新官方节点 | 2026 年 8 月 27 日发布 | 2026 年 9 月 30 日计划弃用 |
| 新项目建议 | 直接使用 | 立即安排迁移 |
如果现有代码仍引用 Preview 模型,不要只替换字符串就结束。应重新测试分辨率参数、双帧输入、延续行为、内容安全、输出交付方式和成本,因为 GA 版新增能力会改变工作流设计。
四项核心能力如何选择
| 需求 | 推荐能力 | 输入 | 关键参数或方法 | 主要限制 |
|---|---|---|---|---|
| 从文字生成短视频 | Text-to-video | 文本 | response_format | 单次 3—10 秒 |
| 把静态图动起来 | Image-to-video | 1 张图+文本 | 图像放入 input | 角色、文字和细节可能漂移 |
| 精确控制起点与终点 | 首尾帧插值 | 2 张图+文本 | 两张图按顺序输入 | 中间运动仍由模型生成 |
| 延续现有片段 | Video extension | 上传视频或 previous_interaction_id | 提示词或 task: extend | 只能向结尾追加;上传片段须不超过 10 秒 |
| 对生成结果反复改动 | 对话式编辑 | 上一次交互 ID+文本 | previous_interaction_id | store=false 后不能继续引用 |
| 快速打样 | 360p/720p | 任意支持输入 | resolution | 360p 只适合预览 |
| 最终交付 | 1080p/4K | 已定稿的镜头方案 | resolution: "4k" | 二者都是升频,耗时和成本更高 |

开始前的环境准备
1. 开通付费 Gemini API
Gemini Omni 1.1 Flash 在 Gemini API 付费层提供,官方价格表的 Free Tier 标记为不可用。先在 Google AI Studio 创建或选择项目,启用结算并生成 API Key。不要把密钥写入源码、截图、前端 JavaScript 或公开仓库。
Linux/macOS 可在当前终端设置:
export GEMINI_API_KEY="your_api_key"
Windows PowerShell 可使用:
$env:GEMINI_API_KEY="your_api_key"
生产环境应使用 Secret Manager、CI Secret 或容器密钥注入。示例中的环境变量名称应与团队现有规范统一。
2. 安装 Google Gen AI SDK
Python:
python -m pip install --upgrade google-genai
Node.js:
npm install @google/genai
检查 SDK 版本并锁入 requirements.txt、pyproject.toml 或 package-lock.json,避免自动升级导致字段结构变化。
3. 建立输出目录和素材规范
建议每个镜头保留以下内容:
project/
├── assets/
│ ├── first-frame.jpg
│ ├── last-frame.jpg
│ └── input-video.mp4
├── prompts/
│ └── shot-01.md
├── outputs/
│ ├── preview-360p.mp4
│ ├── master-4k.mp4
│ └── extended-40s.mp4
└── metadata/
└── interactions.json
素材命名应包含镜头号、版本、比例和分辨率;生产系统还应记录模型 ID、交互 ID、生成日期、提示词版本、审核状态与成本。
教程一:生成第一段视频
最小 Python 示例使用 Interactions API 创建一段带音频的视频,并以 Base64 写入本地文件:
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input=(
"In a single continuous shot, a small delivery robot moves through "
"a rainy neon street at night. Slow dolly-in, reflections on wet pavement. "
"Sound design: soft rain and distant city ambience. No dialogue."
),
response_format={
"type": "video",
"aspect_ratio": "16:9",
"resolution": "720p",
},
)
with open("outputs/shot-01-720p.mp4", "wb") as f:
f.write(base64.b64decode(interaction.output_video.data))
print("interaction_id:", interaction.id)
这里特意使用英文提示词,因为 Google 官方说明英语经过完整评估,其他语言可能可用但效果不稳定。中文团队可先写中文镜头脚本,再通过人工检查翻译为英文生成提示词。
如果必须保持一个连续镜头,明确写入:In a single continuous shot、No scene cuts 或 Continuous, unbroken shot。模型默认可能主动组合多个镜头;不声明就不能把多镜头输出视为错误。
教程二:用首尾帧控制镜头过渡
首尾帧插值适合产品转场、角色姿势过渡、昼夜变化、建筑形态变化和循环视频。核心是同时上传两张图,并在提示词中明确第一张是起始帧、第二张是结束帧。
import base64
from pathlib import Path
from google import genai
def to_b64(path: str) -> str:
return base64.b64encode(Path(path).read_bytes()).decode("utf-8")
client = genai.Client()
first_frame = to_b64("assets/first-frame.jpg")
last_frame = to_b64("assets/last-frame.jpg")
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input=[
{
"type": "image",
"data": first_frame,
"mime_type": "image/jpeg",
},
{
"type": "image",
"data": last_frame,
"mime_type": "image/jpeg",
},
{
"type": "text",
"text": (
"Use the first image as the starting frame and the second image "
"as the ending frame. Create one smooth continuous camera move. "
"The camera slowly circles clockwise while afternoon light changes "
"into blue hour. Preserve the building geometry. No scene cuts."
),
},
],
response_format={
"type": "video",
"aspect_ratio": "16:9",
"resolution": "720p",
},
)
Path("outputs/interpolation-720p.mp4").write_bytes(
base64.b64decode(interaction.output_video.data)
)
首尾帧素材的五项要求
- 两张图使用相同比例和接近的分辨率,避免强制裁切;
- 主体位置、镜头焦段和视角变化不要过于极端;
- 起止帧中的角色服饰、商品结构和标识保持一致;
- 把中间运动写清楚,但不要堆叠多个互相冲突的动作;
- 先用 360p/720p 检查路径,再生成 4K。
如果希望生成无缝循环,可以提供同一张图作为首帧和尾帧,并在提示词中使用官方建议语义:Use this image as the first frame and the last frame. 但相同端点并不保证运动速度曲线也无缝,仍需逐帧检查连接处。
教程三:把视频累计延续到 40 秒
先理解“40 秒”的正确含义
Google 官方说明,Omni 1.1 Flash 可以按 10 秒增量延续,累计最多 40 秒。单次延续产生 3—10 秒内容,不是输入一句提示词直接得到 40 秒完整叙事。延续只能追加在结尾,不能在片头前置内容,也不能插入视频中段。
推荐从模型生成的第一段视频开始,保存 interaction.id,再通过 previous_interaction_id 多轮延续。这样可以保留会话上下文,并支持延续生成过的对白或语音。
import base64
from pathlib import Path
from google import genai
client = genai.Client()
prompts = [
"A continuous tracking shot follows a red exploration rover entering an ice cave. No dialogue.",
"Continue for 10 seconds. The rover descends a gentle slope and blue crystals begin to glow. Keep the same rover, camera direction, lighting logic and ambient sound.",
"Continue for 10 seconds. The cave opens into a vast chamber; the camera slowly pulls back. Preserve character, motion and audio continuity.",
"Continue for 10 seconds. The rover stops beside a frozen underground lake, its headlight reveals structures beneath the ice. No scene cuts.",
]
previous_id = None
for index, prompt in enumerate(prompts, start=1):
kwargs = {
"model": "gemini-omni-1.1-flash",
"input": prompt,
"response_format": {
"type": "video",
"aspect_ratio": "16:9",
"resolution": "720p",
},
}
if previous_id:
kwargs["previous_interaction_id"] = previous_id
result = client.interactions.create(**kwargs)
previous_id = result.id
Path(f"outputs/segment-{index}.mp4").write_bytes(
base64.b64decode(result.output_video.data)
)
print(index, result.id)
此示例展示多轮思路,但具体每段时长、返回对象和最终成片组合仍应以实际 SDK 结果为准。保存每轮输出比只保存最终 ID 更安全,便于选择较好的分支、回退和审计。
延续上传的视频
对于外部 MP4,先通过 Files API 上传,等待处理完成,再连同延续提示词传入:
import base64
import time
from pathlib import Path
from google import genai
client = genai.Client()
video_file = client.files.upload(file="assets/input-video.mp4")
while getattr(video_file, "state", None) == "PROCESSING":
time.sleep(10)
video_file = client.files.get(name=video_file.name)
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input=[
{"type": "document", "uri": video_file.uri},
{
"type": "text",
"text": (
"Continue the scene for 10 seconds. The camera keeps moving forward, "
"the same subject turns left at the corridor. Preserve motion, appearance "
"and ambient audio. No dialogue."
),
},
],
response_format={"type": "video", "resolution": "720p"},
)
Path("outputs/uploaded-video-extended.mp4").write_bytes(
base64.b64decode(interaction.output_video.data)
)
上传视频用于延续时必须不超过 10 秒,除非是在多轮中继续延续模型生成的视频。官方还说明,部分输入末尾帧可能被模型编辑以实现无缝过渡,所以严格取证、医疗、监控或必须逐帧保真的视频不适合直接使用该延续能力。
教程四:360p 预览与 4K 最终输出
只需在 response_format 中指定分辨率:
preview = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A slow macro shot of water droplets rolling over a green leaf. No dialogue.",
response_format={
"type": "video",
"aspect_ratio": "16:9",
"resolution": "360p",
},
)
master = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A slow macro shot of water droplets rolling over a green leaf. No dialogue.",
response_format={
"type": "video",
"aspect_ratio": "16:9",
"resolution": "4k",
"delivery": "uri",
},
)
这里需要注意:重新提交同一提示词并不保证得到与预览完全相同的镜头。若想在确定构图后提高分辨率,应优先在支持的交互链中对已生成结果进行升频或复用同一会话,而不是把提示词从头再跑一次。具体 SDK 是否提供单独 upscale 任务,应以当前官方示例和返回字段为准。
对于大于 4 MB、尤其是 720p 以上的视频,Google 建议使用 URI 交付,避免内联 Base64 的负载限制。官方还提醒:通过 GET /v1beta/interactions/{id} 重新查询时,即使创建请求使用 URI,返回也可能仍是内联 Base64;URI 只保证出现在初始创建响应或 SSE 流中。因此生产服务应在第一次响应时立即持久化 URI 或下载文件。

成本如何估算
官方标准价格为:输入文本、图像、视频和音频每百万 token 1.50 美元;视频输出每百万 token 17.50 美元。720p 视频按照每秒 5,792 token 计算,折合约 0.10 美元/秒。
| 输出长度 | 720p 官方折算基础成本 | 说明 |
|---|---|---|
| 3 秒 | 约 0.30 美元 | 不含输入、失败重试与编辑轮次 |
| 10 秒 | 约 1.00 美元 | 适合单镜头 |
| 20 秒 | 约 2.00 美元 | 通常需要多轮延续 |
| 40 秒 | 约 4.00 美元 | 理论基础值,不含多版本和废片 |
计算示例:
def estimate_720p_video_cost(seconds: int, variants: int = 1, retry_rate: float = 0.25):
base = seconds * 0.10 * variants
return round(base * (1 + retry_rate), 2)
print(estimate_720p_video_cost(40, variants=3, retry_rate=0.30))
# 预计 15.60 美元:3 个版本、30% 重试冗余
这只是编辑预算模型,不是 Google 账单承诺。1080p/4K 的准确 token 消耗、不同任务的输入 token、思考 token和重试情况,应以 API Usage 与账单为准。若要控制成本,可限制每个镜头的候选版本数、先用 360p 打样、失败后分析原因再重试,并给项目设置日预算和单任务上限。
提示词模板:让长镜头更稳定
一个实用提示词可以拆成七部分:主体、环境、动作、镜头、光线、声音、约束。
Subject: A compact orange research drone with two folding arms.
Environment: An abandoned greenhouse at dawn, wet glass and dense plants.
Action: The drone moves slowly between the rows and scans a blue flower.
Camera: Single continuous tracking shot, slow dolly forward, 35mm lens.
Lighting: Soft dawn light, volumetric rays through dusty glass.
Sound design: Quiet motors, water drops, distant birds. No dialogue.
Constraints: Keep the drone design consistent. No cuts. No extra characters.
延续提示词不要重复整个世界设定,而要说明“接下来发生什么”以及必须保持什么:
Continue for 10 seconds. The same drone turns right and approaches a cracked glass door.
Preserve the drone design, forward camera direction, dawn lighting and ambient sound.
One continuous shot. No new characters. No dialogue.
编辑既有视频时,Google 建议用短指令,并添加 Keep everything else the same.。过长的编辑提示词容易让模型误以为需要重做整个场景。
生产工作流:从脚本到4K成片
- 脚本拆镜: 把故事拆成不超过 10 秒的连续动作单元,为每段定义主体、镜头与声音。
- 准备锚点: 对关键镜头制作首尾帧,确保构图和角色设计一致。
- 360p 打样: 每个镜头只做少量版本,淘汰动作错误和镜头漂移。
- 720p 连续性验证: 检查人物、商品、文字、运动方向、音色与环境逻辑。
- 多轮延续: 通过
previous_interaction_id逐段延续,并保存每轮输出与交互 ID。 - 人工审核: 对人脸、手部、Logo、字幕、物理运动、对白与背景细节逐帧检查。
- 高清交付: 对最终选定版本升频到 1080p/4K,使用 URI 交付并立即下载归档。
- 后期处理: 在剪辑软件中完成精确剪切、响度、字幕、调色和交付编码。
- 治理留痕: 记录模型版本、提示词、素材授权、SynthID、审核人和发布时间。
更多相关教程可在 AI Stack Nav 搜索 Gemini 和 AI Stack Nav 搜索 AI 视频 中继续查看。
已知限制与安全注意事项
延续范围限制
- 只能向视频末尾追加,不能向前扩展或插入中段;
- 上传用于编辑或延续的视频需不超过 10 秒,多轮模型生成视频除外;
- 上传视频中有人正在说话时,目前不能通过延续添加额外对白;
- 多轮延续模型生成视频时,可以生成语音或对白;
- EEA、瑞士和英国目前不能编辑或延续上传视频,但可以延续模型生成的视频。
输入与控制限制
- 不支持上传音频作为参考;
- 视频参考最多 3 段,每段最长 3 秒,参考视频音频会被忽略;
- 不支持跨多个视频进行联合推理;
- 不支持 YouTube 视频作为媒体输入;
- 不支持系统指令、
temperature、top_p、停止序列和独立负向提示词参数;不希望出现的内容应直接写进普通提示词; - 英语经过完整评估,其他语言可能可用但效果未经过同等评估。
水印、人物与合规
所有生成视频都包含不可见的 SynthID,可用于来源验证。平台会对输入和输出应用内容安全过滤,规则可能因地区不同。涉及真实人物、未成年人、品牌素材、音乐、客户数据与版权角色时,还需要独立取得授权并进行法律审查。
在 EEA、瑞士和英国,上传和编辑包含未成年人的图片存在额外限制;某些可识别人物的图片也不支持上传和编辑。不要通过裁切、改名或技术绕过这些限制。
常见报错与排查
| 问题 | 常见原因 | 处理方式 |
|---|---|---|
| 模型找不到 | 仍用 Preview ID、区域或付费层未开通 | 改用稳定 ID,核对结算与区域 |
| 4K 返回过慢 | 升频耗时、API 负载高 | 先720p验证,使用异步或URI交付 |
| Base64 响应过大 | 高清视频超过负载限制 | 使用 delivery: "uri" |
| 延续变成重做 | 提示词没有明确 continue/extend | 用简短延续提示;必要时设置 task: extend |
| 人物或商品漂移 | 续写信息冲突、缺少参考 | 固定描述、减少动作、增加角色参考图 |
| 首尾帧跳变 | 构图和视角差异太大 | 调整两帧构图,降低中间运动复杂度 |
| 无法继续多轮编辑 | 创建时使用 store=false | 对需要后续编辑的交互保持存储 |
| 上传视频延续被拒 | 时长超10秒、区域限制或带对白 | 裁剪输入、检查地区和对话限制 |
| 中文对白不稳定 | 非英语未完整评估 | 使用英语控制提示,后期配音或实测中文 |
是否值得立即使用
对于需要快速生成广告镜头、产品转场、短剧情境、MV视觉、社交媒体片段或视频创作工具的团队,Gemini Omni 1.1 Flash 值得立即进行小规模测试。它的优势不是单纯分辨率,而是生成、首尾帧、延续、编辑和音频被放到同一多轮 API 中。
但它还不能取代完整剪辑系统。40 秒需要多轮构建,4K 是升频,精确帧级控制、声音编辑、字幕、复杂多镜头叙事和完全可复现输出仍需要后期工具。生产团队应把它视为“镜头生成与迭代引擎”,而不是一键完成全部影片的终端。
FAQ
1. Gemini Omni 1.1 Flash 的正式模型 ID 是什么?
稳定版 ID 是 gemini-omni-1.1-flash,状态为 GA。旧 Preview ID gemini-omni-flash-preview 计划于 2026 年 9 月 30 日弃用。
2. 它能一次生成 40 秒视频吗?
不能这样理解。单次输出为 3—10 秒,视频可以按 10 秒增量多轮延续,累计最多 40 秒。
3. 40 秒延续会完全保留原视频最后一帧吗?
不一定。模型使用最后 10 秒作为上下文,并可能编辑输入视频末尾少量帧以获得平滑过渡。
4. 首尾帧和参考图有什么区别?
首尾帧决定视频的起点和终点;参考图只提供人物、商品或风格信息,不应被当作字面上的第一帧。提示词必须明确素材角色。
5. 4K 是原生生成吗?
不是。官方文档将 1080p 和 4K 标记为 upscaled;默认分辨率为 720p。
6. 有没有免费额度?
官方价格页显示 Gemini Omni Flash Free Tier 不可用,需要 Gemini API 付费层。
7. 生成 40 秒 720p 视频多少钱?
按官方约每秒 0.10 美元的折算,基础输出约 4 美元;实际还需加入输入、多个候选、失败重试和编辑轮次。
8. 可以延续任意上传视频吗?
不能。上传视频需不超过 10 秒,并受区域、人物、对白和安全政策限制;延续只能追加到结尾。
9. 是否支持竖屏视频?
支持,aspect_ratio 可选择 9:16 或 16:9。
10. 生成视频是否带水印?
所有生成视频都包含不可见的 SynthID,可通过程序检测,但普通观看时不可见。
事实依据与来源
- Google 官方博客:Gemini Omni 1.1 Flash lets you build with more control:确认发布日期、40秒累计延续、10秒上下文、首尾帧和4K能力。
- Gemini API 官方教程:Generate and edit videos with Gemini Omni Flash:确认Interactions API代码、延续、插值、分辨率、区域限制、SynthID与技术限制。
- Gemini Omni Flash 模型卡:确认稳定模型ID、单次时长、24 FPS、输入输出类型与版本状态。
- Gemini API Release Notes:确认2026年8月27日GA、Preview弃用日期及新增能力。
- Gemini Developer API Pricing:确认付费层、输入与视频输出价格及720p每秒折算价。
工具选型与提示词资料
适合阅读工具评测、工具推荐、对比测评类文章后继续转化。