Skip to content

Latest commit

 

History

History
214 lines (160 loc) · 7.49 KB

File metadata and controls

214 lines (160 loc) · 7.49 KB

Code2Video: 通过代码生成视频

English | 简体中文

Code2Video: 以代码为中心的教学视频生成新范式

Yanzhe Chen*, Kevin Qinghong Lin*, Mike Zheng Shou
新加坡国立大学 Show Lab

📄 Arxiv 论文   |   🤗 Daily Paper   |   🤗 数据集   |   🌐 项目主页   |   💬 推特 (X)


🔥 更新

  • [2025.10.11] 近期收到关于 ICONFINDER 注册问题的反馈,在 MMMC 数据集中更新了 Code2Video 自动收集的 icon,作为临时替代方案。
  • [2025.10.6] 在 Huggingface 上更新了 MMMC 数据集。
  • [2025.10.3] 感谢 @_akhaliq 在 推特上分享我们的工作!
  • [2025.10.2] 我们发布了 ArXiv代码数据集
  • [2025.9.22] Code2Video 已被 NeurIPS 2025 Workshop (DL4C) 接收。

目录


🌟 项目总览

Overview

Code2Video 是一个基于智能体、以代码为中心的框架,能够根据知识点生成高质量的教学视频。 与基于像素空间的文生视频模型不同,我们的方法生成可执行的 Manim 代码来确保视频的清晰度、连贯性和可复现性

核心特性:

  • 🎬 以代码为中心的范式 — 将可执行代码作为统一媒介,同时实现教学视频的时间序列和空间布局组织。
  • 🤖 模块化三智能体设计 — 规划者 (Planner) 负责故事板扩展,编码员 (Coder) 负责可调试代码的合成,鉴赏家 (Critic) 负责通过视觉锚点(Visual Anchor)优化布局,三者协同完成结构化生成。
  • 📚 MMMC 基准 — 用于代码驱动视频生成的基准数据集,涵盖了 117 个受 3Blue1Brown 启发的精选学习主题,横跨多个领域。
  • 🧪 多维度评测 — 从效率、美学和端到端知识传递三个维度进行系统性评估。

🚀 快速上手

Approach

1. 环境配置

cd src/
pip install -r requirements.txt

这里是 Manim Community v0.19.0 的官方安装指南,以帮助您正确设置环境。

2. 配置 LLM API 密钥

请在 api_config.json 文件中填入您的 API key

  • LLM API:
    • 运行 Planner 和 Coder 所需。
    • 使用 Claude-4-Opus 可获得最佳的 Manim 代码质量。
    • 使用 ChatGPT-4.1 亦具有不错的生成表现。
  • VLM API:
    • 运行 Critic 所需。
    • 为优化布局和美学,请提供 Gemini API key
    • 使用 gemini-2.5-pro-preview-05-06 可获得最佳质量。
  • 视觉素材 API:
    • 为丰富视频内容,请从 IconFinder 获取并设置 ICONFINDER_API_KEY

3. 运行智能体

提供了两种 Shell 脚本,用于不同的生成模式:

(a) 单个主题生成

脚本: run_agent_single.sh

从脚本中指定的单个知识点生成视频。

sh run_agent_single.sh --knowledge_point "Linear transformations and matrices"

run_agent_single.sh 内部重要参数:

  • API: 指定使用的 LLM。
  • FOLDER_PREFIX: 输出文件夹的前缀 (例如, TEST-single)。
  • KNOWLEDGE_POINT: 目标概念,例如 "Linear transformations and matrices"

(b) 完整基准测试模式

脚本: run_agent.sh

运行 long_video_topics_list.json 中定义的所有(或部分)学习主题。

sh run_agent.sh

run_agent.sh 内部重要参数:

  • API: 指定使用的 LLM。
  • FOLDER_PREFIX: 输出文件夹的前缀 (例如, TEST-LIST)。
  • MAX_CONCEPTS: 要运行的概念数量 (-1 表示全部)。
  • PARALLEL_GROUP_NUM: 并行运行的组数。

4. 项目结构

建议的目录结构如下:

src/
│── agent.py
│── run_agent.sh
│── run_agent_single.sh
│── api_config.json
│── ...
│
├── assets/
│   ├── icons/       # 通过 IconFinder API 下载的视觉素材缓存
│   └── reference/   # 参考图像
│
├── json_files/      # 基于 JSON 的主题列表及元数据
├── prompts/         # 用于 LLM 调用的提示模板
├── CASES/           # 生成的案例,按 FOLDER_PREFIX 组织
│   └── TEST-LIST/   # 示例:多主题生成结果
│   └── TEST-single/ # 示例:单主题生成结果

📊 评测 -- MMMC

从以下三个互补的维度进行评测:

  1. 知识传递 (TeachQuiz)

    python3 eval_TQ.py
  2. 美学质量 (AES)

    python3 eval_AES.py
  3. 效率指标 (EFF)

    • Token 使用量
    • 执行时间

👉 更多数据和评测脚本请见: HuggingFace: MMMC 基准


🙏 致谢

  • 视频数据来源于 3Blue1Brown 官方课程。 这些视频代表了教学视频在清晰度和美学设计上的最高标准,并为我们的评测指标提供了参考。
  • 感谢 Show Lab @ NUS 所有成员的支持!
  • 本项目得益于 Manim 社区和 AI 研究生态系统的开源贡献。
  • 高质量的视觉素材(图标)由 IconFinderIcons8 提供,用于丰富教学视频内容。

📌 引用

如果我们的工作对您有帮助,欢迎引用我们的工作:

@misc{code2video,
      title={Code2Video: A Code-centric Paradigm for Educational Video Generation},
      author={Yanzhe Chen and Kevin Qinghong Lin and Mike Zheng Shou},
      year={2025},
      eprint={2510.01174},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={[https://arxiv.org/abs/2510.01174](https://arxiv.org/abs/2510.01174)},
}

如果您喜欢我们的项目,欢迎在 GitHub 上给我们一个 Star ⭐ 以获取最新动态! Star History Chart