# 漫画生成工作流 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秒一个分镜")