1.前言:


最近刷短视频的时候,发现越来越多人开始做 AI 漫剧,而且整体质量越来越高。从剧本生成、角色设定,到分镜、配音、剪辑,很多环节都已经可以借助 AI 完成。

于是我就在想:这些流程能不能全部串联起来,实现一套自动化工作流?

本着"能写代码就尽量不用手点"的原则,我决定用 Python + DeepSeek 搭建一套 AI 漫剧生产流程,尽可能减少人工操作,提高创作效率。

本文将从零开始,分享整个工作流的设计思路、核心代码以及实际效果,希望能给同样感兴趣的朋友一些参考。

2.项目展示

首先上图,输入关键字,就可以生成大纲、然后再生成完整故事。再生成一个制作包。直接喂给即梦就可以。

下面是故事的截图,几万多个字,当然还可以继续调大,我这边暂且时生成了30章,内容很充足

下面是直接喂给ai的视频制作,可以做的更详细,先展示

有兴趣看我制作的一个demo,可以前往我b站看,稍等发连接。

3.项目解析

# 🎬 AI 漫剧工作流

> 基于 AI 的短剧文字创作工作流平台:从关键词到完整故事、分镜脚本,一站式完成。

## ✨ 核心功能

### 📝 故事创作流水线
- **关键词 → 故事大纲**:输入关键词,AI 生成完整故事大纲(角色、世界观、剧情结构)
- **大纲 → 完整故事**:30 章完整短篇小说,分 3 批生成,保证前后连贯
- **文案 → 分镜脚本**:自动拆分为 10-15 秒的视频片段,附带景别、运镜、台词等信息

### 📊 数据管理
- **历史记录**:所有生成内容持久化存储,支持搜索/筛选/回溯
- **自动草稿**:本地自动保存,防止意外丢失
- **SSE 流式输出**:实时显示生成进度

## 🏗️ 技术架构

```
┌─────────────────────────────────────────────────┐
│                   Frontend                       │
│   Vanilla JS + CSS (Dark Theme)                  │
│   index.html / storyboard.html / novel.html      │
└──────────────────┬──────────────────────────────┘
                   │ HTTP / SSE
┌──────────────────▼──────────────────────────────┐
│               FastAPI Backend                     │
│   main.py        — API 路由 + AI 调用            │
│   database.py    — SQLite (WAL 模式)             │
│   config.py      — YAML 配置 + 环境变量          │
│   utils.py       — JSON 解析 / SSE 工具          │
│   models.py      — Pydantic 数据模型             │
└──────────────────┬──────────────────────────────┘
                   │
┌──────────────────▼──────────────────────────────┐
│              AI Services                          │
│   DeepSeek v4  — 大纲 / 故事 / 分镜              │
└─────────────────────────────────────────────────┘
```

## 🛠️ 技术栈

| 层级 | 技术 |
|------|------|
| 后端框架 | FastAPI + Uvicorn |
| 数据库 | SQLite (WAL 模式) |
| AI 调用 | httpx (流式,兼容 OpenAI Chat Completions 接口) |
| 前端 | 原生 JS + CSS (暗色主题) |
| 配置管理 | YAML + 环境变量 |

## 🚀 快速开始


```

### 2. 创建虚拟环境
```bash
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
```

### 3. 安装依赖
```bash
pip install fastapi uvicorn httpx pyyaml openai python-multipart
```

### 4. 配置 API 密钥
```bash
# 复制配置模板
cp config.yaml.example config.yaml

# 编辑 config.yaml,填入你的 API 密钥
# DeepSeek: https://platform.deepseek.com
```

或使用环境变量(推荐生产环境):
```bash
export DEEPSEEK_API_KEY="sk-your-key"
```

### 5. 启动服务
```bash
python main.py
# 访问 http://127.0.0.1:8899
```

## 📁 项目结构

```
AIComic/
├── main.py              # FastAPI 主应用(路由 + AI 调用)
├── database.py          # SQLite 数据库模块
├── config.py            # 配置加载(YAML + 环境变量)
├── utils.py             # 工具函数(JSON 解析、SSE)
├── models.py            # Pydantic 数据模型
├── config.yaml.example  # 配置模板(不含密钥)
├── .gitignore           # Git 忽略规则
├── static/
│   ├── index.html       # 主工作流页面
│   ├── app.js           # 主页逻辑
│   ├── style.css        # 全局样式(暗色主题)
│   ├── storyboard.html  # 分镜脚本页面
│   └── novel.html       # 小说阅读页面
└── README.md
```

## 🔌 API 端点

### 故事创作
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/generate-outline` | 关键词 → 故事大纲 (SSE) |
| POST | `/api/generate-story?run_id=` | 大纲 → 完整故事 (SSE) |

### 分镜脚本
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/generate-storyboard` | 文案 → 分镜脚本 + 自动拆分 (SSE) |
| POST | `/api/split-storyboard?run_id=` | 重新拆分分镜脚本 |

### 数据管理
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/history` | 历史记录列表(支持搜索/筛选) |
| GET | `/api/history/{run_id}` | 记录详情 |
| DELETE | `/api/history/{run_id}` | 删除记录 |
| GET | `/api/config-status` | AI 配置状态 |

## 💡 亮点设计

- **SSE 流式输出**:故事生成采用 Server-Sent Events,实时推送进度
- **自动重试机制**:API 调用失败自动重试 3 次,指数退避
- **4 层 JSON 解析**:应对 AI 输出格式不稳定的场景(正则提取 → 括号匹配 → 清洗修复)
- **WAL 数据库模式**:SQLite 读写并发优化
- **环境变量配置**:敏感信息通过环境变量注入,不进版本控制

代码链接:分享文件:Ai漫剧代码
链接:https://pan.xunlei.com/s/VOvwVcDfpK_BFKIUGqUbSEpFA1?pwd=cucj#
复制这段内容后打开迅雷,查看更方便

有任何问题留言。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