视频生产管线

将脚本自动转换为故事板和插图图像的AI视频生产管线,支持REST API和MCP服务器双接口。

  • by chenyuxiaojin
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 chenhuajinchj/video-pipeline-mvp

使用说明

英语 | 中文文档

视频流水线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在预设的风格范围内制作出一致的插图,但结果可能因课程而异
  • 中文优化提示 --故事板生成提示是为中文脚本设计的,尽管其他语言也可能适用

许可证

麻省理工学院