Skip to content

360macky/generative-manim

Repository files navigation

Generative Manim

Generative Manim

🎨 GPT-4 powered generative videos. Concept. ⚑️ Join our Discord server here!


Preview

πŸš€ Concept

Generative Manim (GM) is a suite of tools that allows you to create videos with Manim using LLMs (Large Language Models) like GPT-4. The idea is to make the process of creating videos more accessible to everyone.

It began as a prototype of a web app that uses GPT-4 to generate videos with Manim. The idea behind this project is taking advantage of the power of GPT-4 in programming, the understanding of human language and the animation capabilities of Manim to generate a tool that could be used by anyone to create videos. Regardless of their programming or video editing skills.

πŸŽ’ Streamlit

Integration of the GM with Streamlit. Streamlit is an open-source app framework for Machine Learning and Data Science projects. It allows you to create interactive web apps for your projects with minimal effort.

πŸ›  Core Development

Generative Manim is built with Streamlit. It uses OpenAI API to make requests to GPT-4 and GPT-3.5-turbo.

Blueprint

For more details, check out the How it works section.

πŸ€– Chatbot Platform

πŸ—οΈ Integration as a chatbot in progress.

πŸ’¬ REST API

In /api/app.py you can find the REST API. Currently the available endpoint is /zero-shot-learning, which is the legacy basic system-prompt concept of the project.

🦜 LangChain

πŸ—οΈ Integration with LangChain in progress.

πŸ“¦ Installation

Once you have cloned the repository, you need to install streamlit and set OPENAI_API_KEY as an environment variable in your system.

To start the app, run:

streamlit run src/main.py

🀲 Contributing

Generative Manim is an open source project.

If you want to be the author of a new feature, fix a bug or contribute with something new.

Fork the repository and make changes as you like. Pull requests are warmly welcome. Remember you can also join our Discord server to discuss new features, bugs or any other topic.