# AI图片生成器 一款基于AI技术的批量图片生成web应用,支持文生图和图片编辑功能。 ## 🌟 功能特点 - **文生图功能**: 根据文字描述生成高质量图片 - **图片编辑**: 基于参考图片进行AI编辑和风格转换 - **批量生成**: 支持1-10张图片并发生成 - **实时预览**: 生成过程实时显示,支持部分成功场景 - **提示词管理**: 保存和管理常用提示词模板 - **图片操作**: 预览、下载、复制、删除等完整操作 - **响应式设计**: 适配不同屏幕尺寸,优秀的用户体验 ## 🛠 技术架构 - **前端**: HTML + CSS + JavaScript (原生) - **后端**: Python Flask - **数据库**: SQLite - **AI模型**: NanoBanana (gemini-3-pro-image-preview) - **部署**: 统一部署在 0.0.0.0:7700 端口 ## 📁 项目结构 ``` new_image_generate/ ├── frontend/ # 前端代码 │ ├── pages/ # 页面文件 │ │ └── index.html # 主页面 │ ├── components/ # 组件文件 │ │ ├── image-generator.js # 图片生成组件 │ │ ├── prompt-manager.js # 提示词管理组件 │ │ └── image-gallery.js # 图片展示组件 │ ├── utils/ # 工具函数 │ │ ├── api.js # API调用工具 │ │ └── image-utils.js # 图片处理工具 │ └── assets/ # 静态资源 │ └── style.css # 样式文件 ├── backend/ # 后端代码 │ ├── apis/ # API接口文件 │ │ ├── generate.py # 图片生成接口 │ │ ├── prompts.py # 提示词管理接口 │ │ ├── history.py # 历史记录接口 │ │ └── upload.py # 文件上传接口 │ ├── models/ # 数据模型 │ │ └── database.py # 数据库操作 │ ├── utils/ # 工具函数 │ │ └── model_client.py # AI模型客户端 │ └── database/ # 数据库文件目录 ├── model_prompt/ # 模型提示词文件 │ ├── text_to_image.txt # 文生图提示词 │ └── image_edit.txt # 图片编辑提示词 ├── logs/ # 日志文件目录 ├── PRD/ # 产品需求文档 ├── run.py # 程序入口 ├── requirements.txt # 依赖包列表 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - **操作系统**: macOS (已测试) - **Python**: 3.7+ - **Conda**: 推荐使用conda管理环境 ### 1. 创建conda环境 ```bash # 创建名为image_server的conda环境 conda create -n image_server python=3.9 # 激活环境 conda activate image_server ``` ### 2. 克隆项目 ```bash git clone <项目地址> cd new_image_generate ``` ### 3. 安装依赖 ```bash # 确保已激活conda环境 conda activate image_server # 安装Python依赖 pip install -r requirements.txt ``` ### 4. 启动服务 ```bash # 启动应用 python run.py ``` ### 5. 访问应用 打开浏览器访问: - **本地访问**: http://localhost:7700 - **网络访问**: http://0.0.0.0:7700 - **健康检查**: http://localhost:7700/health ## 📖 使用说明 ### 基础操作流程 1. **选择模型**: 在左侧面板选择AI生成模型 2. **输入提示词**: 在提示词输入框中描述想要生成的图片 3. **设置参数**: - 图片数量 (1-10张) - 创意度参数 (0-1) 4. **上传参考图片** (可选): 拖拽或点击上传参考图片进行编辑 5. **生成图片**: 点击"生成图片"按钮开始创作 6. **查看结果**: 在右侧区域实时查看生成进度和结果 ### 提示词管理 - **保存提示词**: 输入提示词名称后点击"保存" - **加载提示词**: 从下拉框选择历史提示词 - **删除提示词**: 选择提示词后点击"删除" ### 图片操作 - **查看原图**: 双击图片或点击眼睛图标 - **下载图片**: 点击下载图标保存到本地 - **复制图片**: 点击复制图标复制到剪贴板 - **删除图片**: 点击垃圾桶图标从展示区移除 - **批量下载**: 点击"批量下载"下载所有成功生成的图片 ### 快捷键 - **Ctrl/Cmd + Enter**: 快速生成图片 ## 🔧 配置说明 ### AI模型配置 项目使用NanoBanana模型服务: - **API地址**: https://api.aimindsky.com/v1/chat/completions - **模型名称**: gemini-3-pro-image-preview - **认证方式**: Bearer Token (已内置) ### 数据库配置 - **类型**: SQLite - **位置**: `backend/database/app.db` - **自动初始化**: 首次运行时自动创建表结构 ### 日志配置 - **日志文件**: `logs/app.log` - **轮转策略**: 10MB轮转,保留10个备份文件 - **日志级别**: INFO ## 🐛 故障排除 ### 常见问题 1. **端口占用** ```bash # 检查端口占用 lsof -i :7700 # 杀死占用进程 kill -9 ``` 2. **依赖安装失败** ```bash # 使用conda安装 conda install flask requests pillow # 或更新pip pip install --upgrade pip ``` 3. **数据库错误** ```bash # 删除数据库文件重新初始化 rm backend/database/app.db python run.py ``` 4. **图片生成失败** - 检查网络连接 - 确认API服务可用 - 查看日志文件了解详细错误 ### 环境检查 运行程序时会自动进行环境检查: - Python版本验证 - 必要目录检查 - 依赖包验证 ## 📝 开发说明 ### 代码规范 - 前后端代码严格分离 - 一个接口一个文件 - 一个页面一个文件 - 一个组件一个文件 - 保证代码的鲁棒性和可扩展性 ### API接口 - **POST /api/generate** - 生成图片 - **GET /api/prompts** - 获取提示词列表 - **POST /api/prompts** - 保存提示词 - **DELETE /api/prompts/{id}** - 删除提示词 - **GET /api/history** - 获取生成历史 - **POST /api/upload** - 上传图片文件 ### 扩展开发 1. **添加新模型**: 在`backend/utils/model_client.py`中扩展 2. **新增API**: 在`backend/apis/`目录下创建新文件 3. **前端组件**: 在`frontend/components/`目录下添加 4. **样式修改**: 编辑`frontend/assets/style.css` ## 📄 许可证 本项目仅供学习和研究使用。 ## 🤝 贡献 欢迎提交Issue和Pull Request来改进项目。 ## 📞 支持 如果遇到问题,请: 1. 查看日志文件 `logs/app.log` 2. 检查控制台输出 3. 提交Issue描述问题 --- **注意**: 请确保在使用前已正确配置conda环境并激活 `image_server` 环境。