# EasyI2VTools **Repository Path**: titipo/easy-i2-vtools ## Basic Information - **Project Name**: EasyI2VTools - **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-08-22 - **Last Updated**: 2025-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Easy I2V Tools - 图生视频工具 ## 项目简介 Easy I2V Tools 是一个基于Web的图生视频工具,支持用户上传图片并生成视频。系统采用前后端分离架构,提供友好的移动端界面。 ## 主要功能 - 📱 移动端友好的Web界面 - 🖼️ 图片上传功能 - ✍️ 文本提示词编辑 - 🎬 视频生成任务提交 - 📋 任务历史状态查看 - 📥 视频下载功能 - 🔄 实时状态更新 ## 技术栈 - **前端**: HTML5, CSS3, JavaScript (原生) - **后端**: Python FastAPI - **文件存储**: 本地文件系统 - **API**: RESTful API设计 ## 项目结构 ``` easy-i2-vtools/ ├── static/ # 静态文件 │ ├── css/ # 样式文件 │ ├── js/ # JavaScript文件 │ └── images/ # 图片资源 ├── templates/ # HTML模板 ├── uploads/ # 用户上传文件 │ ├── images/ # 上传的图片 │ └── videos/ # 生成的视频 ├── config/ # 配置文件 ├── logs/ # 日志文件 ├── main.py # 主应用文件 ├── requirements.txt # Python依赖 └── README.md # 项目说明 ``` ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置API密钥 在 `config/app_config.yaml` 中配置API密钥: ```yaml image_to_video: remote_api: enabled: true api_keys: - key: "your_api_key_here" name: "您的API密钥" enabled: true ``` ### 3. 启动应用 ```bash python main.py ``` ### 4. 访问应用 打开浏览器访问: http://localhost:8000 ## API文档 启动应用后,访问 http://localhost:8000/docs 查看完整的API文档。 ## 使用说明 1. **上传图片**: 点击上传区域选择图片文件 2. **编辑提示词**: 在文本框中输入视频生成提示词 3. **提交任务**: 点击"生成视频"按钮提交任务 4. **查看状态**: 在右侧历史列表中查看任务状态 5. **下载视频**: 任务完成后可下载生成的视频 ## 开发日志 ### 2024-01-XX - 初始版本 **会话主要目的**: 创建图生视频Web应用 **完成的主要任务**: - 创建项目基础结构 - 实现移动端友好的Web界面 - 集成图片上传和文本编辑功能 - 实现任务历史状态显示 - 添加视频下载功能 - 实现完整的API接口(支持远程处理) - 添加拖拽上传和实时状态更新 - 创建测试脚本和启动脚本 - 修复API接口缺失问题 - 实现数据持久化功能(解决任务丢失问题) **关键决策和解决方案**: - 采用原生HTML/CSS/JS技术栈,确保轻量级和兼容性 - 使用Flexbox布局实现响应式设计,完美适配移动端 - 实现文件拖拽上传功能提升用户体验 - 采用轮询机制实现实时状态更新(替代WebSocket以简化部署) - 使用FastAPI构建高性能后端API - 实现完整的远程API接口,支持朋友机器处理视频生成 - 采用YAML配置文件管理应用设置 - 实现JSON文件数据持久化,解决应用重启后任务丢失问题 - 添加完整的错误处理和状态管理机制 **使用的技术栈**: - 前端: HTML5, CSS3, JavaScript (原生) - 后端: Python FastAPI - 文件处理: Python标准库 + aiofiles - 配置管理: YAML - 静态文件服务: FastAPI StaticFiles - 模板引擎: Jinja2Templates **修改的文件**: - `README.md` - 项目说明文档 - `requirements.txt` - Python依赖文件 - `config/app_config.yaml` - 应用配置文件 - `main.py` - FastAPI主应用文件(修复了缺失的API接口,添加了数据持久化,修复了JSON模块导入) - `templates/index.html` - 主页HTML模板 - `static/css/style.css` - 移动端友好样式 - `static/js/app.js` - 前端JavaScript逻辑 - `start.py` - 应用启动脚本 - `test_api.py` - API测试脚本 - `test_persistence.py` - 数据持久化测试脚本 - `test_json_fix.py` - JSON修复验证测试 - `.gitignore` - Git忽略文件 **项目特性**: - 📱 完全响应式设计,完美适配手机端 - 🖼️ 支持拖拽上传图片 - ✍️ 实时提示词编辑 - 🎬 一键生成视频任务 - 📋 实时任务状态监控 - 📥 批量视频下载 - 🔄 自动刷新任务状态 - 🔐 安全的API密钥验证 - 📊 完整的任务历史记录 - 🧪 内置API测试工具