SuperAPI AI 工具集

veo

设计与创作

查看项目

更新于 10-16 03:59

技能介绍

Veo - AI 视频生成技能

通过 scripts/ 目录中的 Python 脚本调用 Google Gemini Veo 3.1 生成视频。默认使用最便宜的模型,仅在显式请求时才使用更昂贵的模型。

模型选择

不使用标志时,使用 veo-3.1-lite-generate-preview(成本优先)。

--pro:使用 veo-3.1-generate-preview(高端/电影级、4K、原生音频),仅显式指定时使用。

--fast:使用 veo-3.1-fast-generate-preview(生成更快),仅显式指定时使用。

--pro 与 --fast 互斥。VEO_MODEL 环境变量可覆盖一切设置。

前置条件

  1. 安装依赖

pip install google-genai

  1. 配置 API 凭据(以下之一)

选项 A:Gemini Developer API(个人使用推荐)

设置 GEMINI_API_KEY 环境变量。可在 https://aistudio.google.com/apikey 获取密钥。

export GEMINI_API_KEY="your-api-key"

选项 B:Vertex AI API(适用于 Google Cloud 用户)

设置 GOOGLE_CLOUD_PROJECT,可选设置 GOOGLE_CLOUD_LOCATION。需要一个已启用 Vertex AI API 的 GCP 项目,并已配置应用默认凭据(gcloud auth application-default login)。

export GOOGLE_CLOUD_PROJECT="your-project-id" export GOOGLE_CLOUD_LOCATION="us-central1" # 可选,默认 us-central1

优先级:如果同时设置了 GOOGLE_CLOUD_PROJECT 和 GEMINI_API_KEY,则使用 Vertex AI。

  1. 可选环境变量

VEO_MODEL:默认 veo-3.1-lite-generate-preview,强制指定特定模型(覆盖标志)。

VIDEO_OUTPUT_DIR:默认 ./veo-videos,输出目录。

VEO_NO_SSL_VERIFY:设置为 1 / true / yes 可禁用 SSL 证书验证。

脚本

scripts/generate.py - 视频生成。视频生成是长时间运行操作;脚本提交请求并轮询直到视频就绪,然后下载并保存 .mp4 文件。

使用方式(示例)

文生视频(默认 Lite 模型):

python scripts/generate.py "a cat surfing a wave, cinematic lighting" -o cat.mp4

竖屏 6 秒片段:

python scripts/generate.py "slow zoom over a city at dawn" --ratio 9:16 --duration 6 -o city.mp4

图生视频(以起始帧动画化):

python scripts/generate.py "gentle breeze, leaves drifting" -i start.jpg -o anim.mp4

首帧 + 尾帧(约束结尾):

python scripts/generate.py "morph from sunrise to sunset" -i sunrise.jpg --last-frame sunset.jpg -o morph.mp4

使用高端模型并输出 1080p(需显式指定):

python scripts/generate.py "epic drone shot over mountains" --pro --resolution 1080p -o drone.mp4

生成多个变体:

python scripts/generate.py "abstract liquid motion" -n 4 -o liquid.mp4

-> liquid_0.mp4, liquid_1.mp4, liquid_2.mp4, liquid_3.mp4

禁用 SSL 验证(适用于企业代理或自签名证书):

python scripts/generate.py "ocean waves" --no-ssl-verify -o waves.mp4

JSON 输出(供程序化使用):

python scripts/generate.py "ocean waves" --json -o waves.mp4

完整选项

usage: generate.py [-h] [-o OUTPUT] [-i IMAGE] [--last-frame PATH] [-r {16:9,9:16}] [--resolution {720p,1080p,4k}] [-d DURATION] [-n COUNT] [--person-generation {auto,dont_allow,allow_adult,allow_all}] [--negative-prompt TEXT] [--seed SEED] [--pro] [--fast] [--poll-interval SECS] [--timeout SECS] [-v] [--json] [--no-ssl-verify] prompt

