A Model Context Protocol (MCP) server for generating videos using Replicate's video AI models.
- Text-to-Video Generation: Create videos from text prompts
- Image-to-Video Generation: Animate still images with motion prompts
- Multiple Models: Support for Wan 2.2, Google Veo 3, and Kling 2.1
- Async Operations: Handle long-running video generation with status checking
- Terminal Mode: Built-in CLI for testing without MCP overhead
| Alias | Model | Type | Features |
|---|---|---|---|
wan-t2v-fast |
Wan 2.2 Fast T2V | Text-to-Video | Fast (~30s), affordable |
wan-i2v-fast |
Wan 2.2 Fast I2V | Image-to-Video | Fast animation |
veo3 |
Google Veo 3 | Both | Premium quality with audio |
kling-master |
Kling 2.1 Master | Both | High quality, 5/10s duration |
- Set your Replicate API token:
export REPLICATE_API_TOKEN=your_token_hereOr create a .env file:
REPLICATE_API_TOKEN=your_token_here- Make the run script executable:
chmod +x run.shList available models:
./run.sh list-modelsGenerate text-to-video:
./run.sh t2v wan-t2v-fast "A sunset over the ocean"
./run.sh t2v veo3 "Dancing robot" --resolution 1080p
./run.sh t2v kling-master "City timelapse" --duration 10Generate image-to-video:
./run.sh i2v wan-i2v-fast images/car.webp "Car driving forward"
./run.sh i2v veo3 images/test.jpg "Add rain effect"Check generation status:
./run.sh continue <prediction_id>Test async flow:
./run.sh test-asyncDebug mode:
./run.sh debug t2v wan-t2v-fast "Test prompt"Start the MCP server:
./run.sh runGenerate a video from a text prompt.
Parameters:
prompt(required): Text description of the videomodel: Model to use (default: wan-t2v-fast)resolution: Video resolution (480p, 720p, 1080p)aspect_ratio: Aspect ratio (16:9, 9:16, 1:1)duration: Duration in seconds (for Kling only)negative_prompt: What to avoid (for Veo3, Kling)
Generate a video from an image with motion prompt.
Parameters:
image_path(required): Path to input imageprompt(required): How to animate the imagemodel: Model to use (default: wan-i2v-fast)resolution: Video resolutionduration: Duration (for Kling only)negative_prompt: What to avoid
Check status of async video generation.
Parameters:
prediction_id(required): The prediction IDwait_time: How long to wait (5-60 seconds)
Videos are saved to:
~/Library/Application Support/Savant/replicate_video_ai/<storage_id>/
├── video.mp4 # Generated video
├── metadata.yaml # Generation parameters
└── input.jpg # Input image (if I2V)
REPLICATE_API_TOKEN(required): Your Replicate API tokenREPLICATE_VIDEOS_ROOT_FOLDER: Custom output directoryREPLICATE_VIDEO_DEBUG: Enable debug mode (true/false)REPLICATE_VIDEO_DEFAULT_TIMEOUT: Default timeout in secondsREPLICATE_VIDEO_POLL_INTERVAL: Status check interval
Build the server:
./run.sh buildRun tests:
./run.sh testMIT