Wing900/ManimCat
EN: ManimCat: AI-generated math animations from natural language. High-quality Manim rendering with LaTeX support and auto-code fixing. 中: ManimCat:AI 数学动画生成器。支持描述即视频,内置 LaTeX 与代码纠错,让数学动效触手可及。
ManimCat이란?
ManimCat은 수학적 시각화를 생성하기 위한 웹 기반 AI 지원 작업 공간입니다. 자연어 프롬프트(예: "급수 1/4+1/16+…의 기하학적 증명 보여줘")를 입력하면 백그라운드에서 LLM이 장면을 설계하고 적절한 Manim(애니메이션) 또는 matplotlib(정적 플롯) 코드를 작성하며, 코드를 실행하고 수업에 삽입할 수 있는 비디오나 이미지를 반환합니다.
시스템은 주로 두 가지 방식으로 작동합니다:
| 모드 | 사용 시기 | 기능 |
|---|---|---|
| Workflow 모드 | 빠른 그림이나 짧은 비디오가 필요할 때. | 단일 요청이 LLM으로 전송되고 생성된 코드가 렌더링되며 결과가 UI로 스트리밍됩니다. |
| Agent (Studio) 모드 | 대화형의 다단계 세션이 필요할 때 – 시각화 정제, 렌더링 검토, 관련 그림 시리즈 구축 등. | 장기 실행 "스튜디오" 세션이 상태(작업, 실행, 결과)를 유지합니다. 반복하고, 에이전트에게 코드 수정을 요청하고, 렌더링을 승인하고, 전용 작업 공간에서 작업을 구성할 수 있습니다. |
두 모드 모두 두 가지 렌더링 엔진을 지원합니다:
- Manim Community Edition – 타임라인 기반 애니메이션용.
- matplotlib – 정적 차트 및 교육용 그림( "Plot Studio" )용.
작동 방식 (고수준 아키텍처)
User (browser) ──► React UI (Vite + Tailwind) ──► Express/TS backend
│
├─► Bull + Redis queue
│ (job scheduling, retries)
├─► OpenAI‑compatible LLM API
│ (scene design → code generation)
└─► Python runtime
├─► Manim CE (animation)
└─► matplotlib (static)
- 프론트엔드 – 클래식 생성 UI, Studio 작업 공간 및 Plot Studio 도구를 표시하는 최신 React 앱(React 19, Vite)입니다.
- 백엔드 – 생성 요청을 수락하고 Redis 지원 Bull 대기열에 작업을 푸시하며 Server-Sent Events를 통해 상태 업데이트를 스트리밍하는 Node/Express 서비스입니다.
- 렌더링 – Python 컨테이너가 Manim 또는 matplotlib를 실행하고 LaTeX를 컴파일하며 ffmpeg를 사용하여 비디오/오디오 파일을 생성합니다.
- 상태 및 영속성 – 선택적 Supabase 테이블이 세션 기록을 저장할 수 있습니다. 그 외에는 모든 것이 메모리/Redis에 존재합니다.
- 배포 – Docker(또는 Docker Compose)는 로컬에서 작동합니다. 단일 컨테이너 이미지(
wingflow/manimcat)는 Hugging Face Spaces에 배포할 수 있습니다.
빠른 시작
# Clone and install the Node side
npm install
cd frontend && npm install
# Run locally (frontend + backend)
npm run dev # opens http://localhost:3000
Docker를 선호하는 경우:
docker pull wingflow/manimcat
docker run -p 7860:7860 wingflow/manimcat
UI에서 프롬프트를 입력하고 비디오 또는 이미지를 선택한 다음 생성 진행 상황을 볼 수 있습니다.
누가 유용하게 사용할 수 있나요?
- 교사 및 교육자 – Manim 코드를 작성하지 않고 맞춤형 즉석 수학 애니메이션을 원하는 분.
- 학생 – 입력한 개념에 대한 시각적 설명을 찾는 분.
- 콘텐츠 제작자(YouTube, MOOC) – 수학 중심 시각 자료를 빠르게 프로토타입해야 하는 분.
- 연구자 – 과학적 시각화를 위한 AI 기반 코드 생성을 실험하는 분.
제한 사항 및 유지 관리 참고 사항
- 저자는 취미로 유지 관리하는 사람이므로 이슈/PR 응답 시간이 느릴 수 있습니다.
- Studio 모드는 아직 성숙 중입니다. 애니메이션 중심의 "Manim Studio"는 Plot Studio보다 기능이 덜 완성되었습니다.
- LLM 부분에는 OpenAI 호환 모델(또는 다른 공급자)에 대한 액세스가 필요합니다. 프로젝트는 구성 훅을 제공하지만 모델은 포함하지 않습니다.
- 렌더링된 비디오의 영구 저장에는 외부 볼륨 처리가 필요합니다 – 그렇지 않으면 재빌드 시 삭제됩니다.
라이선스
AGPL‑3.0‑or‑later. manim-video-generator(MIT)의 타사 코드는 다시 작성되거나 원래 저작자 표시 아래에 유지됩니다.
요약: ManimCat은 자연어 수학 프롬프트를 Manim과 matplotlib를 사용하여 애니메이션 또는 정적 시각 자료로 변환하는 AI 증강 이중 모드 웹 앱으로, 반복적이고 협력적인 생성을 위한 더 풍부한 "Studio" 경험을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트