🚀 60天挑战119个Coze工作流 | Day 36
在短视频领域,书单号和心理情感号一直是流量常青树。
传统的书单视频往往只是简单的图片轮播,缺乏视觉冲击力;而心理情感视频则容易陷入同质化竞争。
今天,我们将挑战两个极具创意的高阶工作流:
当前进度:78/119
[▓▓▓▓▓▓▓▓▓▓▓░░░░░░░] 65%
💡 省流版:
文末直接获取完整 DSL 源码 + 核心提示词。

核心价值:
传统书单视频多为静态封面轮播,用户审美疲劳。V29 通过模拟真实翻书效果,配合董宇辉风格的深度解说,瞬间提升视频质感与格调。
工作流程:
书名输入 → 董宇辉风格书评生成 → 提取关键词生成插图提示词 → AI 绘图 → 翻书特效合成 → 剪映草稿
🔧 阵法布局

配置工作流的启动参数。

为了提高灵活性,我们增加一个判断逻辑:如果用户没有输入内容 (content 为空),则让 AI 自动生成;如果输入了内容,则直接使用。
开始 节点后的 + 号,选择 选择器。
大师解说 (大模型生成) 分支。开始 - content 是否 为空。
我们首先需要一段足够惊艳的文案。这里我们“请”到了 AI 董宇辉。

JSON。contentList: Array<String> (生成的文案数组)。title: String (书籍标题)。author: String (作者)。title: 引用 开始 - title。大模型生成文案。豆包·1.5·Pro·32k (长文本能力强/角色扮演逼真)。书籍名称:《{{title}}》。
如果用户 提供了内容 (content 不为空),我们仍然走一个大模型节点,目的是将用户输入的长文本“格式化”为我们需要的数组结构。

contentList: Array<String>。title: String。author: String。title: 引用 开始 - title。content: 引用 开始 - content。否则 (Else) 分支。豆包·1.5·Pro·32k。标题: {{title}}
书评文案: {{content}}

由于我们使用了分支逻辑(AI 生成 vs 用户输入),两条路径最终需要汇合,以便后续节点统一处理。


Group1 (String) -> 引用 大模型.title 和 大模型_1.title => 统一为 title。Group2 (String) -> 引用 大模型.author 和 大模型_1.author => 统一为 author。Group3 (Array<String>) -> 引用 大模型.contentList 和 大模型_1.contentList => 统一为 contentList。变量聚合。返回每个分组中第一个非空的值 (关键!)。
为了让视频更有代入感,我们首先生成一段固定的开场白:“今天要分享的是《Book Title》”。

操作步骤:点击 变量聚合 节点后的 + 号,搜索并添加 文本处理。
配置要点:
文本处理_开场白。字符串拼接。String1 引用 title。今天要分享的是《{{String1}}》。
接下来,将这段文字转换为语音:

文本处理_开场白 节点后的 + 号,搜索并添加 语音合成。文本处理_开场白 的 output。温暖阿虎 (根据喜好选择,推荐温暖治愈系)。1 (默认)。
最后,我们需要获取这段音频的时长,以便后续精确控制画面节奏:

语音合成 节点后的 + 号,搜索并添加 获取音频时间。speech_synthesis 的 link (注意:部分插件可能输出 data,请根据实际情况选择音频链接字段)。
有了文案还不够,我们需要为书籍生成一张意境相符的插图,作为书单视频的视觉主体。

操作步骤:点击工作流画布上的 + 号,选择 大模型,并连接到 开始 节点。
配置要点:
prompt: String (生成的绘画提示词)。豆包·1.5·Pro·32k (或其他生成能力较强的模型)。input 引用 开始 节点的 title。
避免出现亮色、红色 (保持书单视频的素雅沉静风格)。接下来,使用生成的提示词生成图片:

大模型_视觉转化 节点后的 + 号,搜索并添加 图像生成。图像生成_背景图。通用-Pro (画质较好)。16:9 (1024*576) (适配横屏视频)。大模型 的 prompt。
为了让视频信息更完整,我们需要将书名和作者组合成一个标题,显示在视频顶部。

