@mcpcn/video-mcp
v1.0.14
Published
MCP Server for Sora video generation API integration
Readme
Sora 视频生成 MCP 服务器
这是一个基于云雾 API 的 Sora 视频生成 MCP 服务器,提供强大的 AI 视频生成能力。
✨ 功能特性
- 🎬 文生视频: 仅使用文本提示词即可生成精彩视频
- 🖼️ 图生视频: 结合图片和提示词生成动态视频内容
- 📊 任务查询: 实时查询视频生成任务的状态和结果
- 🎯 灵活配置: 支持横屏/竖屏、多种清晰度和时长选择
📦 安装
# 安装依赖
npm install
# 构建项目
npm run build⚙️ 配置
1. 创建环境变量文件
cp .env.example .env2. 配置 API 密钥
编辑 .env 文件,填入你的云雾 API 密钥:
YUNWU_API_KEY=your_api_key_here
YUNWU_BASE_URL=https://yunwu.ai💡 获取 API 密钥: 访问 云雾 AI 注册账号并获取 API 密钥
🚀 使用方法
在 Claude Desktop 中使用
找到 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
添加以下配置:
{
"mcpServers": {
"sora-video": {
"command": "node",
"args": ["/完整路径/视频生成/build/index.js"],
"env": {
"YUNWU_API_KEY": "your_api_key_here",
"YUNWU_BASE_URL": "https://yunwu.ai"
}
}
}
}- 重启 Claude Desktop
命令行运行
# 设置环境变量
export YUNWU_API_KEY=your_api_key_here
export YUNWU_BASE_URL=https://yunwu.ai
# 运行服务器
npm start🛠️ 可用工具
1. 创建文生视频 (create_video)
使用文本描述生成视频。
参数说明:
| 参数 | 类型 | 必需 | 说明 | 默认值 |
|------|------|------|------|--------|
| prompt | string | ✅ | 视频内容描述 | - |
| model | string | ❌ | 模型名称 | sora-2 |
| orientation | string | ❌ | 视频方向: portrait(竖屏) / landscape(横屏) | portrait |
| size | string | ❌ | 视频质量: small(720p) / large(1080p) | small |
| duration | string | ❌ | 视频时长: 10 / 15 秒 | - |
使用示例:
{
"prompt": "一只金色的拉布拉多犬在海滩上奔跑,夕阳西下,海浪拍打着沙滩",
"orientation": "landscape",
"size": "large",
"duration": "15"
}2. 创建图生视频 (create_video_with_images)
使用图片和文本描述生成视频。
参数说明:
| 参数 | 类型 | 必需 | 说明 | 默认值 |
|------|------|------|------|--------|
| prompt | string | ✅ | 视频内容描述 | - |
| images | string[] | ✅ | 图片 URL 数组 | - |
| model | string | ❌ | 模型名称 | sora-2 |
| orientation | string | ❌ | 视频方向 | portrait |
| size | string | ❌ | 视频质量 | small |
| duration | string | ❌ | 视频时长 | - |
使用示例:
{
"prompt": "让这些图片中的场景动起来,添加自然的过渡效果",
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
],
"orientation": "portrait",
"size": "large",
"duration": "10"
}3. 查询任务状态 (query_video_task)
查询视频生成任务的进度和结果。
参数说明:
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| id | string | ✅ | 任务 ID (格式: sora-2:task_xxx) |
使用示例:
{
"id": "sora-2:task_01k6x15vhrff09dkkqjrzwhm60"
}任务状态说明:
pending- 任务处理中,请稍候completed- 任务已完成,可获取视频 URLfailed- 任务失败
📚 工作流程
- 创建任务: 使用
create_video或create_video_with_images创建视频生成任务 - 获取任务 ID: 任务创建成功后会返回任务 ID
- 轮询查询: 使用
query_video_task定期查询任务状态 - 获取结果: 任务完成后,从返回结果中获取视频 URL
🔧 开发
# 开发模式 (监视文件变化,自动重新编译)
npm run dev
# 编译构建
npm run build
# 运行服务
npm start📖 相关文档
💡 使用建议
- 提示词优化: 详细、具体的提示词能够生成更好的视频效果
- 图片质量: 使用清晰、高质量的图片作为输入可以获得更好的结果
- 合理选择参数: 根据需求选择合适的分辨率和时长,避免不必要的资源消耗
- 任务查询频率: 建议每 5-10 秒查询一次任务状态,避免过于频繁的请求
⚠️ 注意事项
- 确保 API 密钥有足够的余额
- 视频生成可能需要较长时间,请耐心等待
- 图片 URL 必须是公开可访问的
- 遵守云雾 API 的使用条款和限制
📄 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
注意: 本项目仅供学习和研究使用,请遵守相关法律法规和平台使用条款。
