| name | veo-generator |
| description | Generate videos using Google Veo 3.1 on Vertex AI. Use when the user says "生成视频", "做个视频", "generate video", "帮我生成一段视频", "create a video", "视频生成", "text to video", "文生视频", or when you need to create video content. |
Veo 3.1 Video Generator
Generate videos from text prompts using Veo 3.1 on Vertex AI, save to CC Pages, and send to Discord.
Usage
Call the generation script directly:
~/.claude/scripts/veo-generate.sh "your prompt here"
Options
~/.claude/scripts/veo-generate.sh "a cat playing with a laser pointer"
~/.claude/scripts/veo-generate.sh "smartphone app demo" --aspect 9:16
~/.claude/scripts/veo-generate.sh "ocean waves at sunset" --duration 6
~/.claude/scripts/veo-generate.sh "cinematic drone shot over mountains" --model standard
~/.claude/scripts/veo-generate.sh "product showcase" --resolution 1080p
~/.claude/scripts/veo-generate.sh "abstract art animation" --count 2
~/.claude/scripts/veo-generate.sh "peaceful park scene" --negative "people, crowds, text"
~/.claude/scripts/veo-generate.sh "minimal geometric shapes" --no-rewrite
~/.claude/scripts/veo-generate.sh "logo animation" --output brand-intro
~/.claude/scripts/veo-generate.sh "detailed cityscape timelapse" --timeout 600
~/.claude/scripts/veo-generate.sh "B200 GPU rack with blinking LEDs, cinematic" --aspect 16:9 --model standard --resolution 1080p --duration 8
Output
- Videos saved to
/var/www/cc/assets/veo/ as MP4
- Returns the public URL:
https://cc.higcp.com/assets/veo/{filename}.mp4
- When called from Discord context, send the URL using
send-to-discord.sh --plain
Workflow for Discord
URL=$(~/.claude/scripts/veo-generate.sh "your prompt" --aspect 16:9)
~/.claude/scripts/send-to-discord.sh --plain "$URL"
Important: Async Operation
Unlike Imagen (synchronous), Veo uses long-running operations:
- Submit request → get operation ID
- Poll
fetchPredictOperation every N seconds
- When
done: true, extract video bytes or GCS URI
The script handles all of this automatically. Default poll interval is 10s, timeout is 300s (5 min). For complex prompts, use --timeout 600.
Progress output goes to stderr, so URL=$(...veo-generate.sh...) captures only the final URL.
Models
veo-3.1-fast-generate-preview (fast, default) — Faster generation, good quality
veo-3.1-generate-preview (standard) — Best quality, slower
Older Models (available but not default)
veo-3.0-generate-001 / veo-3.0-fast-generate-001 — Veo 3 GA
veo-2.0-generate-001 — Veo 2 (no 1080p support)
Parameters
- Aspect Ratio:
16:9 (landscape, default), 9:16 (portrait)
- Duration: 4, 6, or 8 seconds (default: 8)
- Resolution:
720p (default), 1080p (Veo 3+ only)
- Sample Count: 1-4 videos per request
- Negative Prompt: describe content to avoid
- Enhance Prompt: Gemini-powered prompt rewriting (on by default)
- Person Generation:
allow_adult (default), disallow
Prompt Tips
- Be specific: "A golden retriever running through autumn leaves in slow motion, cinematic lighting" > "dog running"
- Specify camera movement: "dolly zoom", "tracking shot", "aerial drone shot", "timelapse"
- Specify style: "cinematic", "documentary", "anime", "watercolor", "photorealistic"
- Supports Chinese prompts natively
- Use
--negative to exclude unwanted elements
Prerequisites
- gcloud CLI with valid credentials
- Vertex AI API enabled on the GCP project
/var/www/cc/ served by nginx (CC Pages)
Files
~/.claude/scripts/
└── veo-generate.sh # Video generation script
/var/www/cc/assets/veo/ # Generated videos (web-accessible)