参数说明:

prompt:用于视频生成的文本提示词。

-o, --output PATH:输出 .mp4 路径(当 -n > 1 时添加索引后缀)。

-i, --image PATH:起始帧图像(图生视频)。

--last-frame PATH:结束帧图像(约束)。

-r, --ratio RATIO:画面比例:16:9 或 9:16(默认:16:9)。

--resolution RES:720p、1080p 或 4k(4k 需要 --pro)。

-d, --duration SECS:片段时长(秒,默认:8)。

-n, --count N:视频数量,1-4(默认:1)。

--person-generation P:auto / dont_allow / allow_adult / allow_all(默认:auto = 在 Gemini Developer API 上为 allow_all,在 Vertex AI 上为 allow_adult)。

--negative-prompt TEXT:需要避免出现的内容。

--seed SEED:用于提升一致性的种子。

--pro:使用高端 Veo 3.1 模型(需显式指定)。

--fast:使用 Veo 3.1 Fast 模型(需显式指定)。

--poll-interval SECS:状态检查间隔秒数(默认:10)。

--timeout SECS:最长等待秒数(默认:无限制)。

-v, --verbose:显示详细输出。

--json:以 JSON 输出结果。

--no-ssl-verify:禁用 SSL 证书验证。

能力与限制

Lite(默认):支持文生视频、图生视频(首帧/尾帧);画面比例 16:9、9:16;分辨率 720p、1080p(8 秒);时长 4 / 6 / 8 秒;不支持参考图像与视频扩展。

Pro(--pro)/ Fast(--fast):同样支持文生视频、图生视频;比例相同;分辨率额外支持 4k;时长 4 / 6 / 8 秒;支持参考图像与视频扩展。

注意:1080p 通常需要 8 秒时长。4k 在 Lite 上不可用,需使用 --pro。

人物生成策略

--person-generation 策略控制输出中是否出现人物:

Gemini Developer API(GEMINI_API_KEY):仅支持 allow_all——当前会拒绝 dont_allow / allow_adult;默认(auto)为 allow_all。

Vertex AI(GOOGLE_CLOUD_PROJECT):支持 dont_allow、allow_adult、allow_all;默认(auto)为 allow_adult。

默认值为 auto,会自动选择平台安全的值。作为安全兜底,如果 API 以 personGeneration ... not supported 错误拒绝所选值,脚本会自动以 allow_all 重试一次,使单次运行无需手动干预即可成功。

提示词建议

优秀的视频提示词描述动作与摄影,而不仅是静态场景:

主体与动作——发生了什么(一只狐狸跃过溪流)。

镜头——镜头类型/运动(缓慢推近、航拍无人机镜头、手持)。

场景与光照——(黄金时刻的雾林)。

风格——(电影感、动漫、纪录片、35mm 胶片)。

节奏——(慢动作、延时摄影)。

使用 --negative-prompt 避开不想要的元素,使用 --seed 在多次运行间保持结果一致。

参见 references/prompts.md 获取按类别划分的模板。

错误处理

google-genai 包未安装:运行 pip install google-genai。

未找到 API 凭据:设置 GEMINI_API_KEY 或 GOOGLE_CLOUD_PROJECT。

Veo 3.1 Lite 不支持 4k:使用 --pro 输出 4k,或选择 720p/1080p。

未生成任何视频:改写提示词;可能被阻止。

personGeneration is currently not supported:Gemini Developer API 仅支持 allow_all。脚本会自动以 allow_all 重试;或显式传入 --person-generation allow_all。

内容被安全过滤器阻止:改写提示词;检查 --person-generation 策略。

Timed out ... waiting:增加 --timeout 或省略它(无限制)。

达到 API 速率限制:稍后重试。

SSL: CERTIFICATE_VERIFY_FAILED:使用 --no-ssl-verify 或设置 VEO_NO_SSL_VERIFY=1。