操作步骤:点击 变量聚合 节点后的 + 号,搜索并添加 文本处理。
配置要点:
String1 引用 title。String2 引用 author。文本处理_TopTitle。字符串拼接。《{{String1}}》 | {{String2}} (书名 | 作者)。
为了将上述三个分支的产物(开场音频、背景图、标题)整合,我们需要一个代码节点来计算开场音频的时间轴,并为后续的草稿合成做准备。


连接说明:我们需要将以下 4 个节点的输出连接到代码节点的输入:
变量聚合 (提供书名/作者信息)get_audio_duration (提供音频时长)图像生成_背景图 (提供背景图片)文本处理_TopTitle (提供顶部标题)配置要点:
duration: Integer。nextDuration: Integer。audios: Array<Object>。duration: 引用 get_audio_duration.duration (Integer)。link: 引用 speech_synthesis.link (String)。
我们需要对大模型生成的每一段书评文案进行处理(转语音、计算时长等),因此需要添加一个循环节点。

操作步骤:点击 代码 节点后的 + 号,选择 循环。
循环整体配置:
pre_time (int): 引用 代码.nextDuration (初始时间)。audio_list (Array): 引用 代码.audios (初始音频列表)。caption_list (Array): 手动输入 [] (初始为空列表)。使用数组循环。变量聚合.Group3 (即书评文案列表)。
循环体内部配置 (Sub-Flow):
双击进入循环节点内部,我们需要处理列表中的每一项文本 (item)。
首先,将每一段文案转为语音。

循环 - item (或 input)。渊博小叔 (适合书单解说风格)。1。
为了让字幕展示更自然(避免一句话太长),我们需要用代码将长句拆分为短句,并计算每段短句的时长权重。

语音合成 节点后的 + 号,选择 代码。代码_分句。content 引用 循环 - item。texts (String)。
有了拆分好的字幕和生成的语音,我们需要一个工具将它们的时间轴精确对齐,生成 .srt 或 JSON 格式的字幕数据。

代码_分句 节点后的 + 号,搜索并添加 字幕音频对齐。speech_synthesis_1.link。代码_分句.texts。
最后,我们需要用一个代码节点将本轮循环生成的音频、字幕、时间信息打包,更新到循环的累计变量中。

字幕音频对齐 节点后的 + 号,选择 代码。audios (Array<Object>)。captions (Array<Object>)。end_time (Integer)。audio (str): 引用 speech_synthesis_1.link。timelines (Array): 引用 alignTextToAudio.timelines。texts (Array): 引用 alignTextToAudio.texts。pre_time (int): 引用 循环.pre_time (累计时间)。audio_list (Array): 引用 循环.audio_list (累计音频)。caption_list (Array): 引用 循环.caption_list (累计字幕)。width: 固定值 1920。1080。duration: 引用 alignTextToAudio.duration。代码_素材组合。
每一轮循环结束后,我们都需要把新生成的素材追加到总列表中,并更新当前的时间指针,为下一轮循环做准备。

代码_素材组合 节点后的 + 号,选择 设置变量。caption_list: 引用 代码_素材组合.captions。audio_list: 引用 代码_素材组合.audios。pre_time: 引用 代码_素材组合.end_time (重要!确保时间轴递增)。
最后,将 设置变量 的输出连接到循环体的 结束点,完成闭环。

在进入剪映生成草稿之前,我们需要将 开头 (Opening)、循环体 (Loop Body)、背景图、BGM 等所有素材,“打包”成剪映插件能识别的最终数据结构。

