Doubao Image/Video Generation MCP Server
This MCP server enables AI-powered image and video generation using Doubao's models from Volcano Engine through the Model Context Protocol.
Image Generation (generate_image):
Generate images via text-to-image, image-to-image transformation, or multi-image fusion
Supports models like
doubao-seedream-4-5(4K resolution) anddoubao-seedream-3-0-t2iMultiple resolution options (2560x1440, 1920x2160, 1920x2560, 2160x3840)
Configurable endpoint IDs for stable API access
Video Generation (generate_video):
Create videos from text descriptions, first-frame images, or with reference images for style consistency
Models include
doubao-seedance-1.0-pro(high quality), Pro-fast (quick generation), and Lite versionsCustomizable duration (3-6 seconds), FPS (24/30), and resolution (480p/720p/1080p)
Asynchronous processing returns task ID for status tracking
Task Management (query_video_task):
Query video generation task status (pending, processing, success, failed)
Retrieve video download URL when task completes
Integration: Works with Claude Code and other MCP clients through environment variable configuration.
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., "@Doubao Image/Video Generation MCP Servergenerate an image of a serene mountain lake at sunset"
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.
豆包图片/视频生成 MCP 服务器
一个支持豆包图片生成和视频生成的 MCP (Model Context Protocol) 服务器
功能
图片生成: 使用豆包 Seedream 模型生成高质量图片
视频生成: 使用豆包 Seedance 模型生成视频
任务查询: 查询视频生成任务状态
Related MCP server: Seedream 4.0 MCP Server
获取 API Key
访问 火山引擎豆包大模型平台
注册/登录账号
在控制台获取 API Key
创建推理接入点
访问 火山引擎控制台
进入「开通管理」页面,参与「协作奖励计划」享免费资源包
授权图片生成接入点(Doubao-Seedream-4.5 模型)
授权视频生成接入点(Doubao-Seedance-1.0-lite-t2v 模型)
进入「安全管理」页面,点击内容安全,复制接入点 ID 到配置文件
PS: 图像生成和视频生成配置不同的接入点
安装
本地安装
cd doubao-image-video-mcp
pnpm install
pnpm build配置
Claude Code 中使用 (推荐)
在 Claude Code 配置文件中添加:
macOS/Linux: ~/.claude/config.json
Windows: %APPDATA%\claude\config.json
{
"mcpServers": {
"doubao-giv": {
"command": "npx",
"args": ["-y", "doubao-image-video-mcp@latest"],
"env": {
"DOUBAO_API_KEY": "your_api_key_here",
"DOUBAO_IMAGE_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx",
"DOUBAO_VIDEO_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx"
}
}
}
}通用 MCP 客户端配置
{
"mcpServers": {
"doubao-giv": {
"command": "npx",
"args": ["-y", "doubao-image-video-mcp@latest"],
"env": {
"DOUBAO_API_KEY": "your_api_key_here",
"DOUBAO_IMAGE_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx",
"DOUBAO_VIDEO_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx"
}
}
}
}使用
npx -y可以自动安装最新版本,无需手动管理本地文件。
本地开发配置
如果从源码运行:
{
"mcpServers": {
"doubao-giv": {
"command": "node",
"args": ["/absolute/path/to/doubao-image-video-mcp/dist/index.js"],
"env": {
"DOUBAO_API_KEY": "your_api_key_here",
"DOUBAO_IMAGE_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx",
"DOUBAO_VIDEO_ENDPOINT_ID": "ep-20241227-xxxxxxxxxxxxx"
}
}
}
}环境变量
环境变量 | 必需 | 默认值 | 说明 |
| ✅ | - | API 密钥 |
| ✅ | - | 图片生成推理接入点 ID |
| ✅ | - | 视频生成推理接入点 ID |
| ❌ |
| 默认图片生成模型 |
| ❌ |
| 默认视频生成模型 |
重要:必须在火山引擎控制台创建推理接入点并配置接入点 ID,直接使用模型名称可能因权限问题导致调用失败。
支持的工具
1. generate_image
生成单张图片。
参数:
prompt(必需): 图片描述文本model(可选): 模型选择,默认doubao-seedream-4-5size(可选): 图片尺寸,默认2560x1440image_url(可选): 参考图片 URL (图生图)ref_image_urls(可选): 多张参考图片 URL 数组 (多图融合)req_key(可选): 请求标识
2. generate_video
生成视频(异步任务)。
参数:
prompt(必需): 视频描述文本 (最大 500 字符)model(可选): 模型选择,默认doubao-seedance-1.0-lite-t2vvideo_duration(可选): 视频时长 (秒),默认 5fps(可选): 帧率,默认 24resolution(可选): 分辨率,默认1080pfirst_frame_image_url(可选): 首帧图片 URL (图生视频)ref_image_urls(可选): 参考图片 URL 数组req_key(可选): 请求标识
返回: 任务 ID,需要使用 query_video_task 查询结果
3. query_video_task
查询视频生成任务状态。
参数:
task_id(必需): 视频生成任务 ID
返回: 任务状态和结果
支持的模型
图片生成模型
模型 | 说明 |
| 最新 4.0 模型,支持 4K 分辨率 |
| 3.0 文生图模型 |
视频生成模型
模型 | 说明 |
| 专业版,高质量视频生成 |
| 专业版快速生成 |
| 轻量版,快速生成 |
API 文档
常见问题
Q: 视频生成需要多长时间?
A: 视频生成是异步任务,通常需要几秒到几分钟,具体取决于视频时长和模型选择。
Q: 如何获取推理接入点 Endpoint ID?
A: 在火山引擎控制台创建推理接入点后获取,使用 endpoint_id 参数比直接使用 model 名称更稳定。
Q: 支持哪些图片尺寸?
A: 图片生成支持多种尺寸,推荐使用 1920x2160、1920x2560、2160x3840 等高分辨率尺寸(豆包 API 要求图片至少 3686400 像素)。
参与贡献
欢迎提交 Issue 和 Pull Request!
Fork 本仓库
创建特性分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)开启 Pull Request
贡献指南
遵循现有代码风格
添加必要的测试和文档
提交前运行
pnpm build确保构建成功
发布流程
项目使用 GitHub Actions 自动发布到 npm:
更新
package.json中的版本号创建并推送 Git 标签:
git tag v1.0.0 git push origin v1.0.0GitHub Actions 自动构建并发布到 npm
Star 历史
License
如果这个项目对你有帮助,请给一个 Star ⭐️
Available Tools
3 toolsgenerate_imageA
使用豆包 Seedream 模型生成图片
支持功能:
文生图: 使用文本提示词生成图片
图生图: 使用输入图片和提示词生成新图片
多图融合: 使用多张参考图片融合生成新图片
参数说明:
prompt: 图片描述文本 (必需)
endpoint_id: 推理接入点 ID (推荐) 在火山引擎控制台创建推理接入点后获取的 Endpoint ID
model: 模型名称 (可选,默认: doubao-seedream-4-5)
doubao-seedream-4-5: 最新 4.0 模型,支持 4K 分辨率
doubao-seedream-3-0-t2i: 3.0 文生图模型 注意: 直接使用模型名称可能需要账户权限,推荐使用 endpoint_id
size: 图片尺寸 (可选,默认: 2560x1440) 支持的尺寸: 2560x1440, 2048x2048, 2304x1728, 1728x2304, 1440x2560, 2496x1664, 1664x2496, 3024x1296
image_url: 参考图片 URL (可选,用于图生图)
ref_image_urls: 多张参考图片 URL 数组 (可选,用于多图融合)
req_key: 请求标识 (可选,用于追踪)
重要提示: 如果遇到 InvalidEndpointOrModel.NotFound 错误,请在火山引擎控制台创建推理接入点,并使用 endpoint_id 参数
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | 图片描述文本 | |
| endpoint_id | No | 推理接入点 ID (在火山引擎控制台创建) | |
| model | No | 模型选择,默认: doubao-seedream-4-5 | |
| size | No | 图片尺寸,默认: 2560x1440 (注意: 豆包 API 要求图片至少 3686400 像素) | |
| image_url | No | 参考图片 URL (图生图) | |
| ref_image_urls | No | 多张参考图片 URL 数组 (多图融合) | |
| req_key | No | 请求标识 | |
| watermark | No | 是否添加水印,默认: false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses important behavioral traits: the tool generates images using a specific AI model, supports multiple generation modes, has default values for optional parameters, requires specific permissions for direct model use, and includes error handling guidance for InvalidEndpointOrModel.NotFound. It doesn't mention rate limits, costs, or output format details.
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 well-structured with clear sections (功能, 参数说明, 重要提示), uses bullet points for readability, and every sentence adds value. It's appropriately sized for an 8-parameter tool with multiple functionalities and includes troubleshooting information without being verbose.
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?
For a complex image generation tool with 8 parameters, 100% schema coverage, and no output schema, the description is quite complete. It covers purpose, usage modes, parameter semantics, and error handling. The main gap is the lack of output format explanation (e.g., what the tool returns - image URL, base64, etc.), which is important since there's no output schema.
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 baseline is 3. The description adds significant value by explaining parameter purposes beyond the schema: it clarifies that prompt is required, endpoint_id is recommended over model for permission reasons, model has specific version differences, size has resolution requirements, and image_url/ref_image_urls enable specific generation modes. It also notes the watermark parameter (present in schema but not mentioned in description) is a minor gap.
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: '使用豆包 Seedream 模型生成图片' (use Doubao Seedream model to generate images). It specifies three distinct functions (text-to-image, image-to-image, multi-image fusion) and distinguishes itself from sibling tools (generate_video, query_video_task) by focusing on image generation rather than video.
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 clear context for when to use different parameters (e.g., image_url for image-to-image, ref_image_urls for multi-image fusion). It mentions an alternative approach (using endpoint_id vs. model name) and includes troubleshooting guidance for errors. However, it doesn't explicitly state when NOT to use this tool versus sibling tools or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoA
使用豆包 Seedance 模型生成视频
支持功能:
文生视频: 使用文本提示词生成视频
图生视频: 使用首帧图片和提示词生成视频
参考图生视频: 使用参考图片增强视频风格一致性
参数说明:
prompt: 视频描述文本 (必需,最大 500 字符)
model: 模型选择 (可选,默认: doubao-seedance-1.0-lite-t2v)
doubao-seedance-1.0-pro: 专业版,高质量视频生成
doubao-seedance-1.0-pro-fast: 专业版快速生成
doubao-seedance-1.0-lite-t2v: 轻量版,快速生成
video_duration: 视频时长 (可选,默认 5) 支持的时长: 3, 4, 5, 6
fps: 冔率 (可选,默认 24) 支持的帧率: 24, 30
resolution: 分辨率 (可选,默认 1080p) 支持的分辨率: 480p, 720p, 1080p
first_frame_image_url: 首帧图片 URL (可选,用于图生视频)
ref_image_urls: 参考图片 URL 数组 (可选)
req_key: 请求标识 (可选)
返回: 任务 ID,需要使用 query_video_task 查询结果
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | 视频描述文本 (最大 500 字符) | |
| model | No | 模型选择,默认: doubao-seedance-1.0-lite-t2v | |
| video_duration | No | 视频时长 (秒),默认: 5 | |
| fps | No | 帧率,默认: 24 | |
| resolution | No | 分辨率,默认: 1080p | |
| first_frame_image_url | No | 首帧图片 URL (图生视频) | |
| ref_image_urls | No | 参考图片 URL 数组 | |
| req_key | No | 请求标识 |
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 discloses that the tool returns a task ID requiring follow-up with query_video_task, which is useful behavioral context. However, it lacks details on permissions, rate limits, costs, or error handling, which are important for a video generation tool.
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 well-structured with clear sections (overview, supported features, parameter explanations, return info). It is appropriately sized for an 8-parameter tool, though some details like model descriptions could be slightly more concise. Every sentence adds value.
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 an 8-parameter video generation tool with no annotations and no output schema, the description does a good job explaining functionality, parameters, and the asynchronous result-checking process. It could improve by adding more behavioral context (e.g., execution time, limitations), but it covers the essentials adequately.
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 baseline is 3. The description adds value by grouping parameters into functional contexts (e.g., model choices explained with quality/speed trade-offs, supported durations/framerates/resolutions listed), which helps the agent understand parameter implications beyond the schema's technical specs.
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 uses the Doubao Seedance model to generate video, with specific supported functionalities listed: text-to-video, image-to-video, and reference-image-to-video. It distinguishes from sibling tools by focusing on video generation (vs. generate_image for images and query_video_task for querying results).
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 clear context for when to use this tool by listing its three supported functionalities, but it does not explicitly state when to use it versus alternatives or any exclusions. It mentions the need to use query_video_task to check results, which is helpful guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_video_taskA
查询豆包视频生成任务的状态和结果
视频生成是异步任务,需要使用此工具查询任务状态:
pending: 任务等待中
processing: 任务处理中
success: 任务成功完成
failed: 任务失败
参数说明:
task_id: 任务 ID (必需,由 generate_video 返回)
返回: 任务状态和结果 (成功时包含视频下载 URL)
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | 视频生成任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully explains the asynchronous nature of video generation and documents the four possible task states (pending, processing, success, failed) with their meanings. It also mentions that successful results include video download URLs. However, it doesn't cover potential error conditions beyond 'failed' state or rate limits.
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 well-structured and appropriately sized. It starts with the core purpose, explains the usage context, documents the task states, provides parameter guidance, and describes return values - all in a compact format with zero wasted sentences.
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?
For a single-parameter query tool with no output schema, the description provides excellent coverage of purpose, usage context, behavioral details, and return values. The only minor gap is the lack of explicit error handling details beyond the 'failed' state, but overall it's highly complete for this tool's complexity.
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?
With 100% schema description coverage, the schema already documents the single required 'task_id' parameter. The description adds value by specifying that task IDs come from 'generate_video' returns, providing important contextual information about parameter sourcing that isn't in the schema.
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 '查询豆包视频生成任务的状态和结果' (query Doubao video generation task status and results), which is a specific verb+resource combination. It distinguishes itself from sibling tools 'generate_image' and 'generate_video' by focusing on querying existing tasks rather than creating new content.
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 explicitly states when to use this tool: '视频生成是异步任务,需要使用此工具查询任务状态' (video generation is an asynchronous task, you need to use this tool to query task status). It also references the sibling tool 'generate_video' as the source of task IDs, providing clear context about the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The three tools have clearly distinct purposes: generate_image handles image generation with various modes, generate_video handles video generation with its own modes, and query_video_task is a dedicated status checker for video tasks. There is no overlap or ambiguity between them.
All tool names follow a consistent verb_noun pattern in snake_case: generate_image, generate_video, query_video_task. The naming is predictable and uniform throughout the set.
Three tools is well-scoped for a server focused on image and video generation. It covers the core operations (generate images, generate videos, query video tasks) without being too sparse or bloated.
The server provides good coverage for its domain: image generation with multiple modes, video generation with multiple modes, and a query tool for async video tasks. A minor gap is the lack of a similar query tool for image tasks, but this is not critical as image generation appears to be synchronous.
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
Create images and videos from prompts, with options for image mixing, reference images, and start/…
Provides YouCam API for AI image and video editing and generation.
Multi-model AI image and video generator. 14 models behind one OAuth-secured MCP endpoint.
Create and manage AI image and video generations through Quriov's fixed public MCP tools.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI image generation through Volcano Engine's Seedream 4.0 API, supporting text-to-image, image-to-image, multi-image fusion, and sequential generation with automatic local saving and Markdown support.521MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI image generation using Volcano Engine's Seedream 4.0 API with text-to-image, image-to-image, multi-image fusion capabilities, built-in prompt templates, and automatic cloud storage integration.19MIT
- FlicenseBqualityDmaintenanceEnables AI-powered text-to-image generation using Volcengine's API with support for multiple image sizes, customizable parameters like guidance scale and seed, and flexible output formats.1
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered image generation using Volcano Engine's SeeDream 4.0 model. Supports custom sizes, reference images, and automatic prompt generation without complex prompting.29MIT
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/156554395/doubao-image-video-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server