# AI Comic Generator [English](./README.md) | [中文](./README_CN.md) 一个基于 AI 的全流程漫画创作辅助工具,集成了故事生成、分镜拆解、角色设定、一致性控制和批量绘图功能。 ![Project Status](https://img.shields.io/badge/Status-Active-success) ![Python](https://img.shields.io/badge/Backend-FastAPI-blue) ![Vue](https://img.shields.io/badge/Frontend-Vue3-green) ## ✨ 核心功能 * **项目管理**: 支持多项目管理,每个项目独立保存故事、角色和分镜数据。 * **智能编剧**: 输入简单的故事点子,AI 自动扩充情节并拆分为专业的漫画分镜脚本 (JSON 格式)。 * **角色工坊**: * 自动从故事中提取角色并生成详细的人物设定(三视图)。 * **角色一致性**: 绘图时自动引用角色设定图作为参考(Image-to-Image)。 * **合并与去重**: 支持手动合并重复生成的角色(如“马管家”和“马老”)。 * **分镜编辑器**: * 可视化编辑每一格分镜的提示词、角色和动作。 * 支持单格重绘、批量生成。 * **上下文感知**: 生成分镜时自动读取前序分镜和角色图,保持画风和剧情连贯性。 * **风格控制**: * 全局风格配置(如“赛博朋克”、“水墨风”),强制 AI 遵循设定。 * 支持自定义对话框、边框样式。 * **后台任务**: 耗时的批量生图任务在后台运行,支持进度实时查看。 ## 🛠️ 技术栈 ### Backend (后端) * **Framework**: FastAPI * **Database**: SQLite + SQLModel * **AI Service**: Google Gemini (目前仅支持 Google 最新模型) * **文本模型**: `gemini-3-flash-preview` * **图像模型**: `gemini-3-pro-image-preview` * **Task Queue**: FastAPI BackgroundTasks ### Frontend (前端) * **Framework**: Vue 3 + Vite * **UI Library**: Element Plus * **State Management**: Pinia * **HTTP Client**: Axios * **Package Manager**: pnpm ## 🚀 快速开始 ### 前置要求 * Python 3.9+ * Node.js 16+ * pnpm * Google Cloud API Key (需开通 Gemini API 权限) ### 1. 后端配置 进入 `backend` 目录: ```bash cd backend ``` 创建虚拟环境并安装依赖: ```bash python -m venv .venv # Windows .\.venv\Scripts\activate # Linux/Mac source .venv/bin/activate pip install -r requirements.txt ``` 创建 `.env` 文件并填入 API Key: ```ini # backend/.env GOOGLE_API_KEY="your_google_api_key_here" ``` 启动后端服务: ```bash # Windows (使用提供的脚本) ..\start_backend.bat # 或者手动运行 uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` ### 2. 前端配置 进入 `frontend` 目录: ```bash cd frontend ``` 安装依赖: ```bash pnpm install ``` 启动前端服务: ```bash # Windows (使用提供的脚本) ..\start_frontend.bat # 或者手动运行 pnpm dev ``` 访问浏览器:`http://localhost:5173` ## 📖 使用指南 1. **创建项目**: 在首页点击“新建项目”,输入漫画标题和简介。 2. **故事与配置**: * 输入你的故事大纲。 * 设置全局风格(如“日系少年漫”)、画幅比例等。 * 点击“生成分镜配置”,AI 将生成角色表和分镜脚本。 3. **角色工坊**: * 查看 AI 生成的角色设定。 * 点击“绘制”生成角色立绘。 * 如有重复角色,使用“合并角色”功能进行清理。 4. **分镜编辑**: * 在分镜列表中检查每一格的描述。 * 点击“生成图片”或“一键生成所有”开始绘制漫画。 * 点击图片可查看大图,支持下载。 ## 📁 目录结构 ``` aImanhua/ ├── backend/ # FastAPI 后端 │ ├── app/ # 应用代码 │ ├── static/ # 生成的图片和临时文件存储 │ └── ... ├── frontend/ # Vue3 Frontend │ ├── src/ # 页面与组件 │ └── ... └── ... ``` ## 📝 License MIT License