🎬 动画生成器
一个智能动画生成系统,使用Manim将自然语言描述转换为数学动画。该系统由Azure OpenAI支持的Streamlit web界面和用于动画渲染的FastMCP服务器组成。
🏗️ 建筑
Streamlit App (Cloud)
↓ (Natural Language)
Azure OpenAI API (Converts to Manim Code)
↓ (Manim Code)
FastMCP Server (Renders Animation)
↓ (Video)
Streamlit App (Displays Result)📋 先决条件
- Python 3.9或更高版本
- Azure OpenAI API密钥和终结点
- FastMCP云帐户(用于部署)
- GitHub帐户(用于代码托管)
🚀 快速入门-本地测试
1.安装依赖项
# Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements-mcp.txt
pip install -r requirements-streamlit.txt2.配置环境
创建 .env 文件:
AZURE_OPENAI_API_KEY=your_api_key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name
AZURE_OPENAI_API_VERSION=2024-12-01-preview
MCP_SERVER_URL=http://localhost:80003.本地运行
终端1-MCP服务器:
python mcp_server.py2号航站楼-Streamlit应用程序:
streamlit run streamlit_app.py🌐 云部署
部署到FastMCP云
- 将代码推送到GitHub:
git push origin main- 转到FastMCP云仪表板:https://cloud.fastmcp.io
- 从GitHub存储库创建新部署
- 获取部署URL(例如。,
https://manim-mcp-server.fastmcp.io)
- 更新Streamlit Cloud机密:
MCP_SERVER_URL = https://your-deployment-url.fastmcp.io将Streamlit应用程序部署到Streamlit云
- 将代码推送到GitHub
- 首选https://share.streamlit.io
- 连接您的存储库
- 在部署设置中添加机密:
AZURE_OPENAI_API_KEY = your_key
AZURE_OPENAI_ENDPOINT = your_endpoint
AZURE_OPENAI_DEPLOYMENT_NAME = your_deployment
MCP_SERVER_URL = https://your-mcp-server-url.fastmcp.io该应用程序将在您的浏览器中打开 http://localhost:8501
🌐 部署
📁 项目结构
MCPproject/
├── streamlit_app.py # Streamlit UI
├── mcp_server.py # MCP Server with FastAPI
├── requirements-mcp.txt # MCP Server dependencies
├── requirements-streamlit.txt # Streamlit dependencies
├── mcpconfig.json # FastMCP configuration
├── .streamlit/
│ └── config.toml # Streamlit settings
├── .gitignore # Git ignore (protects .env)
├── .env # Local secrets (not in git)
└── README.md # This file🔑 主要特点
- 自然语言输入:用简单的英语描述动画
- AI驱动:使用Azure OpenAI将文本转换为Manim代码
- 即时渲染:FastMCP服务器快速生成视频
- 网络界面:简洁的Streamlit UI,便于交互
- 云就绪:部署在Streamlit Cloud+FastMCP Cloud上
📝 用法示例
- 打开Streamlit应用程序
- 输入:“创建一个可以变成正方形的圆”
- 点击“生成动画”
- 查看并下载生成的视频
🔐 安全
.env文件被gitignored(机密从未推送到GitHub)- 将Streamlit Cloud机密用于生产
- 为MCP服务器使用FastMCP Cloud机密
🛠️ 环境变量
# Azure OpenAI
AZURE_OPENAI_API_KEY # Your API key
AZURE_OPENAI_ENDPOINT # Your endpoint URL
AZURE_OPENAI_DEPLOYMENT_NAME # Deployment name
AZURE_OPENAI_API_VERSION # API version (2024-12-01-preview)
# MCP Server
MCP_SERVER_URL # URL of FastMCP server📚 文档
- 马尼姆: https://docs.manim.community/
- 溪流: https://docs.streamlit.io/
- FastMCP: https://docs.fastmcp.io/
- Azure OpenAI: https://learn.microsoft.com/en-us/azure/ai-services/openai/
🚀 部署链接
- 流光云:https://share.streamlit.io
- FastMCP云:https://cloud.fastmcp.io
- github:https://github.com/kavsrd13/ManimMCPServer
📧 支持
对于问题:
- 检查相应仪表板中的错误日志
- 查看Manim文档了解动画语法
- 验证API凭据是否正确
______________________________________________________________________
使用Azure OpenAI+FastMCP+Manim+Streamlit构建 🎨