循环 节点后的 + 号,选择 代码。width/height: 1920 / 1080 (视频尺寸)。pre_time: 引用 循环.pre_time (总时长)。caption_list: 引用 循环.caption_list (主体字幕)。audio_list: 引用 循环.audio_list (主体音频)。pic: 引用 开始.pic (或者是用户上传的封面,如有)。audio_url: 引用 speech_synthesis.link (开场白音频)。audio_duration: 引用 代码.duration (开场白时长, 注意这里引用的是步骤2.4代码节点的输出)。bg_pic: 引用 图像生成_背景图.data。title: 引用 开始.title。toptitle: 引用 文本处理_TopTitle.output。bgm: 填入背景音乐链接 (如 OSS 地址)。组合结构。
* **输出变量**: (全部为 `String` 类型,用于后续映射到剪映草稿节点)
* `captions`: 字幕轨道数据。
* `audios`: 配音轨道数据。
* `bgm_audios`: 背景音乐轨道数据。
* `imgs1`: 封面/插图轨道数据。
* `imgs2`: 背景图轨道数据。
* `effects`: 特效数据 (如有)。
* `effects2`: 特效数据2 (如有)。
* `titleCaptions`: 书名标题字幕。
* `topcaptions`: 顶部常驻标题字幕。
* **代码逻辑**: 将所有分散的素材组装成符合剪映草稿协议的 JSON 字符串 (详细代码获取方式见文末)。

注意:剪映插件的操作通常是“链式”的。我们需要先创建一个空草稿,然后依次往里面添加音频、字幕、图片等素材。

组合结构 节点后的 + 号,搜索并添加 视频合成_剪映小助手 插件中的 create_draft 工具。width: 1920height: 1080user_id: 572017draft_url (草稿链接) 和 tip_url。
create_draft 节点后的 + 号,搜索并添加 add_audios 工具。add_audios_bgm (建议重命名以便区分)。audio_infos: 引用 组合结构.bgm_audios (注意:这里引用的是 BGM 轨道数据)。draft_url: 引用 create_draft.draft_url (串联上一步)。draft_url 给下一步。

add_audios_bgm 节点后的 + 号,再次添加 批量添加音频 工具。add_audios (默认) 或 add_audios_voice。组合结构.audios (这是人声配音轨道)。create_draft.draft_url (或上一个节点的输出)。

add_audios 节点后的 + 号,添加 批量添加图片 工具。add_images_cover (封面) 或 add_images_bg (背景),视具体用途而定。组合结构.imgs1 (对应封面/插图)。create_draft.draft_url。3.5 (放大倍数,根据素材情况调整,图中设置为 3.5)。

add_images_cover 节点后的 + 号,添加 批量添加特效 工具。create_draft.draft_url。组合结构.effects。

add_effects 节点后的 + 号,再次添加 批量添加图片 工具。add_images_cover2 (或 add_images_bg)。组合结构.imgs2 (对应背景图)。create_draft.draft_url。

add_images_cover2 节点后的 + 号,再次添加 批量添加特效 工具。add_effects_1。create_draft.draft_url。组合结构.effects2 (注意这里引用的是第二个特效列表)。
为了保证书名标题在画面上的展示效果,我们需要根据书名长度动态调整字幕的样式(如字号大小)。

add_effects_1 节点后的 + 号,添加 选择器 节点。开始.title 长度 < 3 (短标题)。开始.title 长度 < 6 (中标题)。
此处展示 3 个分支的配置区别,以适配不同长度的书名:
分支 1 (短标题 < 3):
分支 1 的 + 号,添加 批量添加字幕 工具。
50 (大字号)。分支 2 (中标题 < 6):
分支 2 的 + 号,添加 批量添加字幕 工具。
35 (中字号)。分支 3 (长标题 / 否则):
分支 3 的 + 号,添加 批量添加字幕 工具。
30 (小字号)。通用参数
所有分支除字号外,其他参数保持一致:
组合结构.titleCaptions优设标题黑#aa131421 (居中)汇聚节点
所有分支设置完标题后,需要汇聚到一个共同的节点( add_captions 节点)来继续添加正文字幕和顶部常驻标题。
最后,我们需要将上述 3 个分支汇聚回主干,并添加正文字幕和顶部常驻标题。

