English | 中文说明 | Español | Deutsch | 한국어
🎨 Videos generativos con GPT-4o. Concepto. ⚡️ ¡Únete a nuestro servidor de Discord aquí!
Generative Manim (GM) es un conjunto de herramientas que te permite crear videos con Manim usando LLMs (Modelos de Lenguaje de Gran Escala) como GPT-4 o Claude. La idea es permitir que cualquier persona pueda crear animaciones maravillosas a partir de texto ✨.
Comenzó como un prototipo de una aplicación web que usa GPT-4 para generar videos con Manim. La idea detrás de este proyecto es aprovechar el poder de los LLMs en programación, la comprensión del lenguaje humano y las capacidades de animación de Manim para generar una herramienta que cualquier persona pueda usar para crear videos. Independientemente de sus habilidades de programación o edición de video.
- 🖐️ Demo de Generative Manim: ¡Prueba la demo de Generative Manim!
- 🔬 API de Generative Manim: Construye sobre la Interfaz de Procesamiento de Animaciones, o API.
- ☁️ Guía de Despliegue en la Nube: Despliega la API en Render u otra plataforma cloud basada en Docker.
- 🧑💻 Desarrolladores de Generative Manim: ¡Únete a nuestro servidor de Discord, aprende cosas nuevas, comparte tus creaciones y más!
- 🍎 Generative Manim Streamlit (Legado): Primera exploración de LLMs y Animación.
Los modelos son el núcleo de Generative Manim. Un modelo es una forma de convertir texto en código, que luego puede renderizarse en un video.
| Nombre | Descripción | Motor | Fase |
|---|---|---|---|
| GM GPT-5.5 | El modelo de frontera más reciente de OpenAI para trabajo profesional y de código | gpt-5.5 | ✅ |
| GM GPT-4o | Último modelo GPT de OpenAI impulsado por un System Prompt personalizado | GPT-4o | ✅ |
| GM GPT-3.5 Fine Tuned | Primer modelo ajustado fino de GPT-3.5 | GPT-3.5 | ✅ |
| GM GPT-3.5 Physics Fine Tuned | Modelo GPT-3.5 ajustado fino para generar animaciones de Física | GPT-3.5 | ✅ |
| GM Claude Sonnet | Modelo Claude Sonnet 3 adaptado con nuestro System Prompt personalizado | claude-3-sonnet-20240229 | ✅ |
| GM Claude Sonnet 3.5 | Modelo Claude Sonnet 3.5 adaptado con nuestro System Prompt personalizado | claude-3-5-sonnet-20240620 | ✅ |
| GM Featherless Open Models | Acceso compatible con OpenAI a modelos de código abierto alojados via Featherless | Qwen, DeepSeek, CodeLlama, etc. | ✅ |
| GM Gemini 2.5 Flash | Gemini 2.5 Flash de Google accedido via google-genai SDK | gemini-2.5-flash | ✅ |
| GM Gemini 3 Flash | Vista previa de Gemini 3 Flash de Google accedido via google-genai SDK | gemini-3-flash-preview | ✅ |
| GM Qwen 2.5 Coder 7B | Modelo de código abierto ajustado fino con pipeline SFT + DPO + GRPO | Qwen2.5-Coder-7B-Instruct | 🚧 |
| GM DeepSeek Coder V2 Lite | Modelo de código abierto ajustado fino con pipeline SFT + DPO + GRPO | DeepSeek-Coder-V2-Lite | 🚧 |
| GM CodeLlama 7B | Modelo de código abierto ajustado fino con pipeline SFT + DPO + GRPO | CodeLlama-7b-Instruct | 🚧 |
Si quieres sugerir un nuevo modelo, por favor abre un issue en el repositorio o habla con nosotros en nuestro servidor de Discord.
Estamos entrenando modelos de código abierto para generar código Manim usando un pipeline de 3 etapas que destila de GPT-4o:
- SFT (Ajuste Fino Supervisado): Entrena en más de 5,000 pares prompt→código validados
- DPO (Optimización Directa de Preferencias): Aprende de pares de éxito/fallo de renderizado
- GRPO (Optimización de Política Relativa de Grupo): RL con el renderizador de Manim como señal de recompensa determinista
La clave: Manim es un verificador determinista: el código o se renderiza o falla. Esto reemplaza la necesidad de un modelo de recompensa, similar a como DeepSeek-R1 usa verificadores de respuestas matemáticas.
Modelos base: Qwen 2.5 Coder 7B, DeepSeek Coder V2 Lite, CodeLlama 7B. Todos usan QLoRA (4-bit) para caber en las GPUs T4 de Kaggle gratuitas.
Generative Manim ahora incluye un MVP de benchmark ejecutable para generación experta de código Manim en training/benchmarks.
El benchmark está construido sobre las primitivas correctas para evaluación de programación:
- un conjunto de tareas fijo
- puntuación basada en renderizado
- comprobaciones estructurales específicas de Manim
- pass@k para generación de código estocástica
- informes JSONL y JSON reproducibles
Comienza aquí:
cd training
python -m benchmarks.run export \
--suite benchmarks/tasks/core_v1.jsonl \
--output ./outputs/benchmarks/core_v1_prompts.jsonlLuego usa el archivo de prompts generado con python -m eval.generate_responses ..., o ejecuta el flujo completo con:
bash ./scripts/run_benchmark.sh qwen2.5-coder-7b ./outputs/grpo/qwen2.5-coder-7b benchmarks/tasks/core_v1.jsonl grpo 5 0.8 1,5Consulta training/benchmarks/README.md para el diseño y flujo de trabajo del benchmark.
Una vez que tengas múltiples ejecuciones del benchmark, compáralas con:
cd training
python -m benchmarks.compare --results-dir ./outputs/benchmarks --suite core_v1O ejecuta una matriz de benchmarks completa desde un manifiesto:
cd training
python -m benchmarks.matrix --manifest benchmarks/manifests/open_source_core_v1.json --dry-runTambién puedes hacer benchmark de modelos de código abierto alojados a través de Featherless:
export FEATHERLESS_API_KEY="your-featherless-key"
cd training
python -m benchmarks.matrix --manifest benchmarks/manifests/featherless_core_v1.json --only qwen2.5-coder-7b-instruct-featherlessConsulta docs/featherless.md para el uso de la API, pruebas de humo y el flujo de trabajo completo del benchmark de Featherless.
Generative Manim está actualmente patrocinado por The Astronomical Software Company.
¡Gracias a todos los que han contribuido a Generative Manim!
| Colaborador | Contribución |
|---|---|
| @abdullahsohaill | Añadir soporte para Gemini 2.5 Flash y Gemini 3 Flash via google-genai |
| @tranquac | Corregir vulnerabilidad de inyección de comandos en la exportación de video ffmpeg |
| @Wing900 | Añadir traducción del README al chino |
Generative Manim es un proyecto de código abierto.
Si quieres ser el autor de una nueva funcionalidad, corregir un bug o contribuir con algo nuevo.
Haz un fork del repositorio y realiza los cambios que desees. Las Pull requests son bienvenidas. Recuerda que también puedes unirte a nuestro servidor de Discord para discutir nuevas funcionalidades, bugs o cualquier otro tema.

