Vidu MCP Server
The Vidu MCP Server is a tool for interacting with the Vidu API that enables:
Generate Videos from Images: Create videos from static images with customizable settings including duration, resolution, prompt, model, movement amplitude, and seed.
Monitor Task Progress: Check the status of ongoing video generation tasks using a task ID.
Upload Images: Upload local images (PNG, WebP, JPEG) to use in the video generation process.
Uses environment variables for configuration, particularly for storing and accessing the Vidu API key securely.
Hosted on GitHub, allowing users to clone the repository for installation and potentially contribute to the project.
Runs on Node.js platform (v14 or higher), leveraging its JavaScript runtime for the server implementation.
Uses npm for package management and running scripts (build, start) for the server.
Built with TypeScript for type-safe development, requiring compilation before running the server.
Click on "Install 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., "@Vidu MCP Servercreate a video from this mountain lake image with gentle waves"
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.
Vidu MCP Server
Vidu動画生成APIと連携するためのModel Context Protocol (MCP) サーバーです。Viduの強力なAIモデルを使用して、画像から動画を生成するツールを提供します。
機能
画像から動画への変換: カスタマイズ可能な設定で静止画から動画を生成
複数モデル対応: viduq1、vidu1.5、vidu2.0
モデル固有の時間・解像度制約
4秒動画向けのBGM対応
非同期通知用のコールバックURL対応
生成状況の確認: クレジット使用量情報付きで動画生成タスクの進捗を監視
画像アップロード: Vidu APIで使用する画像を簡単にアップロード(最大10MB)
Related MCP server: veo-mcp-server
前提条件
Node.js (v14以上)
Vidu APIキー(Viduウェブサイトから取得可能)
TypeScript(開発用)
インストール
Smithery経由でのインストール
Smitheryを使用してClaude Desktop用のVidu Video Generation Serverを自動インストール:
npx -y @smithery/cli install @el-el-san/vidu-mcp-server --client claudeGemini CLI設定
Gemini CLIで使用するには、~/.gemini/settings.jsonにサーバー設定を追加してください:
{
"mcpServers": {
"vidu": {
"command": "node",
"args": [
"your_path/vidu-mcp-server/build/index.js"
],
"env": {
"VIDU_API_KEY": "your_api_key_here"
}
}
}
}注意: your_pathを実際のインストールディレクトリのパスに、your_api_key_hereをあなたのVidu APIキーに置き換えてください。
手動インストール
このリポジトリをクローン:
git clone https://github.com/el-el-san/vidu-mcp-server.git
cd vidu-mcp-server依存関係をインストール:
npm install.env.templateを基に.envファイルを作成し、Vidu APIキーを追加:
VIDU_API_KEY=your_api_key_here使用方法
Gemini CLI用
TypeScriptコードをビルド:
npm run buildGemini CLI設定で設定(上記のGemini CLI設定セクションを参照)
Gemini CLIを再起動してMCPを読み込み
ツール
1. 画像から動画への変換
カスタマイズ可能なパラメータで静止画を動画に変換します。
パラメータ:
image_url(必須): 動画に変換する画像のURLprompt(オプション): 動画生成用のテキストプロンプト(最大1500文字)duration(オプション): 出力動画の時間(秒)(モデル固有)viduq1: 5秒のみ
vidu1.5/vidu2.0: 4秒または8秒(デフォルト4秒)
model(オプション): 生成用モデル名("viduq1", "vidu1.5", "vidu2.0", デフォルト "vidu2.0")resolution(オプション): 出力動画の解像度(モデル/時間固有)viduq1 (5s): 1080pのみ
vidu1.5/vidu2.0 (4s): "360p", "720p", "1080p"(デフォルト "360p")
vidu1.5/vidu2.0 (8s): "720p"のみ
movement_amplitude(オプション): フレーム内オブジェクトの動きの振幅("auto", "small", "medium", "large", デフォルト "auto")seed(オプション): 再現性のためのランダムシードbgm(オプション): 動画にBGMを追加(boolean, デフォルト false, 4秒動画のみ)callback_url(オプション): 生成状況変更時の非同期通知用URL
リクエスト例:
{
"image_url": "https://example.com/image.jpg",
"prompt": "山を背景にした静かな湖",
"duration": 8,
"model": "vidu2.0",
"resolution": "720p",
"movement_amplitude": "medium",
"seed": 12345,
"bgm": false
}2. 生成状況の確認
実行中の動画生成タスクの状況を確認します。
パラメータ:
task_id(必須): 画像から動画への変換ツールで返されたタスクID
リクエスト例:
{
"task_id": "12345abcde"
}3. 画像アップロード
Vidu APIで使用する画像をアップロードします。
パラメータ:
image_path(必須): 画像ファイルのローカルパスimage_type(必須): 画像ファイルタイプ("png", "webp", "jpeg", "jpg")
リクエスト例:
{
"image_path": "/path/to/your/image.jpg",
"image_type": "jpg"
}トラブルシューティング
APIキーの問題: Vidu APIキーが
.envファイル(手動設定の場合)またはGemini CLI設定(Gemini CLI設定の場合)で正しく設定されていることを確認してくださいファイルアップロードエラー: 画像ファイルが有効で、サイズ制限内(upload-imageツールは10MB、直接URL画像は最大50MB)であることを確認してください
接続問題: インターネットアクセスがあり、Vidu APIサーバーに到達できることを確認してください
Gemini CLIの問題:
Gemini CLIで設定する前にサーバーがビルドされている(
npm run build)ことを確認してくださいsettings.jsonのパスが正しい
build/index.jsファイルを指していることを確認してください設定変更後にGemini CLIを再起動してください
サーバー設定で
"disabled": falseに設定してください
Available Tools
3 toolscheck-generation-statusB
Check the status of a video generation task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID returned by the image-to-video tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool checks status but doesn't disclose behavioral traits like whether it's read-only, safe to call repeatedly, rate-limited, or what the response format might be (e.g., pending, completed, failed). This leaves significant gaps for an agent to understand how to interact with it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a status-checking tool with no annotations and no output schema, the description is incomplete. It doesn't explain what statuses might be returned, error handling, or usage patterns (e.g., polling intervals), which are crucial for an agent to use this tool correctly in a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'task_id' fully described as 'Task ID returned by the image-to-video tool.' The description adds no additional parameter semantics beyond this, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as checking the status of a video generation task, which is a specific verb (check) and resource (video generation task). However, it doesn't explicitly distinguish this from sibling tools like 'image-to-video' or 'upload-image' beyond the implied relationship through the task_id parameter description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by referencing 'video generation task,' and the parameter description mentions 'task_id returned by the image-to-video tool,' suggesting when to use it (after initiating a generation). However, it lacks explicit guidance on when not to use it or alternatives, such as whether it's for polling or one-time checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image-to-videoC
Generate a video from an image using Vidu API
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | Duration of the output video in seconds (4 or 8) | |
| image_url | Yes | URL of the image to convert to video | |
| model | No | Model name for generation | vidu2.0 |
| movement_amplitude | No | Movement amplitude of objects in the frame | auto |
| prompt | No | Text prompt for video generation (max 1500 chars) | |
| resolution | No | Resolution of the output video | 720p |
| seed | No | Random seed for reproducibility |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates a video but lacks details on execution time, rate limits, authentication needs, output format (e.g., video file type), error handling, or whether it's a synchronous/asynchronous operation. For a complex 7-parameter tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without redundancy. It's front-loaded with the core action and resource, and every word earns its place by specifying the API used. No unnecessary details or fluff are included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, video generation task) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like performance, output details, or error handling, which are critical for an AI agent to use this tool effectively. The description alone is insufficient for a tool of this nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters with descriptions, defaults, and constraints. The description adds no parameter-specific information beyond what's in the schema, such as explaining interactions between parameters (e.g., how 'prompt' influences generation). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate a video') and resource ('from an image'), specifying it uses the Vidu API. It distinguishes from sibling tools like 'check-generation-status' and 'upload-image' by focusing on video generation rather than status checking or image uploading. However, it doesn't explicitly differentiate from potential non-sibling alternatives beyond mentioning the API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an uploaded image first), when not to use it, or how it relates to sibling tools like 'check-generation-status' for monitoring generation progress. Usage is implied only by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload-imageC
Upload an image to use with the Vidu API
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes | Local path to the image file | |
| image_type | Yes | Image file type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as authentication needs, rate limits, error handling, or what happens after upload (e.g., returns an image ID). This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple upload tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It lacks details on what the tool returns, error conditions, or integration context with Vidu API. For a tool with two parameters and no structured behavioral data, this leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the two parameters. The description adds no additional meaning beyond implying the image is for Vidu API use, which is minimal value. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('upload') and resource ('an image'), specifying it's for use with the Vidu API. It doesn't differentiate from sibling tools like 'image-to-video' or 'check-generation-status', but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'image-to-video'. The description mentions the Vidu API context but doesn't specify prerequisites, constraints, or typical workflows, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: check-generation-status monitors task progress, image-to-video creates videos from images, and upload-image handles image uploads. There is no overlap in functionality, making tool selection straightforward.
The tools follow a consistent verb-object naming pattern (check-generation-status, image-to-video, upload-image), all using hyphens. However, the pattern is slightly inconsistent as 'image-to-video' uses a preposition 'to' while others do not, but it remains readable and predictable.
With 3 tools, the count is appropriate for a focused video generation API server, covering core operations. It is slightly lean but reasonable for the domain, as it includes upload, generation, and status checking without unnecessary bloat.
The tools cover basic video generation workflows: upload, generate, and check status. However, there are notable gaps such as missing operations for managing or deleting uploaded images, handling video outputs, or supporting other input types beyond images, which could limit agent capabilities.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Google Veo AI video generation
MCP server for Wan AI video generation
MCP server for Luma Dream Machine AI video generation
MCP server for Hailuo (MiniMax) AI video generation
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-powered image and video generation and processing server that supports text-to-image, image-to-image, text/image-to-video generation, image analysis, and comprehensive editing operations (crop, resize, convert, adjust) through providers like Doubao and Aliyun.6MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for 4K video generation using Google VEO 3.1 — text-to-video, image-to-video, video extension, and frame interpolation.1MIT
- AlicenseAqualityCmaintenanceMCP server for Google Veo 3.1 video generation. Supports text/video/image-based generation, extension, and interpolation with cost estimation and batch processing.436MIT
- AlicenseAqualityBmaintenanceMCP server for generating, editing, and batch processing videos using xAI's Grok Imagine Video API, with support for text-to-video, image-to-video, and video editing via natural language prompts.4831MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/el-el-san/vidu-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server