# Graphic Novel **Repository Path**: dym3093/Graphic-Novel ## Basic Information - **Project Name**: Graphic Novel - **Description**: 根据一篇小说生成相应漫画 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-01-04 - **Last Updated**: 2026-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小说转漫画 AI 应用 基于通义千问(LLM)+ 通义万相(文生图模型)的智能小说转漫画应用。 > **版本**: v2.0 > **更新时间**: 2025年10月23日 > **主要更新**: 优化技术栈,统一使用阿里云技术栈 ## 功能特性 - 📖 **智能文本分析**:使用通义千问自动提取小说情节、人物特征 - 🎨 **多风格漫画生成**:支持日系、国潮、Q版、写实、古风等多种画风 - 🎬 **智能分镜规划**:自动将小说分解为1-12个漫画分镜 - 👥 **人物一致性**:确保同一人物在不同分镜中的形象一致 - 🎯 **场景适配**:支持教育、儿童、商业等不同使用场景 - 📥 **图片下载功能**:自动下载并保存生成的图片到本地 - 🔄 **多API备选**:支持多个免费AI图像生成服务作为备选 - ⚡ **实时进度显示**:生成过程中实时显示进度和状态 ## 技术架构 ### 后端技术栈 - **Flask**: Web框架 - **通义千问**: 文本分析和情节提取 - **通义万相**: 文生图模型(主要) - **多API图像生成**: 支持多个免费AI图像生成服务 - 通义万相文生图 (主要,使用百炼API) - Pollinations AI (免费,稳定备选) - Hugging Face API (免费,需网络) - Replicate API (免费额度) - **图片下载**: 自动下载和本地存储生成的图片 - **Python**: 主要开发语言 ### 前端技术栈 - **HTML5 + CSS3**: 响应式界面 - **JavaScript**: 交互逻辑 - **现代UI设计**: 渐变背景、卡片式布局 ### 图像生成解决方案 - **通义万相文生图**: 主要使用百炼API,高质量图片生成 - **多重备选**: 自动尝试多个API,提高成功率 - **智能降级**: API失败时提供详细指导信息 - **图片下载**: 自动下载并保存到本地,支持用户下载 - **网络优化**: 改进超时处理和错误恢复 ## 安装配置 ### 1. 环境准备 ```bash # 克隆项目 git clone cd novel-to-comic # 安装依赖 pip install -r requirements.txt ``` ### 2. API 密钥配置 #### 通义千问 API 1. 访问 [阿里云DashScope控制台](https://dashscope.console.aliyun.com/) 2. 注册/登录阿里云账号 3. 开通DashScope服务 4. 创建API Key 5. 将API Key填入环境变量 #### 通义万相 API 1. 访问 [阿里云百炼控制台](https://dashscope.console.aliyun.com/) 2. 注册/登录阿里云账号 3. 开通通义万相文生图服务 4. 创建API Key和Secret Key 5. 将密钥填入环境变量 ### 3. 环境变量配置 复制 `env_example.txt` 为 `.env` 并填入您的API密钥: ```bash cp env_example.txt .env ``` 编辑 `.env` 文件: ``` TONGYI_API_KEY=your_actual_tongyi_api_key TONGYI_SECRET_KEY=your_actual_tongyi_secret_key ``` ### 4. 启动应用 ```bash python app.py ``` 访问 http://localhost:5000 即可使用应用。 ## 快速开始 ### 1. 克隆项目 ```bash git clone cd novel-to-comic ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 配置API密钥 ```bash cp env_example.txt .env # 编辑 .env 文件,填入您的API密钥 ``` ### 4. 启动应用 ```bash python app.py ``` ### 5. 使用应用 1. 打开浏览器访问 `http://localhost:5000` 2. 输入小说文本 3. 选择画风和分镜数量(1-12张) 4. 点击"分析文本"按钮 5. 点击"生成漫画"按钮 6. 下载生成的图片 ## 使用说明 ### 基本使用流程 1. **输入小说文本**: 在文本框中粘贴您的小说内容 2. **选择画风**: 选择适合的漫画风格(日系、国潮、Q版等) 3. **设置场景**: 选择目标使用场景(教育、儿童、商业等) 4. **分析文本**: 点击"分析文本"按钮,AI将提取情节和人物信息 5. **生成漫画**: 点击"生成漫画"按钮,AI将生成对应的漫画分镜 ### 支持的功能 - ✅ 自动情节分析 - ✅ 人物特征提取 - ✅ 智能分镜规划 - ✅ 多风格漫画生成 - ✅ 人物一致性保证 - ✅ 实时生成进度显示 ## API 接口说明 ### 文本分析接口 ``` POST /api/analyze Content-Type: application/json { "text": "小说文本内容", "style": "日系", "target_scene": "教育" } ``` ### 漫画生成接口 ``` POST /api/generate Content-Type: application/json { "panels": [分镜数据], "style": "日系", "characters": [人物数据] } ``` ### 健康检查接口 ``` GET /api/health ``` ## 项目结构 ``` novel-to-comic/ ├── app.py # 主应用文件 ├── requirements.txt # Python依赖 ├── env_example.txt # 环境变量示例 ├── README.md # 项目说明 ├── templates/ │ └── index.html # 前端页面 └── 开发说明文档.txt # 详细开发文档 ``` ## 开发说明 ### 核心模块 1. **文本解析模块** (`parse_novel_text`) - 使用通义千问分析小说文本 - 提取人物特征和关键情节 - 生成分镜规划 2. **图像生成模块** (`generate_comic_panel`) - 调用通义万相API生成漫画 - 保证人物一致性 - 支持多种画风 3. **前端交互模块** - 响应式用户界面 - 实时进度显示 - 结果展示和编辑 ### 扩展功能 - 🎵 **语音旁白生成**:为漫画添加TTS语音 - 🎮 **互动元素**:支持点击交互和分支情节 - 📱 **多格式导出**:PDF、长图、表情包等 - 👥 **协作平台**:作者与爱好者协作创作 ## 故障排除 ### 常见问题及解决方案 #### 1. 图片生成失败 **问题**: 出现 "Hugging Face API异常: Connection timeout" 等错误 **解决方案**: - 检查网络连接,尝试使用VPN或代理 - 应用会自动尝试多个API,请耐心等待 - 如果所有API都失败,会提供详细的图片生成指导 #### 2. API调用失败 **问题**: 通义千问或通义万相API调用失败 **解决方案**: - 检查API密钥是否正确配置 - 确认API服务是否正常 - 检查网络连接和防火墙设置 - 确保已开通通义万相文生图服务 #### 3. 测试应用功能 运行测试脚本检查应用状态: ```bash python test_complete_flow.py ``` #### 4. 图片下载功能 - 生成的图片会自动下载到 `static/images/` 目录 - 支持通过网页直接下载图片 - 提供原图下载和本地文件下载两种方式 ## 注意事项 1. **API调用成本**:每次生成都会调用AI服务,请注意使用量 2. **网络要求**:需要稳定的网络连接访问AI服务 3. **文本长度**:建议单次输入不超过5000字,避免超时 4. **生成时间**:每格漫画生成需要10-20秒,请耐心等待 5. **免费API限制**:免费API可能有速率限制,建议合理使用 ## 技术支持 如有问题,请检查: 1. API密钥是否正确配置 2. 网络连接是否正常 3. 服务是否正常运行 4. 查看控制台输出的详细错误信息 ## 许可证 MIT License