Code Monkey home page Code Monkey logo

generative-manim's Introduction

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.

generative-manim's People

Contributors

360macky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

generative-manim's Issues

Roadmap: Generative Manim Suite

Engines

An engine is a complete text-to-code and code-to-video generation system for Generative Manim (GM). Since there are many ways we can think about video generation, we developed multiple engines so that they can be evaluated with LangSmith.

  • GM powered by DSL
  • GM powered by LangGraph
  • GM OpenAI Fine-tuned
  • GM OpenAI GPT-4 with Few-Shot Learning
  • GM OpenAI GPT-4 with Zero-Shot Learning
  • GM OpenAI GPT-4 with Ontologies/RAG

Anyone can suggest a new way (workflow, method, technique) to generate videos.

Platforms

API

Generative Manim will be available with a REST API.

  • Create /code-to-video endpoint (Ready)
  • Create /text-to-code endpoint (To be enhanced)
    • Add an option to switch between different GM engines (e.g. DSL, Ontologies, etc.)
    • Add first model (the simplest one, using GPT-4 with few-shot training and zero shot learning)

LangChain Integration

  • Create a package over LangChain?

GPT / Chatbot

  • OpenAPI YAML file with API endpoints

Streamlit

  • New OpenAI API Key
  • Integrate new system to detect possible errors on Streamlit

Testing

  • Define how to test the results of GM engines, in order to choose the best. From the best engine that makes the best result, to the best engine with the lowest usage of tokens.

The App Starts Rendering with Partial Code

Your app is good and to some extent, brilliant.
However, it seems Streamlit starts rendering having only received partial code, and not the complete code for an animation.
This obviously, cause the animation not to render.
Here try this for example:
swing a double pendulum

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.