marcelo-earth/generative-manim

🎨 GPT for video generation ⚡️

Generative Manim – AI 驱动的动画创作

是什么

  • 一个开源工具套件,让你用自然语言描述场景,由大型语言模型(LLM)生成对应的 Manim Python 代码,再渲染为视频。
  • 基于 Manim 渲染器本身是确定性验证器的理念:生成的代码要么产生正确的动画,要么崩溃,这种结果可作为训练的奖励信号。

核心组件

组件 目的
LLM → Manim 代码引擎 一系列模型包装器(GPT‑4o、Claude、Gemini、通过 Featherless 使用的开源权重模型、LiteLLM 代理等),将自然语言提示转换为 Manim 脚本。
API 一种 REST 风格的 Animation Processing Interface,接收提示,选择模型,执行生成,并返回渲染后的视频(或原始 Python 代码)。
Web 演示 部署在 generative-manim.vercel.app;在浏览器中展示端到端流程。
Animo 桌面应用 同一流程的打包本地渲染版本,提供隐私保护和零额外云成本。
训练流水线 开源脚本,使用三阶段过程(监督微调 → 直接偏好优化 → 组相对策略优化)对开源权重模型(Qwen 2.5‑Coder 7B、DeepSeek‑Coder V2 Lite、CodeLlama 7B)进行微调,以 Manim 渲染器作为奖励信号。
基准测试套件 可复现的评估(pass@k、基于渲染的评分、结构检查),用于任何生成 Manim 代码的模型。

主要特性

  • 提示 → 动画:输入一句如 "A ball falls, bounces, and turns into a star" 的描述,即可获得可播放的视频。
  • 多模型后端支持:官方支持 OpenAI、Anthropic、Google Gemini、Moonshot,以及通过 Featherless 或 LiteLLM 访问的开源权重模型。
  • Animo 本地渲染:无需上传代码或视频;所有操作在用户本地机器上完成。
  • 可导出代码:生成的 Manim 脚本会提供,便于编辑、版本控制或复用。
  • 开源训练:提供训练自定义代码生成模型的脚本,以及衡量模型生成可运行 Manim 代码频率的基准测试。
  • 社区资源:Discord 用于讨论,精选的 Manim Awesome Skills 仓库,以及详细的部署文档(Docker/Render)。

典型工作流

  1. 编写描述 – 使用自然语言,无需 Manim 知识。
  2. 选择模型 – 选择高性能模型(如 GPT‑4o)或更便宜的开源权重模型。
  3. 生成代码 – API 调用 LLM,接收 Python 脚本,并可选择性地流式返回。
  4. 渲染 – 脚本通过 Manim 运行;返回结果视频(或由 Animo 本地保存)。
  5. 迭代 – 编辑提示或生成的代码,重复执行。

快速入门

  • 试用演示:访问 https://generative-manim.vercel.app 并输入提示。
  • 本地运行 API:
    git clone https://github.com/360macky/generative-manim.git
    cd generative-manim/api
    # 设置你的 OpenAI/Anthropic/Google API 密钥
    export OPENAI_API_KEY=…
    uvicorn main:app --reload   # 或按 docs/cloud-deployment.md 中所述使用 Docker
    
  • 使用 Animo:从 https://animo.video 下载桌面应用,安装并开始创建,无需任何服务器。
  • 训练自己的模型:遵循 training/ 的 README——它展示了如何使用提供的 5,000+ 个提示-代码对微调 Qwen 2.5‑Coder 7B 并运行基准测试。

谁会受益

  • 教育工作者和内容创作者:无需学习 Manim 即可快速制作解释性动画。
  • 开发者:寻找具有确定性、可视化奖励的代码生成基准的人。
  • 研究人员:对 LLM 驱动编程感兴趣,尤其关注输出可自动验证(渲染视频)领域的研究者。
  • 学生:希望通过自然语言生成的动画可视化探索物理或数学概念的学生。

社区与支持

  • Discord: https://discord.gg/SNdbPU2AMM
  • GitHub 上欢迎提交问题和拉取请求。
  • 赞助:目前由 The Astronomical Software Company 支持。

以上所有信息均直接来自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目