Code2Video:代码驱动的教学视频生成器
以可执行代码为媒介,将知识点自动转化为高质量教学视频。
- Star 数
- ★ 2.1k
- 最近更新
- 1 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 31/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 教育内容创作者:希望将复杂概念(如傅里叶级数)自动生成教学视频,节省手动动画制作时间。
- 不适合
- 需要非 Manim 或非数学动画类视频内容的团队
- 不愿配置 Python 与 Manim 依赖环境的用户
这个 Agent 能做什么,适合哪些场景?
Code2Video 是一个以代码为中心的多智能体框架,用于从知识要点生成教学视频。它利用可执行的 Manim 代码来确保视频的清晰性、连贯性和可复现性,区别于基于像素的文生视频模型。框架采用模块化的三智能体设计:规划器(Planner)负责扩展故事板,编码器(Coder)负责合成可调试的代码,评论家(Critic)通过锚点进行布局优化。项目提供了 MMMC 基准,覆盖 117 个精选的学习主题,灵感来源于 3Blue1Brown。评估从知识迁移、美学与结构质量、以及效率三个维度进行。
Code2Video 读取用户提供的知识要点(如“线性变换与矩阵”),通过三个智能体协作生成视频:Planner 使用大型语言模型(LLM)扩展故事板,Coder 编写 Manim 代码(基于 Python),Critic 使用视觉语言模型(VLM)优化布局和美感。最终执行 Manim 代码生成视频文件。整个过程通过 run_agent_single.sh 或 run_agent.sh 脚本驱动,需要配置 LLM API(如 Claude-4-Opus)和 VLM API(如 Gemini 2.5 Pro)。输出视频保存在指定的文件夹中。
- 教育内容创作者:希望将复杂概念(如傅里叶级数)自动生成教学视频,节省手动动画制作时间。
- 在线课程开发者:需要为课程快速制作一致风格的教学视频,并保证视觉质量。
- 研究人员:需要生成可复现的教学视频,作为论文或演示的一部分。
- 开发者:希望集成视频生成能力到自己的工具链中,通过 API 调用。
- 教育机构:为学生提供定制化的视觉学习材料,提高学习效率。
如何安装或部署这个 Agent?
克隆仓库并按照 README 中的步骤安装依赖:cd src/ 然后 pip install -r requirements.txt。此外,需要安装 Manim Community v0.19.0,并参考官方安装指南。同时需要准备 LLM API 密钥(如 Claude)和 VLM API 密钥(如 Gemini),以及可选的 IconFinder API 密钥用于获取视觉素材。
如何使用这个 Agent?
- 在
api_config.json中配置 API 密钥。 - 使用单查询模式:
sh run_agent_single.sh --knowledge_point "线性变换与矩阵"
或全基准模式:sh run_agent.sh。
- 生成的视频保存在
src/CASES/目录下。
这个 Agent 有哪些优点和局限?
- 以代码为中心的方法确保视频内容的精确性和可复现性。
- 三智能体协作设计(规划器、编码器、评论家)为生成过程提供结构化控制。
- 提供 MMMC 基准和评估脚本,支持多维度评估。
- 支持自定义知识要点,灵活生成视频。
- 依赖外部 LLM 和 VLM API,且需要付费密钥,增加使用成本。
- 目前仅支持 Manim 代码,对于非数学类内容可能有限制。
- 生成视频的质量受限于 LLM 的代码生成能力和 VLM 的审美评估能力。
- 安装配置相对复杂,需要处理 Python 环境和 Manim 依赖。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Code2Video:代码驱动的教学视频生成器 当前 | 31 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.1k | 1 个月前 | Python | — |
| FAROS 自动研究运行时 | 48 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 3k | 4 天前 | Python | — |
| Pi Dynamic Workflows | 88 · 表现良好 | Agent 插件 / 技能免费 + 模型费 | ★ 555 | 12 天前 | TypeScript | — |
| Ordewell | 67 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 202 | 今天 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。扣分原因:这些方面在文件中完全缺失,无法评估。
证据显示:README 和代码结构一致,但未提供错误处理或失败消息的文档。扣分原因:依赖可用性仅通过 requirements.txt 和安装指南部分支持,但未验证;失败消息未提及。
证据显示:README 明确了目标用户(教育视频生成)和场景(单查询和基准模式),但能力边界和触发条件描述有限。扣分原因:环境适配仅提及 Manim 和 API 配置,未详细说明系统要求。
证据显示:README 提供了清晰的目录结构、安装步骤和示例,但缺少版本变更日志和维护责任说明。扣分原因:命名稳定性未明确,已知限制未列出。
证据显示:输出为可执行的 Manim 代码和视频,具有明确的使用价值,但成本效益未量化。扣分原因:成本效益仅提及 token 使用和运行时间,未提供具体数据。
证据显示:README 引用了论文和数据集,但未提供可复现的评估细节。扣分原因:跨来源验证有限,事实与推断未明确区分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供任何安全或权限管理文档,用户需自行评估风险。
- 依赖安全未验证,建议检查 requirements.txt 中的依赖版本。
- API 密钥配置涉及敏感信息,需谨慎处理。