149 lines
4.0 KiB
Markdown
149 lines
4.0 KiB
Markdown
# AI Comic Generator
|
||
|
||
[English](./README.md) | [中文](./README_CN.md)
|
||
|
||
一个基于 AI 的全流程漫画创作辅助工具,集成了故事生成、分镜拆解、角色设定、一致性控制和批量绘图功能。
|
||
|
||

|
||

|
||

|
||
|
||
## ✨ 核心功能
|
||
|
||
* **项目管理**: 支持多项目管理,每个项目独立保存故事、角色和分镜数据。
|
||
* **智能编剧**: 输入简单的故事点子,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
|