mcpField
G
gemini-omni

gemini-omni

github.com/calesthio创意与媒体72.7k839 次安装今天更新
代码仓库

关于 gemini-omni

通过 Gemini Interactions API 使用 Google Gemini Omni 1.1 Flash 生成和编辑视频的 OpenMontage 技能。适用于需要保留交互状态、逐步修改片段的视频创作者,并提供提示词和参考图像用法说明。

主要功能

  1. 01生成 3–10 秒视频片段
  2. 02通过交互 ID 编辑已有片段
  3. 03按提示词安排场景节拍
  4. 04使用参考图像进行条件引导
  5. 05合成音频并渲染文字

适用场景

  1. 01根据场景提示生成短视频
  2. 02逐步调整现有片段的光线或动作
  3. 03用时间码安排多个节拍
  4. 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.aigemini_omni_fal支持 T2V、I2V、参考视频和编辑端点;不会返回 Google interaction ID
Runwayrunway_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。
  • 使用高分辨率图像;具体描述预期动作,而不是只说“让它动起来”。
  • 说明每张图像的用途(产品 / 角色 / 风格 / 背景参考)——模型会根据上下文决定如何使用。

对话式编辑(差异化优势)

编辑提示词与生成提示词恰恰相反:应简短、精准。 描述过多的编辑提示词会导致意外改动。

  1. 生成基础片段(主体 + 场景 + 动作)。工具会在结果数据中返回 interaction_id。
  2. 将其作为 previous_interaction_id 传回,并设置 operation="edit_video",只描述改动之处。
  3. 追加 "Keep everything else the same.",以固定未提及的元素。
  4. 分层优化——一轮调整灯光,一轮调整镜头,一轮调整动作,一轮调整音频。

官方推荐与不推荐示例:

避免这样写推荐这样写
"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)及部分可识别人物的图像禁止上传或编辑。

来源

评论

支持 Markdown