一个 Python 库,根据函数名、参数和上下文,在运行时借助 OpenAI 模型自动生成函数实现。
marcelo-earth/generative-manim
Generative Manim 借助 GPT-4o、Claude 等大语言模型,把文字描述生成 Manim 动画代码并渲染成视频。
- Star
- 939
- Fork
- 135
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
Generative Manim 是一套用 Manim 制作视频的工具。Manim 是一个基于 Python 的动画引擎,常用于数学和教学内容。用户用自然语言描述动画效果,大语言模型生成对应的 Manim 代码,项目再将代码渲染为视频,让没有编程或视频剪辑经验的人也能从文字创建动画。
项目支持多种模型后端,包括 OpenAI 的 GPT 系列、Anthropic 的 Claude、Google Gemini、月之暗面 Kimi、通过 Featherless 托管的开源权重模型,以及可经由 LiteLLM 调用的任意模型。仓库提供网页应用、基于 FastAPI 的 API,以及旧版 Streamlit 界面。此外还包含使用 SFT、DPO 和 GRPO 对开源代码模型进行 Manim 微调的训练流程,以渲染结果作为奖励信号,并附带用于评估 Manim 代码生成的可执行基准测试。
核心功能
- 01根据自然语言提示生成 Manim 代码并渲染为视频。
- 02支持 OpenAI、Anthropic、Google Gemini、Kimi、Featherless 和 LiteLLM 等模型引擎。
- 03提供网页演示、API 以及旧版 Streamlit 界面。
- 04包含基于渲染结果评分并支持 pass@k 指标的可执行基准测试。
- 05提供用于在 Manim 代码上微调开源模型的训练流程。
适用场景
- 在不学习 Manim 的情况下,为数学或科学课程制作讲解动画。
- 根据文字描述快速原型化 Manim 场景。
- 比较不同大语言模型在 Manim 代码生成上的表现。
- 研究以渲染器作为验证器来微调代码模型。
使用前须知
- 大多数模型调用 OpenAI、Anthropic 或 Featherless 等托管 LLM 接口,需要 API 密钥,通常还需要付费账户。
- README 中列出的几个开源模型仍标记为开发中(🚧),目前尚不可用。
收录于专题
标签
常见问题
- generative-manim 是什么?
- Generative Manim 借助 GPT-4o、Claude 等大语言模型,把文字描述生成 Manim 动画代码并渲染成视频。 Generative Manim 是一套用 Manim 制作视频的工具。Manim 是一个基于 Python 的动画引擎,常用于数学和教学内容。用户用自然语言描述动画效果,大语言模型生成对应的 Manim 代码,项目再将代码渲染为视频,让没有编程或视频剪辑经验的人也能从文字创建动画。
- generative-manim 可以免费使用吗?用的什么许可证?
- generative-manim 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- generative-manim 还在维护吗?
- 半年内有更新。generative-manim 最近一次提交是在 2026年9月17日。
- generative-manim 适合用来做什么?
- 在不学习 Manim 的情况下,为数学或科学课程制作讲解动画。 根据文字描述快速原型化 Manim 场景。 比较不同大语言模型在 Manim 代码生成上的表现。 研究以渲染器作为验证器来微调代码模型。
- 在哪里获取 generative-manim?
- 源代码和安装说明在 GitHub 上:https://github.com/marcelo-earth/generative-manim
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
409+1 本周43Jupyter NotebookMIT更新于 14天前
为 Vim 和 Neovim 提供 AI 能力的插件,可在编辑器内生成代码、编辑文本并与模型对话。
1189+1 本周112PythonMIT更新于 24天前
一个基于 LLM 的 Python 数据管道,从非结构化文本中抽取知识图谱,用于增强问答检索。
3.7万+83 本周3871PythonMIT维护活跃更新于 5天前
一个通过编写可执行 Manim 代码来生成教学视频的多智能体框架。
2320+133 本周300PythonMIT更新于 3个月前
一个用于构建和运行基于大模型的自主智能体与多智能体工作流的开源平台,附带无代码图形编辑器。
1044127PythonMIT更新于 28天前