An MCP (Model Context Protocol) server for generating images and videos using Google Imagen and Veo through CLIProxyAPI.
This server is primarily designed for VibeProxy - a Windows application for AI model proxying:
Also compatible with:
- π CLIProxyAPIPlus - Enhanced version with extended features
- π CLIProxyAPI - Original implementation
- πΌοΈ Image Generation: Generate images using Google Imagen via
gemini-3-pro-image-previewmodel - π¬ Video Generation: Generate videos using Google Veo (requires CLIProxyAPI with Veo support - see Issue #94)
- π¨ Reference Images: Support for multiple reference images for style transfer, image editing, and image-to-video generation
β οΈ Note: Video generation requires CLIProxyAPI to have Veo models enabled. Check your CLIProxyAPI/v1/modelsendpoint to verify ifveo-*models are available.
npm install
npm run buildThe server can be configured using environment variables:
| Variable | Description | Default |
|---|---|---|
CLIPROXY_ENDPOINT |
CLIProxyAPI endpoint URL | http://127.0.0.1:8317/v1 |
CLIPROXY_AUTH_TOKEN |
Authentication token | sk-cliproxyapi-dummy |
OUTPUT_DIR |
Directory for saving generated files | ./generated |
npm start
# or
node dist/index.jsAdd to your MCP client configuration (e.g., opencode.json):
{
"mcp": {
"veo-vibe-banana": {
"type": "local",
"command": ["node", "H:/Lucru/MCP/veo-vibe-banana/dist/index.js"],
"enabled": true,
"environment": {
"CLIPROXY_ENDPOINT": "http://127.0.0.1:8317/v1",
"OUTPUT_DIR": "./generated"
}
}
}
}Generate an image using Google Imagen.
Parameters:
prompt(required): Text description of the image to generatereference_images: Array of reference images (file paths, URLs, or data URLs)model: Model to use (default:gemini-3-pro-image-preview)aspect_ratio:1:1,16:9,9:16,4:3,3:4(default:1:1)image_size:1K,2K,4K(default:1K)output_dir: Directory to save the imagesave_to_file: Whether to save to file (default:true)
Example - Basic:
{
"prompt": "A cute cat playing with a ball of yarn",
"aspect_ratio": "16:9",
"image_size": "2K"
}Example - With Reference Images:
{
"prompt": "Transform this image into a watercolor painting style",
"reference_images": [
"/path/to/source/image.png",
"https://example.com/style-reference.jpg"
],
"aspect_ratio": "1:1"
}Generate a video using Google Veo.
Parameters:
prompt(required): Text description of the video to generatereference_images: Array of reference images for image-to-video generationmodel: Model to use (default:veo-3.1-generate-preview)veo-3.1-generate-preview- Latest previewveo-3.1-fast-generate-preview- Faster generationveo-3.0-generate-001- Stable versionveo-3.0-fast-generate-001- Fast stable version
duration_seconds:4,6,8(default:8)aspect_ratio:16:9,9:16(default:16:9)resolution:720p,1080p(default:720p)negative_prompt: What NOT to include in the videooutput_dir: Directory to save the videosave_to_file: Whether to save to file (default:true)
Example - Basic:
{
"prompt": "A cinematic shot of a majestic lion walking through the savannah at sunset",
"duration_seconds": "8",
"aspect_ratio": "16:9",
"resolution": "1080p",
"negative_prompt": "cartoon, low quality, blurry"
}Example - Image-to-Video:
{
"prompt": "Animate this character walking forward with a gentle breeze",
"reference_images": ["/path/to/character.png"],
"duration_seconds": "4",
"resolution": "1080p"
}Reference images can be provided in multiple formats:
| Format | Example |
|---|---|
| File path (absolute) | /home/user/images/photo.png |
| File path (relative) | ./images/photo.png |
| URL | https://example.com/image.jpg |
| Data URL | data:image/png;base64,iVBORw0KGgo... |
Image Generation with References:
- Style transfer: Apply the style of reference images to new content
- Image editing: Modify or enhance existing images
- Composition: Combine elements from multiple reference images
Video Generation with References (Image-to-Video):
- Animate still images: Bring photos or artwork to life
- Character animation: Animate a character from a reference image
- Scene transitions: Create video transitions between images
This MCP server uses the CLIProxyAPI format as defined in CLIProxyAPIPlus Issue #94.
{
"model": "gemini-3-pro-image-preview",
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
{"type": "text", "text": "A cute cat"}
]
}],
"modalities": ["image", "text"],
"image_config": {
"aspect_ratio": "1:1",
"image_size": "1K"
}
}{
"model": "veo-3.1-generate-preview",
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
{"type": "text", "text": "Animate this image with gentle motion"}
]
}],
"modalities": ["video", "text"],
"video_config": {
"duration_seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}
}# Run in development mode
npm run dev
# Build
npm run buildThis project includes a SKILL.md file that provides comprehensive guidance for AI assistants working with image and video generation. This file is compatible with AI-powered IDEs and CLI tools such as:
- πΉ Codex - AI coding assistant
- πΉ Claude - Anthropic's AI assistant
- πΉ OpenCode - AI-powered code editor
- πΉ Cursor - AI-first code editor
- πΉ Other IDEs supporting SKILL.md files
The SKILL.md file helps AI assistants:
- β Understand when and how to use image/video generation tools
- β Craft optimal prompts for better generation results
- β Choose appropriate parameters (aspect ratio, resolution, etc.)
- β Handle reference images for style transfer and editing
- β Follow best practices for generation workflows
π‘ For AI Assistants: Load the SKILL.md file when users request image or video generation to ensure optimal tool usage and prompt engineering.
MIT