书单解说Coze工作流:一键生成书本解说,保姆级教程,附提示词
为什么你的书单解说总是“干巴巴”?问题或许不在表达,而在流程。本文试图打破“内容=输出”的惯性认知,从Coze的工作流设计出发,重新定义书本解说的内容生成逻辑,并分享一套可落地的提示词驱动方法。

内容一直是时代进度的产物,不管AI+自媒体如何演变,亘古不变的还是内容。 读书号一直是做副业、做自媒体拿来练手,既方便又是很有效的内容。
分享coze工作流
制作炫酷开头书本解说,实现只需要输入书名,就拿到视频解说的剪映模板并生成图文并茂带有动效视频。
步骤工作流
- 拆书解文案
- 配音+字幕对齐并组合
- 剪映小助手获得模板

拆书解文案
步骤1开始-输入书名


步骤2 插件豆瓣搜书

步骤3 书名+作者文本处理

步骤4 开场白文案文本处理

步骤5开场白配音语音合成
音色可以根据自己需要做变动

步骤6获取开场白时长-插件获取音频时长

步骤7计算时长
代码-

Python语句
async def main(args: Args) -> Output:
params = args.params
duration = params[‘duration’]
audios = []
audios.append({
“audio_url”: params[‘link’],
“duration”: int(duration * 1000000),
“start”: 0,
“end”: int(duration * 1000000),
})
# 开场白后增加1s间隔
ret: Output = {
“audios”: audios,
“duration”: int(duration * 1000000),
“next_duration”: int(duration * 1000000) + 1000000,
}
return ret
步骤8书单图片提示词
大模型-


– 系统提示词
#角色
你是一个AI绘画提示词生成专家。请根据用户提供的书籍《{{book_name}}》,生成一段符合Midjourney规范的插图画面描述。
#核心要求
1. 内容与风格:描述必须忠实于书籍的内容、时代背景和核心氛围,并体现其文学风格(如哥特式、浪漫主义、存在主义等)。
2. 艺术风格:需指定一种或多种艺术风格(如炭笔画、水墨、暗调摄影、蚀刻版画等),以强化书籍的基调。
3. 色彩约束:画面必须避免使用亮色和红色。优先使用低饱和度、单色、柔和或深沉的色调。
#输出格式
直接输出纯净、连贯的Midjourney提示词,无需额外解释。提示词应包含画面主体、环境、光影、氛围及技术参数。
步骤9生成书单图片
图像生成-

步骤10书单文案
大模型-


– 提示词
#角色:你是一位专业的书评作家,擅长以精炼、生动且有深度的语言,向读者介绍书籍的核心价值与独特魅力。
# 技能:
基于用户指定的书籍《{{book_name}}》,生成一篇结构完整、内容深刻的书评。
# 书评要求
1.内容风格: 使用第三人称和口语化表达,确保语言流畅自然,观点鲜明;2.金句引用: 每个核心观点中须至少嵌入一句书中原文作为支撑;
3.结构规范:
(1)开篇直接切入主题,不设引言或铺垫;
(2)围绕三个核心观点展开,每段观点内容不少于100字,不超过200字;
(3)避免使用’第一个观点’、’第二个观点’等刻板表述,改用自然过渡;
(4)文未需有简要总结,并附上引导读者进一步行动的语句;
# 限制
书评内容中每句话≤15个字(不包含标点符号);
示例:
“今天星期五,明天可以休息啦。”中“今天是星期五,”算作一句话:
# 输出格式
书评内容
用户提示词 ①
步骤11分割文案文本处理

步骤12循环配音-节点

步骤12.1 判断是否为空
选择器

步骤12.2 分句

