# generate-resources **Repository Path**: 2lin/generate-resources ## Basic Information - **Project Name**: generate-resources - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-21 - **Last Updated**: 2025-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Luma AI 视频生成工具 基于 Luma Dream Machine API 的视频生成应用,采用 **Vue.js + Python FastAPI** 前后端分离架构。 ## 🎯 功能特性 - ✅ 文字转视频 (Text-to-Video) - ✅ 图片转视频 (Image-to-Video) - ✅ 实时任务状态跟踪 - ✅ 视频预览和下载 - ✅ 响应式 UI 设计 - ✅ 自动 API 文档 (Swagger UI) - ✅ IIS 生产部署支持 ## 📁 项目结构 ``` generate-resources/ ├── client/ # Vue 前端 │ ├── src/ │ │ ├── components/ # Vue 组件 │ │ ├── api/ # API 封装 │ │ └── assets/ # 样式资源 │ └── vue.config.js # Vue 配置 + 代理 │ ├── server/ # Python FastAPI 后端 │ ├── main.py # 应用入口 │ ├── requirements.txt # Python 依赖 │ ├── services/ # 服务层 │ └── utils/ # 工具函数 │ ├── start-dev.ps1 # 开发启动脚本 ├── deploy-python.ps1 # 生产部署脚本 └── web.config # IIS 配置 ``` ## 🚀 快速开始 ### 环境要求 - Python 3.8+ - Node.js 14+ ### 1. 安装依赖 ```bash # Python 后端 cd server pip install -r requirements.txt # Vue 前端 cd ../client npm install ``` ### 2. 配置环境变量 ```bash cd server cp .env.example .env # 编辑 .env,填入 LUMAAI_API_KEY ``` 获取 API Key: https://lumalabs.ai/dream-machine/api/keys ### 3. 启动服务 #### 方式一:一键启动(推荐) ```powershell .\start-dev.ps1 ``` #### 方式二:手动启动 ```bash # 后端 cd server python main.py # 前端(新终端) cd client npm run serve ``` ### 4. 访问应用 - 🌐 **前端**: http://localhost:8080 - 🔌 **后端 API**: http://localhost:3000 - 📖 **API 文档**: http://localhost:3000/docs ## 🏗️ 技术栈 **前端:** - Vue.js 2.6 - Axios - 原生 CSS **后端:** - Python 3.8+ - FastAPI (Web 框架) - Uvicorn (ASGI 服务器) - Luma AI Python SDK - HTTPX (异步 HTTP 客户端) **部署:** - IIS + URL Rewrite - PM2 / Gunicorn ## 📦 生产部署 ### 自动化部署 ```powershell .\deploy-python.ps1 ``` ### 手动部署 1. **构建前端** ```bash cd client npm run build ``` 2. **配置 IIS** - 站点根目录: `client/dist` - 复制 `web.config` 到 `dist` 目录 3. **启动 Python 后端** ```bash cd server # 使用 PM2 pm2 start "uvicorn main:app --host 0.0.0.0 --port 3000" --name luma-api # 或使用 Gunicorn (推荐生产环境) pip install gunicorn pm2 start "gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:3000" --name luma-api ``` 详见 [IIS 部署文档](IIS_DEPLOY.md) ## 📖 API 接口 ### POST /api/text-to-video 文字转视频 **请求:** ```json { "promptText": "A teddy bear in sunglasses playing guitar", "model": "ray-2", "ratio": "16:9", "resolution": "720p", "duration": 5 } ``` ### POST /api/image-to-video 图片转视频 **FormData:** - `image`: 图片文件 - `promptText`: 提示词(可选) - `model`: 模型 - `ratio`: 比例 - `resolution`: 分辨率 - `duration`: 时长 ### GET /api/task/{taskId} 查询任务状态 ### GET /docs Swagger UI - 交互式 API 文档 ## 🔒 环境变量 | 变量 | 说明 | 必需 | |------|------|------| | `LUMAAI_API_KEY` | Luma AI API 密钥 | ✅ | | `PORT` | 后端端口 | ❌ (默认 3000) | | `NODE_ENV` | 环境模式 | ❌ | ## 📚 文档 - [Python 后端指南](PYTHON_BACKEND_GUIDE.md) - 详细的后端文档 - [快速开始指南](QUICK_START.md) - 完整的开始指南 - [IIS 部署文档](IIS_DEPLOY.md) - IIS 部署说明 - [server/README.md](server/README.md) - 后端技术文档 ## 🐛 常见问题 **Q: 如何查看 API 文档?** 访问 http://localhost:3000/docs 查看 Swagger UI **Q: Python 虚拟环境如何使用?** ```bash cd server python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt ``` **Q: 如何使用多进程部署?** ```bash cd server pip install gunicorn gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:3000 ``` **Q: 前端无法连接后端?** - 确保后端运行在 `localhost:3000` - 检查 `client/vue.config.js` 代理配置 - 重启前端开发服务器 **Q: IIS 部署后 API 404?** - 安装 URL Rewrite 和 ARR 模块 - 启用 ARR 代理功能 - 确认 Python 后端正在运行 (`pm2 list`) - 检查 `web.config` 在 `dist` 目录 ## 🛠️ 开发命令 ```bash # Python 后端 cd server python main.py # 启动服务 uvicorn main:app --reload # 热重载开发 # Vue 前端 cd client npm run serve # 开发服务器 npm run build # 生产构建 # 部署 .\deploy-python.ps1 # 完整部署 # PM2 pm2 list # 查看进程 pm2 logs luma-api # 查看日志 pm2 restart luma-api # 重启服务 ``` ## ✨ 为什么选择 Python FastAPI 1. ✅ **性能优异** - 与 Node.js 相当,甚至更快 2. ✅ **自动文档** - Swagger UI 和 ReDoc 开箱即用 3. ✅ **类型安全** - Pydantic 自动数据验证 4. ✅ **异步支持** - 原生 async/await 5. ✅ **开发效率** - 代码简洁清晰 6. ✅ **生态丰富** - Python 丰富的数据科学生态 ## 📝 License MIT ## 🙏 致谢 - [Luma AI](https://lumalabs.ai) - Dream Machine API - [FastAPI](https://fastapi.tiangolo.com) - 现代 Python Web 框架 - [Vue.js](https://vuejs.org) - 渐进式 JavaScript 框架