144 lines
5.6 KiB
Markdown
144 lines
5.6 KiB
Markdown
# 漫画生成工作流 v2 更新说明
|
||
|
||
## 新增功能
|
||
|
||
### 1. 双模式支持
|
||
工作流现在支持两种输出模式:
|
||
|
||
#### 模式A:传统漫画分镜
|
||
- **适用场景**:小说段落、静态场景描述
|
||
- **输出**:3-5个分镜,不强调时间轴
|
||
- **示例输入**:
|
||
```
|
||
李阳推开厚重的木门,月光透过窗户洒在地板上。他看到父亲坐在书桌前...
|
||
```
|
||
|
||
#### 模式B:时间线漫画分镜
|
||
- **适用场景**:连续动作描述、动态场景(如15秒画面描述)
|
||
- **输出**:带时间标记的分镜(如"0-3秒"、"3-6秒"),分镜数量由AI根据动作节奏自动决定
|
||
- **示例输入**:
|
||
```
|
||
冰凉的夜雨如密集的银针般倾泻,王雪的长发湿漉漉地黏在惨白的脸颊...
|
||
```
|
||
- **示例输出**:
|
||
```markdown
|
||
### 分镜1:[0-3秒] 雨中疾奔
|
||
**时间点:** 0-3秒
|
||
**场景描述:** 王雪在雨中奔跑,长发湿漉漉贴在脸上...
|
||
**图片提示词:** ...
|
||
|
||
### 分镜2:[3-6秒] 惊惶回眸
|
||
**时间点:** 3-6秒
|
||
...
|
||
```
|
||
|
||
### 2. 智能关键帧提取
|
||
- **时间线分析AI**:自动识别动作转折点
|
||
- **时间标记**:AI自由决定时间点(如"0-3秒"、"3-5秒",不一定是固定间隔)
|
||
- **动态分镜数**:根据动作节奏自动决定分镜数量(3-8个)
|
||
|
||
## 使用步骤
|
||
|
||
### 1. 导入DSL
|
||
1. 访问 https://dify.wutongshucloud.com
|
||
2. 应用 → 创建应用 → 导入DSL
|
||
3. 选择 `workflow/漫画生成工作流-v2.yml`
|
||
|
||
### 2. 运行工作流
|
||
1. **输入文本**:粘贴你的描述
|
||
2. **选择模式**:
|
||
- 传统漫画分镜:适合小说段落
|
||
- 时间线漫画分镜:适合连续动作描述
|
||
3. **查看输出**:根据选择的模式生成对应格式的分镜
|
||
|
||
### 3. 测试用例
|
||
|
||
#### 测试用例1:传统模式
|
||
**输入**:
|
||
```
|
||
李阳推开厚重的木门,月光透过窗户洒在地板上。他看到父亲坐在书桌前,手里拿着一封信。房间里弥漫着淡淡的墨香,父亲的背影显得格外孤独。
|
||
```
|
||
**模式**:传统漫画分镜
|
||
**预期**:3-5个分镜,不标注时间
|
||
|
||
#### 测试用例2:时间线模式
|
||
**输入**:
|
||
```
|
||
冰凉的夜雨如密集的银针般倾泻,将整条街道浸泡在闪烁的霓虹与破碎的水光里。王雪的长发湿漉漉地黏在惨白的脸颊,她逆着稀疏而模糊的人影,在湿滑反光的柏油路上踉跄疾奔,每一次仓促的呼吸都在冰凉的空气中扯出白雾。惊惶回眸——那道追赶者的漆黑剪影,被身后惨白的路灯无限拉长、扭曲变形,紧贴地面疾速蔓延,仿佛噩梦具现的触角。
|
||
|
||
心脏在胸腔里疯狂擂动,震耳欲聋。就在窒息般的恐惧攥紧喉咙的瞬间,她眼角瞥见右前方一道极其狭窄的缝隙:那是两栋旧楼之间一道被遗忘的巷口,幽深,黑暗,像大地的一道伤口。求生的本能压倒一切,她猛地拧身折向,如离弦之箭般将自己彻底投进那片浓稠的、仿佛能吸收一切光线与声响的阴影之中。
|
||
|
||
巷内弥漫着潮湿的霉味与杂物堆积的腐朽气息。王雪的背脊紧紧抵住冰冷湿滑的砖墙,尖锐的碎石硌着皮肉。她用尽全部力气捂住自己的口鼻,将几乎冲喉而出的剧烈喘息与战栗死死压回身体深处,只剩下瞪大的双眼,死死盯向巷口那一方被雨幕朦胧的、危险的光亮。
|
||
```
|
||
**模式**:时间线漫画分镜
|
||
**预期**:带时间标记的分镜(如"0-3秒"、"3-6秒"等)
|
||
|
||
## 节点说明
|
||
|
||
### 开始节点
|
||
- **输入文本**:小说段落或连续动作描述
|
||
- **输出模式**:
|
||
- 传统漫画分镜
|
||
- 时间线漫画分镜
|
||
|
||
### 模式选择器
|
||
根据"输出模式"变量选择处理路径:
|
||
- 传统漫画分镜 → 小说编辑AI → 传统分镜AI
|
||
- 时间线漫画分镜 → 时间线分析AI → 时间线分镜AI
|
||
|
||
### 传统路径
|
||
1. **小说编辑AI**:润色文本,增强画面感
|
||
2. **传统分镜AI**:生成3-5个传统漫画分镜
|
||
|
||
### 时间线路径
|
||
1. **时间线分析AI**:
|
||
- 分析连续动作描述
|
||
- 识别关键动作转折点
|
||
- 标注时间点(AI自由决定)
|
||
- 提取每个时间点的画面描述
|
||
|
||
2. **时间线分镜AI**:
|
||
- 将时间线分析转换为带时间标记的分镜
|
||
- 每个分镜包含:时间点、场景描述、图片提示词
|
||
- 增加"叙事节奏建议"部分
|
||
|
||
### 输出节点
|
||
合并两个路径的输出(根据选择的模式只显示对应结果)
|
||
|
||
## 技术细节
|
||
|
||
### 条件分支实现
|
||
使用 **question-classifier** 节点实现模式选择:
|
||
- query_variable_selector: `开始.output_mode`
|
||
- classes:
|
||
- 传统漫画分镜
|
||
- 时间线漫画分镜
|
||
|
||
### 变量传递
|
||
- 传统路径:`开始.input_text` → `小说编辑AI` → `传统分镜AI` → `输出`
|
||
- 时间线路径:`开始.input_text` → `时间线分析AI` → `时间线分镜AI` → `输出`
|
||
|
||
### 输出合并
|
||
输出节点使用:`{{#1740748800002.text#}}{{#1740748800006.text#}}`
|
||
由于只有一条路径会执行,所以只显示对应模式的输出
|
||
|
||
## 注意事项
|
||
|
||
1. **模式选择很重要**:
|
||
- 静态场景描述 → 选择"传统漫画分镜"
|
||
- 连续动作描述 → 选择"时间线漫画分镜"
|
||
|
||
2. **时间标记是估算值**:
|
||
- AI会根据动作节奏自由决定时间范围
|
||
- 不是精确的时间码,而是帮助理解叙事节奏的参考
|
||
|
||
3. **分镜数量**:
|
||
- 传统模式:固定3-5个
|
||
- 时间线模式:AI根据动作复杂度自动决定(通常3-8个)
|
||
|
||
## 后续优化建议
|
||
|
||
1. **增加示例提示**:在开始节点增加示例文本,帮助用户选择正确的模式
|
||
2. **自动模式识别**:训练AI自动判断输入适合哪种模式
|
||
3. **细化时间粒度**:允许用户指定时间精度(如"每2秒一个分镜")
|