import re
async def main(args: Args) -> Output:
params = args.params
pattern = r'[,,.。!?;:-]\s*’
content = params[‘content’]
# 通过分隔符分割数组 sentences = re.split(pattern, content)
str_list = []
for s in sentences:
# 去除中英文单引号、双引号、换行符
s = re.sub(r'[\'””‘’“”\n]’, ”, s)
# 跳过空串
if not s:
continue
s = s.replace(‘——’, ‘,’)
s = s.replace(‘、’, ‘,’)
str_list.append(s)
ret: Output = {
“sentence_list”: “\n”.join(str_list)
}
return ret
步骤12.3 继续循环

步骤12.4 视频文案配音
语音合成

步骤12.5 字幕音频对齐
搜索插件字幕音频自动对齐

步骤12.6 素材组合
代码

async def main(args: Args) -> Output:
params = args.params
# 中间变量
pre_time = params[‘pre_time’]
captions = params[‘caption_list’]
audios = params[‘audio_list’]
# 循环变量
timelines = params[‘timelines’]
audio = params[‘audio’]
texts = params[‘texts’]
duration = params[‘duration’]
# 添加基本验证
if not timelines or not texts:
return {
“captions”: captions,
“audios”: audios,
“end_time”: pre_time
}
# 确保两个列表长度一致
min_length = min(len(timelines), len(texts))
if len(timelines) != len(texts):
print(f”警告:timelines长度({len(timelines)})与texts长度({len(texts)})不一致”)
audios.append({
“audio_url”: audio,
“duration”: int(duration),
“start”: pre_time,
“end”: pre_time + int(duration),
})
# 设置字幕时长
each_pause_duration = 0
length = len(timelines)
if length > 1:
pause_duration = int(duration) – int(timelines[-1][‘end’] – timelines[0][‘start’]) – timelines[0][‘start’]
each_pause_duration = max(0, int(pause_duration / (length – 1))) # 确保不为负数
for i in range(min_length): # 使用min_length而不是直接使用timelines
time = timelines[i]
start_time = int(pre_time + time[‘start’])
end_time = int(pre_time + time[‘end’])
if i != 0:
start_time += each_pause_duration * i
end_time += each_pause_duration * i
caption = {
‘text’: texts[i], # 现在确保i不会越界
‘start’: start_time,
‘end’: end_time,
}
captions.append(caption)
ret = {
“captions”: captions,
“audios”: audios,
“end_time”: pre_time + int(duration)
}
return ret
步骤12.7 设置变量
变量

到此循环体的节点就结束了。

步骤13 获取所有变量
代码-

import json
async def main(args: Args) -> Output:
params = args.params
# 获取输入参数
width = params[‘width’]
height = params[‘height’]
pre_time = params[‘pre_time’]
audios = params[‘audio_list’]
cover_img = params[‘cover_img’]
background_img = params[‘background_img’]
# 开场白时长
audio_duration = params[‘audio_duration’]
top_title = params[‘top_title’]
title_captions = []
title_captions.append({
‘text’: params[‘title’],
‘start’: audio_duration + 1000000,
‘end’: pre_time,
“in_animation”: “缩小”,
“in_animation_duration”: 2000000
})
top_captions = []
top_captions.append({
‘text’: top_title,
‘start’: audio_duration + 1000000,
‘end’: pre_time,
“in_animation”: “渐显”,
“in_animation_duration”: 1000000
})
# 添加翻书声音和背景乐
bgm_audios = []
bgm_audios.append({
“audio_url”: “https://houht.oss-cn-shanghai.aliyuncs.com/public/booklist/book.MP3”,
“duration”: 2000000,
“start”: 0,
“end”: 2000000
})
bgm_audios.append({
“audio_url”: “https://ve-template-0920.oss-cn-shanghai.aliyuncs.com/uploads/1747213706549_bzwh21eozgv.mp3”,
“duration”: pre_time – 2000000,
“start”: 2000000,
“end”: pre_time,
“volume”: 0.7
})
# 增加开场封面和背景图片的入场动画和转场特效
images1 = []
images2 = []
# 开场白时长+1.5秒 后开始转场特效“中心切开”,持续一秒
images1.append({
“image_url”: cover_img,
“width”: 768,
“height”: 1024,
“start”: 0,
“end”: audio_duration + 1500000,
“transition”: “中心切开”,
“transition_duration”: 1000000
})
# 开场白时长+1秒 后开始动画“翻书”,持续一秒
images2.append({
“image_url”: cover_img,
“width”: 768,
“height”: 1024,
“start”: 0,
“end”: audio_duration + 1000000,
“in_animation”: “翻书”,
“in_animation_duration”: audio_duration,
“transition”: “中心切开”,
“transition_duration”: 1000000
})
images2.append({
“image_url”: background_img,
“width”: width,
“height”: height,
“start”: audio_duration + 1000000,
“end”: pre_time
})
# 添加视频特效
effects1 = []
effects1.append({
“effect_title”: “模糊开幕”,
“start”: 0,
“end”: audio_duration + 1000000,
})
effects2 = []
effects2.append({
“effect_title”: “星火”,
“start”: audio_duration + 1000000,
“end”: pre_time,
})
# 构建输出对象
ret = {
“captions”: json.dumps(params[‘caption_list’]),
“audios”: json.dumps(audios),
“bgm_audios”: json.dumps(bgm_audios),
“images1”: json.dumps(images1),
“images2”: json.dumps(images2),
“effects1”: json.dumps(effects1),
“effects2”: json.dumps(effects2),
“title_captions”: json.dumps(title_captions),
“top_captions”: json.dumps(top_captions)
}
return ret
步骤14 视频合成-剪映小助手10个节点

步骤14.1 创建剪映草稿
视频合成_剪映小助手create_draft

步骤14.2 背景音乐
视频合成_剪映小助手add_audios

步骤14.3 文案配音
视频合成_剪映小助手add_audios

步骤14.4 开场图片1
视频合成_剪映小助手add_images

步骤14.5 开场图片2
视频合成_剪映小助手add_images

步骤14.6 开场迷糊特效
视频合成_剪映小助手add_effects

步骤14.7 星火特效
视频合成_剪映小助手add_effects

步骤14.8 添加书名
视频合成_剪映小助手add_captions

步骤14.9 添加字幕
视频合成_剪映小助手add_captions

步骤14.10 添加顶部标题
视频合成_剪映小助手add_captions

步骤14 结束

步骤15 试运行

步骤16 剪映小助手
– https://www.51aigc.cc/#/cozeToJianyin

步骤16 剪映展示

本次分享就到这里了,我是陌晨,分享有用的AI知识与工具,喜欢记得关注。
本文由人人都是产品经理作者【陌晨】,微信公众号:【陌晨】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。

起点课堂会员权益





1、应该先展示成品结果,再写步骤;
2、这个可以生成播客吗
差个成品演示,不然就很完美了