关于 gemini-omni
通过 Gemini Interactions API 使用 Google Gemini Omni 1.1 Flash 生成和编辑视频的 OpenMontage 技能。适用于需要保留交互状态、逐步修改片段的视频创作者,并提供提示词和参考图像用法说明。
主要功能
- 01生成 3–10 秒视频片段
- 02通过交互 ID 编辑已有片段
- 03按提示词安排场景节拍
- 04使用参考图像进行条件引导
- 05合成音频并渲染文字
适用场景
- 01根据场景提示生成短视频
- 02逐步调整现有片段的光线或动作
- 03用时间码安排多个节拍
- 04用参考图像引导主体或风格
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ calesthio/ openmontage --skill gemini-omni安装后在 Claude Code 中输入/gemini-omni确认已加载。
详细介绍
Gemini Omni Flash(Google DeepMind)
Gemini Omni 是 Google DeepMind 的视频生成与编辑模型系列。OpenMontage 直连适配器通过 Gemini Interactions API 使用已正式推出的 Gemini Omni 1.1 Flash 模型(gemini-omni-1.1-flash)。其已实现的基准能力是生成 3–10 秒、720p/24fps 且包含合成音频的片段。它在 OpenMontage 模型阵容中的差异化优势是有状态的对话式编辑:每次存储的生成都会返回一个 interaction_id,后续调用通过 previous_interaction_id 就能就地编辑该视频——其他封装的提供商都无法在不重新生成的情况下优化片段。
OpenMontage 将其封装为 gemini_omni_video(原生 Gemini API,无网关)。它与 google_imagen 和 google_tts 共用 GOOGLE_API_KEY/GEMINI_API_KEY——一个密钥,三种能力。仅限付费层级:输出视频每秒约 $0.10(按 $17.50/1M 计算,恰好为每秒 5,792 个输出 token,尚未计入输入以及任何文本/思维输出)。
如果不选择直接使用 Google 密钥,还可使用以下文档所述的路由:
| 路由 | OpenMontage 调用 | 重要限制 |
|---|---|---|
| fal.ai | gemini_omni_fal | 支持 T2V、I2V、参考视频和编辑端点;不会返回 Google interaction ID |
| Runway | runway_video,model: "gemini_omni_flash" | 支持 T2V/I2V/V2V;视频编辑最多接受五张图像参考 |
| ComfyUI Partner Node | 在此适配器中并非稳定的 1.1 备用方案 | 现有 GeminiVideoOmni 映射指向旧版预览节点;在宣称支持 Omni 1.1 之前,请单独将其迁移到 GeminiVideoOmniV2 |
要进行有状态的对话式编辑,请使用直连的 gemini_omni_video 路由。网关路由返回普通的提供商任务,无法保留 Google 的 previous_interaction_id 工作流。fal 编辑端点仍可通过将每次输出的视频 URL 传入下一次编辑调用来迭代。
适用场景(以及不适用场景)
| 适用于 | 更适合选择其他提供商的场景 |
|---|---|
| 迭代优化——生成、审阅,然后分层编辑同一片段 | 一次性生成电影感主视觉片段(→ Seedance 2.0,参见 seedance-2-0) |
| 编辑现有/上传的片段(更改风格、添加/移除对象、更改文字) | 片段时长超过 10 秒或分辨率高于 720p |
| 屏幕上渲染的文字和逐字呈现的文字节拍 | 需要可复现种子的生成(不支持种子) |
| 通过提示词标签绑定参考图像中的主体/风格 | 首尾帧插值(→ veo_video) |
| 通过单条提示词生成按时间码安排的多节拍片段 | 非英语旁白(目前仅完整支持英语) |
生成操作请通过 video_selector 路由。编辑(edit_video)是直接调用工具的操作——请从注册表调用 gemini_omni_video,因为多轮交互状态位于选择器的模型之外。
计费和时长提示
duration仅供调用方用于规划/提示。适配器不会将其发送给 Google;请在提示词或时间码中表达时长,并由模型决定实际长度。它不会限制计费金额。ToolResult.cost_usd会在有效的响应usage可用时使用该数据:所有模态的输入 token 费率均为 $1.50/1M,文本输出为 $9.00/1M,视频输出为 $17.50/1M。未知/未分类的输出以及单独报告的思维 token 均按较高的 $17.50/1M 费率计算,确保结果不会低估费用。- 如果没有有效的
usage,则回退计算假定输出时长为上限 10 秒:10 × 5,792 × $17.50/1M = $1.0136,另加对提示词和可用媒体输入 token 的保守上限估算。较短的duration提示绝不会降低此回退估算。
生成提示词
描述 场景 + 摄影机 + 光线 + 动作 + 音频。官方示例:
对一只毛茸茸的虎斑猫进行连续不间断的手持拍摄。它坐在洒满阳光的窗台上,望向郁郁葱葱的花园。猫尾巴缓缓摆动,耳朵微微转向周围的声音。阳光照亮空气中的尘埃。
- 明确要求单镜头:“在单个连续镜头中拍摄” / “不要切换场景。”否则模型可能会在不同场景间切换。
- 用文字描述负面要求——没有
negative_prompt参数:“不要对话”“不要添加额外音效。” - 没有采样器控制项:系统指令、temperature、top_p 和种子均不受支持。提示词是唯一可用的控制手段。
- 通过元提示词提升质量:“考虑微观细节、表情和时机,以创造一个非常丰富、细致但完全自然的场景。”
时间码语法
使用方括号范围或自然语言来安排节拍——它们会直接映射到 OpenMontage 场景计划的时间安排:
[0-3s] A person is walking [3-6s] They stop and turn around
“3 秒后,一位女士进入场景。” / “5s 时,背景音频中的合唱开始。”
音频和屏幕文字
音频会自动合成;请在提示词中指明:“加入平静的背景音乐”“背景音频是低沉、音质单薄的无线电广播。”文字可以渲染,也可以设置时间:
屏幕上每次显示一个词:“did, you, know, that, Omni, can, do, awesome, text?” 每个词显示 1s。
参考图像(<FIRST_FRAME> / <IMAGE_REF_N> 标签)
通过 reference_image_paths 传入本地图片(图片会按顺序发送),然后在提示词中使用标签为其指定用途。<IMAGE_REF_N> 按提供顺序从 0 开始编号:
in the style of <IMAGE_REF_0> a woman <IMAGE_REF_1> is walking
[0-3s] A studio fashion sequence. Starting with woman <IMAGE_REF_0>, she is
holding <IMAGE_REF_1> [3-6s] Then we see the man <IMAGE_REF_2> holding <IMAGE_REF_3>
<FIRST_FRAME>会将图像设为开场画面:<FIRST_FRAME> a woman is walking。- 使用高分辨率图像;具体描述预期动作,而不是只说“让它动起来”。
- 说明每张图像的用途(产品 / 角色 / 风格 / 背景参考)——模型会根据上下文决定如何使用。
对话式编辑(差异化优势)
编辑提示词与生成提示词恰恰相反:应简短、精准。 描述过多的编辑提示词会导致意外改动。
- 生成基础片段(主体 + 场景 + 动作)。工具会在结果数据中返回
interaction_id。 - 将其作为
previous_interaction_id传回,并设置operation="edit_video",只描述改动之处。 - 追加 "Keep everything else the same.",以固定未提及的元素。
- 分层优化——一轮调整灯光,一轮调整镜头,一轮调整动作,一轮调整音频。
官方推荐与不推荐示例:
| 避免这样写 | 推荐这样写 |
|---|---|
| "In the video of the man sitting on the sofa, please add a small black cat..." | "Add a cat that jumps onto his lap, he begins to pet it. Keep everything else the same." |
| "Please remove the cell phone... and fill in the background so it looks like..." | "Make the phone invisible. Keep everything else the same." |
其他有效的编辑提示词:"Make this video anime" / "Put a fashionable hat on this person" / "Change the lighting to be more dramatic" / "Change the text on the sign to say 'Omni Flash'"。
注意事项 — store: 只有在此前的调用将交互保存在服务端时,通过 previous_interaction_id 进行编辑才有效(gemini_omni_video 中 store 默认为 true)。仅当生成一次性内容且之后不会再编辑时,才设置 store=false。
下载恢复: 已接受的付费生成请求,其 Files API 轮询或下载仍可能失败。此时,工具会返回 output_uri、在成功返回有效用量数据时按用量计费的费用(否则返回保守估算费用),以及 resume_download 载荷。将该载荷传回 gemini_omni_video,即可仅重试现有文件的 GET/轮询流程;不会再次提交付费生成请求。
编辑已上传的视频: 传入 input_video_path,而不是 previous_interaction_id;工具会通过 Files API 上传视频。此功能在 EEA、Switzerland 和 UK 不可用(编辑生成的视频不受此限制)。
当前适配器的限制(稳定版模型)
- 输出:3-10s、720p、24fps、带音频的 MP4;宽高比为
16:9或9:16。所有输出都带有不可见的 SynthID 水印。 - 不支持 seed、negative prompt、temperature、top_p 或 system instructions。
- 稳定版 Google 模型支持视频延展、首帧/末帧插值和其他分辨率,但此 OpenMontage 适配器尚未实现这些控制项。不要将其宣传为可通过直接调用工具使用的功能。不支持语音编辑。
- 不支持音频参考输入。时长 ≤3s 的视频参考虽符合 schema,但无法正确处理——请勿依赖此功能。
- 不支持多视频提示;可能会降低输出质量。
- 完全支持英语;其他语言未经测试。
- 未成年人图像(EEA/CH/UK)及部分可识别人物的图像禁止上传或编辑。