video-gen
Installation
SKILL.md
🎬 Video Gen
Generate videos from text descriptions using Google Veo 3 (REST API, async polling).
How It Works
- Sends prompt to Veo 3
predictLongRunningendpoint - Polls operation status every 10s until done (up to 5 min)
- Downloads generated MP4 from returned URI
- Uploads to Feishu and sends as file message
Model
- Current:
veo-3.0-generate-001(Veo 3, with native audio) - Previous:
veo-2.0-generate-001(Veo 2, no audio) - Also available:
veo-3.0-fast-generate-001(faster, lower quality),veo-3.1-generate-preview(latest) - Veo 3 generates 8-second videos with synchronized audio from text prompts
durationSecondsandpersonGenerationparams not supported in Veo 3 — fixed duration 8s- Download URL requires API key appended and follows 302 redirect
Configuration
Requires in openclaw.json:
{
"plugins": {
"entries": {
"video-gen": {
"config": {
"geminiApiKey": "AIza..."
}
}
}
}
}
Also needs Feishu channel config (appId / appSecret) for file delivery.
Usage
The agent calls generate_video tool with:
prompt(required): Detailed English description of the videoduration(optional): 5-8 seconds, default 5aspect_ratio(optional): "16:9" (landscape) or "9:16" (portrait), default "16:9"
API Flow
POST /v1beta/models/veo-3.0-generate-preview:predictLongRunning
→ returns operation name
GET /v1beta/{operationName}
→ poll until done=true
→ extract video URI from response
GET {videoUri}
→ download MP4
Notes
- Generation takes 1-3 minutes (async)
- Veo 3 固定生成 8 秒视频,duration 参数无效
personGeneration: "allow_adult"在 Veo 3 不支持,已移除- Gateway uses
--use-env-proxyso HTTP fetch auto-routes through HTTP_PROXY - Download URL 需要追加 API key 并跟随 302 重定向
- 飞书发送视频必须用
msg_type: "media"(不是"file",否则报 230055 类型不匹配) - Output: MP4 file sent as Feishu media message
Available Models
veo-2.0-generate-001 # Veo 2, no audio
veo-3.0-generate-001 # Veo 3, native audio ← current
veo-3.0-fast-generate-001 # Veo 3 Fast, faster/lower quality
veo-3.1-generate-preview # Veo 3.1, latest preview
veo-3.1-fast-generate-preview # Veo 3.1 Fast