Skills veo3-video-gen
Generate and stitch short videos via Google Veo 3.x using the Gemini API (google-genai). Use when you need to create video clips from prompts (ads, UGC-style clips, product demos) and want a reproducible CLI workflow (generate, poll, download MP4, optionally stitch multiple segments).
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bluelyw/veo3-video-gen" ~/.claude/skills/openclaw-skills-veo3-video-gen && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bluelyw/veo3-video-gen" ~/.openclaw/skills/openclaw-skills-veo3-video-gen && rm -rf "$T"
manifest:
skills/bluelyw/veo3-video-gen/SKILL.mdsource content
Veo 3 Video Generation (Gemini API)
Use the bundled script to generate an MP4 from a text prompt.
Generate (text → video)
uv run {baseDir}/scripts/generate_video.py \ --prompt "A close up of ..." \ --filename "out.mp4" \ --model "veo-3.1-generate-preview" \ --aspect-ratio "9:16" \ --poll-seconds 10
Generate a longer video by stitching segments
Veo commonly outputs ~8s clips per request. Use
--segments to generate multiple clips and concatenate them with ffmpeg.
Important: This skill sends one prompt per segment (one Veo request per segment). Use
--base-style to keep style consistent across segments.
uv run {baseDir}/scripts/generate_video.py \ --prompt "Same scene, consistent style..." \ --filename "out-24s.mp4" \ --model "veo-3.1-generate-preview" \ --aspect-ratio "9:16" \ --segments 3 \ --segment-style continuation
Options:
: prepended to every segment prompt (recommended).--base-style "..."
(repeatable): provide one prompt per segment (overrides--segment-prompt "..."
).--prompt
(default): appends continuity instructions per segment (only when using--segment-style continuation
).--prompt
: uses the exact same prompt for each segment (only when using--segment-style same
).--prompt
: for segment >=2, extract previous segment last frame and pass it as--use-last-frame
for continuity.lastFrame--emit-segment-media
for each segment as it finishes (useful for progress).MEDIA:
: keep intermediate--keep-segments
files.*.segXX.mp4
(repeatable): guide generation with product/style references.--reference-image path.jpg
Requirements
env var (orGEMINI_API_KEY
).--api-key
on PATH when usingffmpeg
.--segments > 1
Troubleshooting
- 429/RESOURCE_EXHAUSTED: API key has no quota/billing for video.
- 503/UNAVAILABLE: model overloaded; retry later.