Google Veo 3.1 MCP Server
Provides tools for generating videos using Google's Veo 3.1 API, including text-to-video, image-to-video, video extension, and frame interpolation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Veo 3.1 MCP Server Generate a 1080p 8-second video of a cat playing piano, with audio"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Veo 3.1 MCP Server
MCP Server and CLI batch tool for Google Veo 3.1 Video Generation API.
Features
MCP Server for integration with Claude Desktop and other MCP clients
Batch CLI Tool for processing multiple video generation jobs
Text-to-Video: Generate videos from text prompts
Image-to-Video: Animate static images
Reference Images: Use up to 3 images for character/style consistency
Video Extension: Extend existing videos by 7 seconds
Frame Interpolation: Generate video between two keyframes
Cost Estimation: Calculate costs before execution
Related MCP server: veo-mcp-server
Installation
npm install
npm run buildSetup
Get your Google API key from Google AI Studio
Create a
.envfile:
GOOGLE_API_KEY=your_api_key_hereOr set the environment variable directly:
export GOOGLE_API_KEY=your_api_key_hereMCP Server Usage
Claude Desktop Configuration
Add to your Claude Desktop configuration (%APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"veo3": {
"command": "node",
"args": ["C:/path/to/google-veo3-1-mcp-server/dist/index.js"],
"env": {
"GOOGLE_API_KEY": "your_api_key_here"
}
}
}
}Or using npx after publishing:
{
"mcpServers": {
"veo3": {
"command": "npx",
"args": ["google-veo3-1-mcp-server"],
"env": {
"GOOGLE_API_KEY": "your_api_key_here"
}
}
}
}Available Tools
generate_video
Generate video from text prompt or image.
{
"prompt": "A golden retriever running through autumn leaves",
"model": "veo-3.1-generate-preview",
"resolution": "1080p",
"duration_seconds": 8,
"generate_audio": true,
"output_path": "./output/video.mp4"
}Parameters:
prompt: Text description of the video (required unless image provided)model:veo-3.1-generate-preview(default),veo-3.1-fast-generate-preview, orveo-3.1-lite-generate-previewaspect_ratio:16:9(default) or9:16resolution:720p(default),1080p, or4k(4k not available for lite model)duration_seconds:4,6, or8(default: 8; must be 8 when using 1080p/4K or reference images)generate_audio: Whether to generate audio (default: true)negative_prompt: Elements to avoidimage: Image for Image-to-Video modereference_images: Array of reference images for consistencysample_count: Number of videos to generate per request (default: 1)output_path: Path to save the videowait: Set tofalseto return theoperation_nameimmediately instead of blocking until the video is ready (default:true). Also supported byextend_videoandinterpolate_frames.
extend_video
Extend an existing video by 7 seconds.
{
"video": "./input/video.mp4",
"prompt": "Continue with the character walking forward",
"output_path": "./output/extended.mp4"
}Requirements:
Input video: 1-30 seconds, 24fps, 720p or 1080p
Output: 7 seconds at 720p
interpolate_frames
Generate video transitioning between two keyframes.
{
"first_frame": "./images/start.jpg",
"last_frame": "./images/end.jpg",
"prompt": "Smooth camera pan",
"duration_seconds": 8,
"generate_audio": true,
"output_path": "./output/interpolated.mp4"
}get_video_status
Check the status of a video generation operation. When used with wait: false generation, poll this tool until done is true, then download the result.
{
"operation_name": "models/veo-3.1-generate-preview/operations/abc123",
"download": true,
"output_path": "./output/video.mp4"
}Parameters:
operation_name: Operation name returned by a generation tool (required)download: When the operation is done, download the video(s) tooutput_pathorOUTPUT_DIR(default:false)output_path: Where to save the downloaded video (impliesdownload)
Async workflow example:
generate_videowith"wait": false→ returnsoperation_namein secondsget_video_statuswith theoperation_name→done: falsewhile processingOnce
done: true, call again with"download": true(or includeoutput_path) to save the video
Batch CLI Usage
# Estimate costs only
veo3-batch config.json --estimate-only
# Execute batch
veo3-batch config.json --output-dir ./output
# With options
veo3-batch config.json --max-concurrent 3 --no-audio --format jsonCLI Options
Option | Description |
| Output directory for videos |
| Output format (default: text) |
| Parallel jobs (1-5, default: 2) |
| Polling interval |
| Total batch timeout |
| Only estimate costs |
| Generate without audio (reduces cost) |
| Allow absolute output paths |
Batch Configuration Format
{
"jobs": [
{
"prompt": "A cat playing piano",
"duration_seconds": 8,
"resolution": "1080p",
"generate_audio": true
},
{
"type": "extend",
"video": "./videos/source.mp4",
"prompt": "Continue the scene"
},
{
"type": "interpolate",
"first_frame": "./images/start.jpg",
"last_frame": "./images/end.jpg"
}
],
"output_dir": "./output",
"max_concurrent": 2,
"default_model": "veo-3.1-generate-preview"
}Pricing
Prices are per second of generated video. Audio is always included.
Model | 720p | 1080p | 4K |
Standard ( | $0.40/sec | $0.40/sec | $0.60/sec |
Fast ( | $0.10/sec | $0.12/sec | $0.30/sec |
Lite ( | $0.05/sec | $0.08/sec | N/A |
Note: Gemini API preview models always generate audio. The
generate_audioparameter is not currently supported. Use Vertex AI for audio control.
Cost Examples
Video Type | Model | Resolution | Duration | Cost |
Text-to-Video | Standard | 1080p | 8 sec | $3.20 |
Text-to-Video | Fast | 1080p | 8 sec | $0.96 |
Image-to-Video | Fast | 720p | 4 sec | $0.40 |
Video Extension | Standard | 720p | 7 sec | $2.80 |
Frame Interpolation | Standard | 720p | 8 sec | $3.20 |
Models
Model | Description | Resolutions | Speed |
| High quality | 720p, 1080p, 4K | Standard |
| Faster generation | 720p, 1080p, 4K | Fast |
| Cheapest | 720p, 1080p | Fast |
Reference Images
Use reference images to maintain consistency:
{
"prompt": "The character walks through a forest",
"reference_images": [
{
"image": "./character.jpg",
"reference_type": "asset"
}
]
}asset: For characters/objects (max 3 images)style: For visual style (max 1 image)
Environment Variables
Variable | Description | Default |
| Google API key (required) | - |
| Default output directory |
|
| Enable debug logging |
|
| Polling interval (ms) |
|
| Max polling attempts |
|
API Documentation
For detailed API specifications, see:
License
MIT
Available Tools
4 toolsextend_videoA
Extend an existing video by 7 seconds using Veo 3.1 API.
The extension continues from the last second of the input video.
Requirements:
Input video: 1-30 seconds, 24fps, 720p or 1080p
Output: Always 7 seconds at 720p
Estimated cost: ~$2.80 per extension (7 seconds x $0.40/sec)
Inputs: video (required), wait, prompt, output_path.
generate_videoA
Generate a video using Google Veo 3.1 API.
Supports:
Text-to-Video: Generate video from a text prompt
Image-to-Video: Animate a static image
Reference Images: Use up to 3 asset images or 1 style image for consistency
Models:
veo-3.1-generate-preview: High quality (default)
veo-3.1-fast-generate-preview: Faster generation
veo-3.1-lite-generate-preview: Cheapest, 720p/1080p only
Pricing (per second, audio always included):
Standard: $0.40 (720p/1080p), $0.60 (4K)
Fast: $0.10 (720p), $0.12 (1080p), $0.30 (4K)
Lite: $0.05 (720p), $0.08 (1080p)
Inputs: seed, wait, image, model, +10 more.
get_video_statusA
Check the status of a video generation operation.
Returns the current status (done/pending) and video URL if completed. Can also download the completed video (use after generate_video with wait: false).
Inputs: operation_name (required), download, output_path.
interpolate_framesA
Generate a video that smoothly transitions between two keyframes using Veo 3.1 API.
Creates a video that starts at the first frame and ends at the last frame with AI-generated motion in between.
Pricing: Same as generate_video based on duration (audio always included)
Inputs: last_frame (required), first_frame (required), wait, prompt, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct video operation: generating from text/image, extending an existing video, interpolating between keyframes, and checking status. The descriptions clearly differentiate inputs and purposes, leaving no ambiguity for an agent.
All tool names follow a consistent verb_noun pattern: generate_video, extend_video, interpolate_frames, get_video_status. The pattern is predictable and mixes well with the domain.
The server has exactly four tools, which is well-scoped for a video generation service. It covers the core generation capabilities plus status checking without unnecessary clutter.
The tool surface covers generation, extension, interpolation, and status retrieval, which are the primary workflows. A minor gap is the lack of a cancel or list operations, but agents can work around this with the existing status tool.
Maintenance
Related MCP Connectors
MCP server for Google Veo AI video generation
AI video generation MCP server for Kling, MiniMax, Luma & Hunyuan with prompt blueprints.
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Kling AI video generation
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.735MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for 4K video generation using Google VEO 3.1 — text-to-video, image-to-video, video extension, and frame interpolation.3MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for generating images and videos using Google Gemini and VEO models, with support for multiple AI models and credential modes.289 PyPI1Apache 2.0
- AlicenseAqualityBmaintenanceOne MCP server for music, image, video, and audio generation across Suno, Grok Imagine, Seedance, Kling, Hailuo, Wan, VEO, Ideogram, and GPT Image 2. Generate, edit, upscale, reframe, and master through one API key and one credit pool.161,024 npm6MIT