用途
该技能面向生成式视频创作与编辑,使用 Gemini Omni 1.1 Flash 模型(gemini-omni-1.1-flash)执行文生视频、图生视频、首尾帧过渡、视频扩展和视频编辑,并以本地脚本方式调用 Gemini 的 Interactions API 与 Files API。
主要能力
- 文生视频:根据文本提示词生成视频。
- 首帧生视频:以起始图片(--first-frame)生成视频。
- 首尾帧过渡:给出起始与结束图片,生成两者之间的平滑过渡(--last-frame 必须与 --first-frame 同时使用)。
- 视频扩展:每轮最多延长 10 秒,视频总长度上限 40 秒(--extend 或 --previous-interaction-id)。
- 视频编辑与精修:编辑已有视频(最长 10 秒),进行风格变更或图像修补/外扩。
- 参考生成:使用图片或视频中的风格、角色、物体参考引导生成。
- 逐轮编辑:通过上一轮交互 ID 继续编辑或扩展,无需重新上传素材。
使用方式
- 准备环境:安装 Python SDK(
pip install -U google-genai,要求 >= 2.19.0)、Python >= 3.10,并在系统 PATH 中安装 ffmpeg 与 ffprobe;设置环境变量export GEMINI_API_KEY="your-api-key"。 - 上传素材:使用
./scripts/upload_file.py path/to/image.png将图片或视频上传至 Files API 并轮询至 ACTIVE 状态。超过 25MB 的视频会提示先用 prep_video.py 预处理以加快上传。 - 生成视频:使用
./scripts/video/generate_video.py "提示词" --output media/xxx.mp4,可配置--aspect-ratio(16:9、9:16)、--resolution(360p、720p、1080p、4k;默认 720p)、--duration(3 至 10 秒之间的整数)。默认 HTTP 超时为 600 秒,可用--timeout延长,4k 请求耗时更长。 - 辅助脚本:
inspect_video.py借助 ffprobe 查看时长、分辨率、帧率、音轨与格式;prep_video.py可按时间码裁剪、转换帧率、等比缩放到最大 1280x720(横版)或 720x1280(竖版),并可用--strip-audio去除音轨。 - 批处理:使用
--prompts-file prompts.txt --concurrency 3并行执行多条提示词,或用--batch jobs.json --concurrency 3运行完整配置的多个生成与编辑任务。
音频处理方面,编辑带音轨的视频时默认保留原音轨(可能被轻微调整);若希望模型从头生成全新音频,需在上传或生成时使用 --strip-audio 去除音轨,否则模型会尝试保留或修改现有音频。
提示词要点
- 单场景:如需单镜头,应明确写出“In a single unbroken scene”“In a single continuous shot”“No scene cuts”等。
- 去除不想要元素:可使用“No dialogue”“No extra sound effects”等简单否定提示。
- 编辑类提示宜简洁,过度描述可能引发非预期改动;编辑局部时可加“Keep everything else the same”保持一致性。
- 音频、时间点事件可用自然语言或时间码语法(如
[0-3s])描述。 - 可加入元提示词,要求关注细节、表情、节奏以及背景元素真实感。
适用场景
适合需要通过脚本批量生成短视频片段、基于首尾帧制作过渡或循环视频、用参考图/参考视频控制角色与风格、对已有短视频进行风格化编辑或逐轮扩展的场景。
限制
- 重要区域限制:上传视频用于编辑或扩展在 EEA、瑞士、英国及美国部分州不可用;若视频到视频编辑快速完成但输出为空(total_output_tokens 为 0 或无视频内容),很可能由该限制导致。
- 编辑已有视频最长 10 秒;扩展每轮最多 10 秒、总计不超过 40 秒。
- 视频生成时长参数限制在 3 至 10 秒。
- 大视频(>25MB)建议先预处理以缩短上传时间。
- 4k 生成耗时更长,需视情况调整
--timeout。 - 收费、定价与各平台可用性等资料暂未提供。