add_captions 节点输出一并连接到这个新节点的 draft_url 输入上。captions)。

最后,我们添加一个常驻在画面顶部的标题,强化书名记忆。

add_captions (正文字幕) 节点后的 + 号,再次添加 批量添加字幕 工具。
add_captions_top组合结构.topcaptions。金陵体。5 (超小字号,装饰性)。2 (右对齐/特定位置)。transform_x (735) 和 transform_y (958) 以固定位置。最后,如果你希望直接生成视频文件(而不仅仅是草稿),可以添加渲染节点。

add_captions_top 节点后的 + 号,添加 云渲染视频 工具。
create_draft.draft_url。最后,将渲染节点连接到结束节点,并配置输出变量,以便在 Bot 对话中返回链接。

gen_video 的输出点,连接到 结束 节点。返回变量。create_draft.draft_url (草稿链接)。gen_video.video_url (成片链接)。
至此,V29 翻书动画书单 工作流搭建完毕!🎉
点击 试运行,输入一本书名(如《被讨厌的勇气》),稍等片刻,你将获得一个包含精美翻书动画、语音解说、背景音乐的剪映草稿链接(以及成片链接)。
核心价值:
心理学赛道竞争激烈,与其拼素材库,不如拼风格化。黑白极简动画风格,剥离了色彩的干扰,让观众更专注于文案的情绪表达,直击内心。
工作流程:
主题输入 → DeepSeek 深度文案 (共鸣五段法) → 视觉脚本策划 (合并分镜) → 黑白动画生成 → 自动剪辑
V30 的搭建并非从零开始,它的核心数据处理逻辑(Loop 循环、Python 数据组装)与 V29 高度通用。我们只需要进行“换脑”(模型提示词)和“剪枝”(简化草稿结构)。
Loop 循环 与 Python 代码(分句/组装)可直接复用。add_captions 添加统一风格的字幕,结构更精简。豆包 替换为 DeepSeek-R1 (或 Coze 上的深度思考模型),以获取更有深度的心理学文案。沉浸式、第二人称、隐喻。Black and white illustration, minimalist, silhouette, shadow play, grainy texture。no facial features),让观众自我投射。分句、素材组合、组合结构 等) 在 V30 中完全通用,无需修改。🔧 阵法布局

这是整个工作流的灵魂。我们选用了推理能力极强的 DeepSeek-R1 模型。
共鸣五段法这是一个非常巧妙的节点。它不是简单的一句文案生一张图,而是懂节奏。
"按照情绪/内容的自然段落将多句字幕进行组合...黑白剪影风格,不包含五官,强调情绪肢体语言..."
最后,工作流会将所有素材 (音频、对应时间轴的图片、字幕) 打包发送到剪映草稿箱,你只需要打开剪映,微调转场,导出即可。
这套工作流(V29 & V30)结合了 AI 书评生成与黑白动画视觉策划,为了方便大家直接上手,我提供了完整的 DSL 源码。
🅰️ 动手党(免费)
Coze 插件广场搜索相关插件,结合本文逻辑图尝试搭建。关注公众号,后台发送 “Day36” 获取核心提示词与 Python 代码。
🅱️ 懒人党(¥9.9 / 拿来主义)
扫码添加作者微信 (hwdemtv),获取 V29 & V30 完整 DSL 源码文件,导入 Coze 即可使用。

💎 进阶党(¥99 / 永久社群)
加入我的专属学习群,获取 60 天挑战的全部 119 个工作流源码,与一群“弄脏双手”的硬核 AI 玩家共同进化。
🏢 企业定制(按需报价)
支持 Coze / n8n / Dify 工作流定制开发,私聊咨询。
下期预告:
Day 37 我们将解锁 短视频书单号 与 育儿故事动画,敬请期待!
我是胡巍,一个拒绝 AI 焦虑,坚持“左手 AI 抓效率,右手 IP 修人心”的实战派。
点赞关注,我们明天见!👋