6.1 KiB
6.1 KiB
AI Comic Generator
一个基于 AI 的全流程漫画创作辅助工具,集成了故事生成、分镜拆解、角色设定、一致性控制和批量绘图功能。
✨ 核心理念
- JSON 驱动的工作流: 本项目的核心思想是通过结构化的 JSON 数据来管理整个漫画创作流程。从故事大纲到角色设定,再到分镜细节,所有内容都以 JSON 格式存储和处理。这确保了数据的一致性、版本控制能力,以及与 AI 模型的高效集成。
- 全局配置 (Global Config JSON): 一个集中式的配置系统,用于掌控整个项目的艺术方向。
- 风格一致性: 定义全局画风(如“赛博朋克”、“水墨风”)、画幅比例和色调,确保生成的所有分镜都遵循统一的视觉语言。
- 角色与布局控制: 管理全局角色特征和分镜布局偏好(如分镜间距、边框样式)。
- 动态同步: 对全局配置的修改会自动同步应用到所有分镜中,无需手动逐格调整,即可快速迭代整体风格。
✨ 核心功能
- 项目管理: 支持多项目管理,每个项目独立保存故事、角色和分镜数据。
- 智能编剧: 输入简单的故事点子,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 目录:
cd backend
创建虚拟环境并安装依赖:
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
pip install -r requirements.txt
使用 Alembic 初始化数据库:
# 初始化 alembic (如果尚未初始化)
alembic init alembic
# 生成迁移脚本
alembic revision --autogenerate -m "Initial migration"
# 应用迁移到数据库
alembic upgrade head
启动后端服务:
# Windows (使用提供的脚本)
..\start_backend.bat
# 或者手动运行
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
2. 前端配置
进入 frontend 目录:
cd frontend
安装依赖:
pnpm install
启动前端服务:
# Windows (使用提供的脚本)
..\start_frontend.bat
# 或者手动运行
pnpm dev
访问浏览器:http://localhost:5173
📖 使用指南
-
配置模型:
- 在顶部导航栏点击 "Models"。
- 添加新的配置并填入你的 Google API Key。
- 确保模型类型设置正确(Text/Image)并已启用。
-
创建项目: 在首页点击“新建项目”,输入漫画标题和简介。
-
故事与配置:
- 输入你的故事大纲。
- 设置全局风格(如“日系少年漫”)、画幅比例等。
- 点击“生成分镜配置”,AI 将生成角色表和分镜脚本。
-
角色工坊:
- 查看 AI 生成的角色设定。
- 点击“绘制”生成角色立绘。
- 如有重复角色,使用“合并角色”功能进行清理。
-
分镜编辑:
- 在分镜列表中检查每一格的描述。
- 点击“生成图片”或“一键生成所有”开始绘制漫画。
- 点击图片可查看大图,支持下载。
🖼️ 示例展示
您可以在 example/ 目录中找到一个完整的示例项目,包含故事脚本、角色设定图和生成的分镜画面。
角色设定
漫画分镜
📁 目录结构
aImanhua/
├── backend/ # FastAPI 后端
│ ├── app/ # 应用代码
│ ├── static/ # 生成的图片和临时文件存储
│ └── ...
├── frontend/ # Vue3 Frontend
│ ├── src/ # 页面与组件
│ └── ...
└── ...
📝 License
MIT License









