视频生成服务器

VideoGen Advisor是一个统一的MCP服务器,用于视频生成,智能地将请求路由到HeyGen(用于头像/主持人视频)或Google Veo(用于创意/电影内容)。

  • by m2ai-mcp-servers
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 m2ai-mcp-servers/videogen-mcp

使用说明

VideoGen顾问

一个用于视频生成的统一MCP服务器,可以智能地将请求路由到HeyGen(用于化身/演示者视频)或Google Veo(用于创意/电影内容)。

特性

  • 智能路由:根据提示内容自动选择最佳服务
  • HeyGen集成:基于头像的视频、自定义声音、模板
  • 谷歌视觉整合:电影内容、图像到视频、创意视觉
  • 统一接口:单人 generate_video 具有自动服务选择功能的工具
  • 完全控制:需要时直接访问特定服务工具

安装

pip install m2ai-mcp-videogen-advisor

配置

将API键设置为环境变量:

export HEYGEN_API_KEY=your_heygen_api_key_here
export GEMINI_API_KEY=your_gemini_api_key_here

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "videogen": {
      "command": "videogen-advisor",
      "env": {
        "HEYGEN_API_KEY": "your_heygen_key",
        "GEMINI_API_KEY": "your_gemini_key"
      }
    }
  }
}

或者直接用Python运行:

{
  "mcpServers": {
    "videogen": {
      "command": "python",
      "args": ["-m", "videogen_mcp.server"],
      "env": {
        "HEYGEN_API_KEY": "your_heygen_key",
        "GEMINI_API_KEY": "your_gemini_key"
      }
    }
  }
}

可用工具

统一界面(3个工具)

工具 说明
generate_video 通过智能路由生成视频至HeyGen或Veo
get_video_status 检查作业状态(适用于两种服务)
download_video 获取已完成视频的下载URL

HeyGen专用(6个工具)

工具 说明
list_avatars 列出可用头像(库存+自定义)
list_voices 列出化身视频的可用声音
create_avatar_video 使用特定头像/语音创建视频
list_templates 列出可用的视频模板
get_template_details 获取模板变量和详细信息
generate_from_template 从模板生成视频

Veo专用(2个工具)

工具 说明
generate_creative_video 使用完整的Veo控件生成电影视频
generate_video_from_image 将静态图像动画化为视频

使用示例

自动路由

"Create a video where someone presents our Q4 results"
→ Routes to HeyGen (presenter/speaking content)

"Cinematic aerial shot of mountains at sunset"
→ Routes to Veo (creative/visual content)

明确的服务选择

# Force HeyGen
generate_video(
    prompt="Create any video",
    service_hint="heygen"
)

# Force Veo
generate_video(
    prompt="A tutorial video",
    service_hint="veo"
)

HeyGen头像视频

# 1. List avatars and voices
avatars = list_avatars(filter_gender="female")
voices = list_voices(filter_language="en")

# 2. Create video
job = create_avatar_video(
    script="Hello! Welcome to our company.",
    avatar_id="Angela-inblackskirt-20220820",
    voice_id="1bd001e7e50f421d891986aad5158bc8",
    background={"type": "color", "value": "#0066CC"},
    aspect_ratio="16:9"
)

# 3. Poll for completion
status = get_video_status(job_id=job["job_id"], service="heygen")

# 4. Download when complete
result = download_video(job_id=job["job_id"], service="heygen")

Veo创意视频

# Generate cinematic content
job = generate_creative_video(
    prompt="A slow dolly shot through a neon-lit Tokyo alley at night, rain reflections, cinematic color grading",
    negative_prompt="blurry, low quality, text overlays",
    aspect_ratio="16:9",
    duration=8,
    model="veo-3.1-generate-preview"
)

# Poll and download
status = get_video_status(job_id=job["job_id"], service="veo")
result = download_video(job_id=job["job_id"], service="veo")

图像转视频

# Animate a still image
job = generate_video_from_image(
    image_url="https://example.com/product-photo.jpg",
    prompt="Slow zoom in with subtle product rotation",
    duration=6
)

路由逻辑

这 generate_video 该工具使用关键字检测来路由请求:

HeyGen触发器 (头像/演示者内容):

  • 演讲、演示、解释、教程、化身、主持人、叙述者
  • 演讲、宣布、介绍、演练、演示、发言人

Veo触发器 (创意/电影内容):

  • 电影、场景、视觉、b-roll、动画、镜头、素材
  • 风景、抽象、艺术、戏剧、航拍、延时摄影

模糊提示默认为Veo,除非检测到化身/演示者语言。

视频等待时间

  • 嘿创:1-5分钟(因内容长度而异)
  • 我看见:2-10分钟(因复杂程度而异)

投票 get_video_status 直到状态为 completed 或 failed.

错误处理

所有工具都返回结构化错误对象:

{
  "error": true,
  "code": "QUOTA_EXCEEDED",
  "message": "API credits exhausted. Check your account."
}

常见错误代码:

  • AUTH_FAILED -API密钥无效
  • QUOTA_EXCEEDED -API信用额度耗尽
  • INVALID_AVATAR / INVALID_VOICE -找不到ID
  • CONTENT_BLOCKED -安全过滤器已触发
  • VIDEO_NOT_READY -发电仍在进行中
  • JOB_NOT_FOUND -作业ID无效

发展

# Run tests
pytest

# Run tests with coverage
pytest --cov=videogen_mcp

# Type checking
mypy src/

# Linting
ruff check src/ tests/

许可证

MIT许可证

学分