使用说明
英语 | 中文文档
视频流水线MVP——AI视频制作流水线
将脚本转换为故事板照片和插图图像,使用Gemini AI完全自动化。双界面:用于Claude Desktop的REST API+MCP服务器。
核心能力:
- 从脚本文本生成结构化故事板(Gemini Flash)
- 批量生成每个镜头的一致插图图像(Gemini Image API)
- 完整的项目生命周期管理(创建、编辑、下载)
- 用于AI代理集成的MCP服务器(Claude Desktop等)
这解决了什么
创建视频内容需要繁琐的手工工作:阅读脚本,决定每个句子显示什么视觉效果,然后逐一查找或创建这些图像。此管道使整个过程自动化。
输入: 脚本——视频的全文叙述。
输出: 一个完整的故事板,带有人工智能生成的插图图像,可用于视频编辑。
该管道使用Gemini Flash分析您的脚本,并将其分解为带有视觉描述的镜头,然后使用GeminiImage API为每个镜头生成一致的插图。样式预设可确保所有图像的视觉一致性。
运作原理
Script Text ──→ Gemini Flash ──→ Storyboard (JSON) ──→ Gemini Image API ──→ Images (PNG)
↓ ↓
shot-by-shot breakdown visuals/001.png
with image prompts visuals/002.png
and mood annotations visuals/003.png ...
快速开始
# 1. Clone and install
git clone https://github.com/chenyuxiaojin/video-pipeline-mvp.git
cd video-pipeline-mvp
pip install -r requirements.txt
# 2. Set your Gemini API key
export GEMINI_API_KEY=your-key
# 3. Start the server
uvicorn api.app:app --host 0.0.0.0 --port 8600
# API docs at http://localhost:8600/docs
API 参考
生成故事板
curl -X POST http://localhost:8600/api/storyboard \
-H "Content-Type: application/json" \
-d '{
"script_text": "Your full script text here...",
"style": "AI科技/知识分享",
"duration": "6-10分钟"
}'
答复:
{
"project_id": "a1b2c3d4e5f6",
"shot_count": 25,
"warnings": [],
"shots": [
{
"shot_number": 1,
"time_range": "0:00-0:15",
"script_text": "First sentence of the script",
"asset_type": "illustration",
"image_prompt": "A detailed visual description...",
"mood": "curious",
"is_post_production": false
}
]
}
生成图像
# SSE stream — get real-time progress
curl -N http://localhost:8600/api/images/PROJECT_ID \
-X POST \
-H "Content-Type: application/json" \
-d '{"style": "default", "concurrency": 3}'
所有端点
| 方法 | 路径 | 描述 |
|---|---|---|
POST |
/api/storyboard |
从脚本生成故事板 |
POST |
/api/images/{id} |
批量生成图像(SSE流) |
GET |
/api/images/{id} |
查询图像生成状态 |
GET |
/api/projects |
列出所有项目 |
GET |
/api/projects/{id} |
获取项目详细信息 |
PUT |
/api/projects/{id}/storyboard |
编辑故事板 |
DELETE |
/api/projects/{id} |
删除项目 |
GET |
/api/download/{id} |
将项目下载为zip |
MCP服务器
将此管道连接到Claude Desktop或任何兼容MCP的AI客户端。
配置 (claude_desktop_config.json):
{
"mcpServers": {
"video-pipeline": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "/path/to/video-pipeline-mvp",
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
可用的MCP工具:
| 工具 | 说明 |
|---|---|
create_storyboard |
从脚本文本生成故事板 |
list_projects |
列出所有视频项目 |
get_project |
使用故事板和图像获取项目详细信息 |
edit_storyboard |
更新项目故事板快照 |
generate_images |
为项目批量生成图像 |
get_image_status |
检查图像生成进度 |
download_project |
获取项目文件列表并下载URL |
Docker部署
# Create .env with your API key
echo "GEMINI_API_KEY=your-key" > .env
# Start
docker compose up -d
# Access at http://localhost:8600
建筑
video-pipeline-mvp/
├── api/ # FastAPI application
│ ├── app.py # App entry point, middleware, route mounting
│ ├── config.py # Configuration
│ └── routes/ # API route handlers
│ ├── storyboard.py # POST /api/storyboard
│ ├── images.py # POST/GET /api/images/{id}
│ └── projects.py # CRUD /api/projects
├── core/ # Business logic
│ ├── models.py # Pydantic models (Shot, Project, etc.)
│ ├── storyboard.py # Gemini Flash storyboard generation
│ ├── images.py # Gemini Image API batch generation
│ ├── prompts/ # Prompt templates
│ └── styles/ # Style presets (default.txt, tech.txt, etc.)
├── mcp_server/
│ └── server.py # MCP stdio server with 7 tools
├── data/projects/ # Project storage (auto-created)
├── site/ # Static frontend
├── docker-compose.yml
├── Dockerfile
├── pyproject.toml
└── llms.txt # AI discovery metadata
用例
1.YouTube/抖音知识视频制作
把你的剧本输入管道,得到一个完整的带插图的故事板。将图像导入视频编辑器(DaVinci Resolve、CapCut),并与画外音对齐。
curl -X POST http://localhost:8600/api/storyboard \
-d '{"script_text": "今天我们来聊聊 AI Agent 的未来发展方向..."}'
2.AI Agent工作流集成
使用MCP服务器让Claude Desktop管理整个视频制作过程——从脚本分析到图像生成——作为更大内容创建工作流的一部分。
3.批量内容生产
使用REST API以编程方式按比例创建视频。每个项目都有自己的故事板和图像资产。
4.故事板迭代
生成初始序列图像板,通过API查看和编辑照片,然后仅为最终版本生成图像。编辑→ 再生周期快,成本低。
局限性
- 图像生成使用Gemini Image API --需要有效的
GEMINI_API_KEY具有图像生成访问权限 - 无视频组装 --此管道生成故事板+图像,而不是完成的视频文件。使用视频编辑器进行最终组装
- 无音频/语音生成 --脚本文本仅输入,不转换为语音
- 风格一致是最好的努力 -Gemini Image API在预设的风格范围内制作出一致的插图,但结果可能因课程而异
- 中文优化提示 --故事板生成提示是为中文脚本设计的,尽管其他语言也可能适用
许可证
麻省理工学院