day08-Coze高级案例01(中英文儿歌视频)
今日目标
# 使用coze---》实现一个--》用户输入一个主题---》生成中英文儿歌视频---》目标是方便 小朋友学习英文单词
-如果本地部署的coze,需要对接大模型[收费],使用第三方插件【有的插件也收费】
-直接用云服务版,需要扣资源点
1 工作流截图
# 1 开始节点
# 2 大模型节点---》根据用户输入的主题---》生成儿歌的文案
# 3 代码节点---》把大模型输出截取--》组装成固定格式
# 4 代码节点二---》把大模型的数据组成成固定格式
# 5 循环生成 10张图片文案--》大模型
# 6 循环生成 10张图片--》3d图片
# 7 把上面代码节点处理好的格式---》文字转语音---》获取语音时长[做视频需要这个时长]
# 8 代码节点--》把上述生成的所有数据---》组装成--》制作视频需要的格式
-小复杂
-制作视频的格式--》插件要求的格式
# 9 制作视频
# 10 结束
# 11 视频地址---》使用剪映小助手--》下载下来
# 12 使用剪映电脑版---》剪辑后导出--》视频

1 开始节点

2 中英文单词文案大模型
# 1 作用
生成中英文的文案:如下,用于【视频字幕】和【语音朗读】
猫 猫 Cat
Cat Cat Cat
狗 狗 Dog
Dog Dog Dog
# 2 输入:
开始节点的输入
# 3 系统提示词
############### 提示词开始###########################
# 角色
你是一个优秀的歌词编曲家,擅长给启蒙儿歌作词
# 要求
如果用户输入了主题,则根据用户输入的主题随机生成10个儿歌句子
# 格式限制
请严格按照下方案例输出的格式
“中文 中文 英文
英文 英文 英文”
为一个动物句子,请严格按照我的要求,不要出现数字等不必要的文案
## 案例输出
猫 猫 Cat
Cat Cat Cat
狗 狗 Dog
Dog Dog Dog
兔子 兔子 Rabbit
Rabbit Rabbit Rabbit
鸟 鸟 Bird
Bird Bird Bird
鱼 鱼 Fish
Fish Fish Fish
############### 提示词结束 ###########################
# 3 用户提示词
{{input}}
# 4 输出
output--》String类型
# 5 异常处理--》次模型生成失败,我们换个模型
-重试1次
-备选模型选择:DeepSeek-v3-0324
# 6 生成文案案例:
电视 电视 Television\nTelevision Television Television\n冰箱 冰箱 Refrigerator\nRefrigerator Refrigerator Refrigerator\n空调 空调 Air conditioner\nAir conditioner Air conditioner Air conditioner\n洗衣机 洗衣机 Washing machine\nWashing machine Washing machine Washing machine\n微波炉 微波炉 Microwave oven\nMicrowave oven Microwave oven Microwave oven\n吸尘器 吸尘器 Vacuum cleaner\nVacuum cleaner Vacuum cleaner Vacuum cleaner\n电饭煲 电饭煲 Rice cooker\nRice cooker Rice cooker Rice cooker\n电扇 电扇 Electric fan\nElectric fan Electric fan Electric fan\n吹风机 吹风机 Hair dryer\nHair dryer Hair dryer Hair dryer\n电灯 电灯 Electric light\nElectric light Electric light Electric light"
3 歌词格式化-代码
# 0 什么情况下需要写代码?
1 coze没有满足我们要求的插件
2 大模型处理不好处理--》大模型扣资源点
# 1 作用
对大模型生成的文案,进行拆分--》成固定格式
# 2 例如
### 输入的文案
电视 电视 Television\n
Television Television Television\n
冰箱 冰箱 Refrigerator\n
Refrigerator Refrigerator Refrigerator\n
\n
## 处理成
[
"电视 电视 Television",
"Television Television Television",
"冰箱 冰箱 Refrigerator",
"Refrigerator Refrigerator Refrigerator",
]
[1,2,3,4]
# 3 输入:大模型的输出
contents
# 4 代码如下
async def main(args: Args) -> Output:
# 1 固定模板,后期不需要 懂
params = args.params
# 2 取出用户输入的contents
contents=params['contents']
# 3 把字符串按 \n 分割,分割后,放到 列表中
infos=[info for info in contents.split('\n') if info.strip()]
# 构建输出对象
ret: Output = {
"infos":infos,
}
return ret
# 5 输出
infos---》类型是:列表套字符串
3.1 代码的模板
#1 输入从:params中取
输入是:contents
# 2 代码模板
async def main(args: Args) -> Output:
params = args.params
#1 把输入取出来了
contents=params['contents']
#2 完成你的操作--》用代码写
# 3 输出,后续节点使用
ret: Output = {
"key1": "lqz"
}
return ret
# 3 输出
必须严格跟 key1 对应

4 代码节点-》生成图片文案
# 1 作用
对大模型生成的歌词--》进行拆分
# 2 例如:
输入是:上一个代码节点的数据:
[
"电视 电视 Television", index:0 info:电视 电视 Television
"Television Television Television", index:1 info:Television Television Television
"冰箱 冰箱 Refrigerator", index:2 info: 冰箱 冰箱 Refrigerator
"Refrigerator Refrigerator Refrigerator",
]
# 输出
[
"电视",
"冰箱"
]
# 原来有20条---》最终变成10条---》生成10张图片
# 3 思路
循环 ---》输入--》隔一个取一个----》取出这种:"电视 电视 Television"---》再按 空格分割-------------->["电视","电视","Television"]--->取出第0个位置---》循环一个个取---》最终变成要求的格式
# 4 输入:上一个代码节点的输出---》infos
# 5 代码
async def main(args: Args) -> Output:
params = args.params
# 1 取出输入
infos=params["infos"]
'''
[
"电视 电视 Television", # index:0 info: 电视 电视 Television
"Television Television Television", # index:1 info: Television Television Television
"冰箱 冰箱 Refrigerator", # index:2 info: 冰箱 冰箱 Refrigerator
"Refrigerator Refrigerator Refrigerator",# index:3 info:Refrigerator Refrigerat
]
[
"电视",
"冰箱"
]
'''
# 2 处理成我们想要的格式
words=[]
for index,info in enumerate(infos):
if index % 2==0: # 对2能整除
word=info.split(" ")[0]
words.append(word)
ret: Output = {
"words":words,
}
return ret
# 6 输出
words--》列表套字符串
5 循环生成图片文案
# 1 作用
1 循环生成图片文案
2 有这个格式数据:
[
"电视",
"冰箱"
]
3 扩写每个词
电视--》小猪在趴着看电视---》描述文字生成的图片
冰箱---》小猴子,打开了冰箱---》描述文字生成的图片
4 把上述简单文字--》扩写---》用于后面生图
-创意性的东西,只能用大模型
-
# 2 循环类型--》使用数组循环
# 3 循环数组
变量名:words
变量值:生成图片文案代码 的输出
# 4 输出:
变量名:output
变量值:循环体大模型的输出【需要大模型配置完成才可以】---》列表套字符串
5.1 扩写文案大模型
# 1 作用
-根据很少的文字,创意性的生成很多文字---》用于生成图片
# 2 输入
变量名:word
变量值:循环生成图片文案--》的item
# 3 系统提示词
#############提示词开始##################
# 角色
你是一个优秀的AI绘画描述词生成家,擅长把输入的文字{{word}}生成一份适用于AI绘画的描述词
# 要求
一个文字只需要生成一份描述词,不要同一个文字生成多份,需要根据文字,自由描述当前文字,此描述词用来绘制启蒙儿歌图片,需要适用于小孩观众的特性,不要出现案例输出文案,输出只针对文字内容,请严格按照我的要求回答
# 格式要求
一定要是角色+场景+角色的行为
## 案例输出:
狗,在院子中,在快乐的玩耍
冰箱,小朋友打开冰箱,拿出雪糕快乐的吃
#############提示词结束##################
# 4 用户提示词
{{word}}
# 5 输出
output--》字符串
6 循环生成图片

6.1 图像生成
# 1 作用
通过上面生成的文案--》生成3D卡通图片
# 2 循环类型--》使用数组循环
# 3 循环数组
变量名:input
变量值:循环生成图片文案 的输出
# 4 正向提示词
细腻的细节处理,主体突出, 高光,强光,水灵灵,丰富可爱的微笑表情,背景虚化,8K,高品质,高分辨率,3D效果,3D卡通风格,{{prompt}}
# 5 输出:
变量名:output
变量值:循环体图片生成的输出【需要图片生成配置完成才可以】

7 循环生成音频
# 1 作用-->借助于两个插件
通过 【语音合成插件-文字转语音】 和 【获取音频时长 插件 】
把中英文单词文案实现朗读
--代码做不了,大模型做不了---》coze商店中,有些官方,第三方写的插件--》传入文字--》转成语音
--插件可能需要付费---》看人家的介绍
[
"电视 电视 Television",
"Television Television Television",
"冰箱 冰箱 Refrigerator",
"Refrigerator Refrigerator Refrigerator",
]
# 2 循环类型--》使用数组循环
# 3 循环数组
变量名:input
变量值:歌词格式化代码 的输出
# 4 输出:
变量名:mp3_url
变量值:音频插件--》link
变量名:mp3_duration
变量值:获取时长插件-》duration

7.1 文字转音频插件
# 1 输入
text--》循环生成音频的-->item
speed_ratio-->1 # 速度
更多其他,了解
# 2 输出默认


7.2 获取音频时长插件
#1 输入
mp3_url -->上一个节点的--》link


######################上述我们需要制作视频的素材,完成了###########
# 1 10张图片--》3d卡通
-狗,在院子中,在快乐的玩耍
-冰箱,小朋友打开冰箱,拿出雪糕快乐的吃
# 2 音频
[
"电视 电视 Television",
"Television Television Television",
"冰箱 冰箱 Refrigerator",
"Refrigerator Refrigerator Refrigerator",
]
# 3 进行视频创作之前需要把上述所有材料,准备一下---》调用后续的插件
8 创作视频前代码
# 1 作用
剪映小助手制作视频时,需要固定格式的数据,我们使用代码处理--->处理完后,后续用
# 2 输入:
texts 歌词格式化infos---》字幕
mp3_url 循环生成音频 mp3_url---》语音版字幕
mp3_durations 循环生成音频 mp3_durations---》字幕时长
images 循环生成图片output---》图片
# 3 代码有点小难度--》量有点点多--》介绍流程--》理解即可----》输入输出必须严格对应
import json
async def main(args: Args) -> Output:
params = args.params
# 1定义一些变量---》输出用---》后续制作视频需要
audios = []
images = []
texts = []
start = 0
# 2 添加音频和字母素材
for index,_ in enumerate(params['mp3_url']):
end=start+ params['mp3_durations'][index] * 1000000
#增加音频
audios.append({ "audio_url": params['mp3_url'][index], "duration": params['mp3_durations'][index] * 1000000,"volume":10, "start": start, "end": end })
texts.append({ "text": params['texts'][index], "start": start, "end": end, "in_animation": '', "out_animation": '' })
start = end
image_start = 0
# 3 添加图片素材
for index,_ in enumerate(params['images']):
end = image_start + (params['mp3_durations'][index * 2] + params['mp3_durations'][index * 2 + 1]) * 1000000
images.append({
"image_url": params['images'][index],
"width": 1920,
"height": 1080,
"start": image_start,
"end": end,
"in_animation": "展开", #对应剪映的入场动画名字 可选
"out_animation": "烟雾弹", #对应剪映的出场动画名字。可选
"loop_animation": "", #对应剪映的组合动画名字 可选
"in_animation_duration": 20000, #对应剪映的入场动画时长 可选
"out_animation_duration": 20000 #对应剪映的出场动画时长 可选
})
image_start = end
# 4 处理视频格式
effect_infos = [{
"effect_title": "金粉闪闪",
"start": 0,
"end": start
}]
# 5 处理背景音乐
bg_mp3 = [
{
"audio_url": " https://ve-template-0920.oss-cn-shanghai.aliyuncs.com/output_video/fewrwer3245467fgg345.mp3",
"duration": start,
"volume":0.5,#音量
"start": 0,
"end": start
}
]
# 6 构建好的输出
ret: Output = {
'audios': json.dumps(audios),
'images': json.dumps(images),
'texts': json.dumps(texts),
'effect_infos': json.dumps(effect_infos),
'bg_mp3': json.dumps(bg_mp3)
}
return ret
# 4 输出:
audios
images
texts
effect_infos
bg_mp3

9 开始创作视频
# 1 使用剪映小助手插件--》创建视频操作---》草稿插入图片---》草稿上添加字幕--》草稿添加样式--》添加背景音乐--》添加字幕音频---》保存草稿
# 2 需要如下插件---》搜剪映小助手
# 创建草稿 create_draft
# 添加图片 add_images
# 添加字幕 add_cations
# 添加样式 add_effects
# 添加音频:add_audios 背景音频
# 添加音频:add_audios 字幕音频
# 保存草稿:save_draft
9.1 创建草稿
# 输入宽高
高:1024
宽:575

9.2 添加图片

# 输入:
draf_url:草稿地址----draft_url
image_infos:前面代码节点输出的图像信息--》images
alpha:透明度不填
scale_x:1
scale_y:1 --》x,y轴缩放比例 1:1 原始值
scale_x:2
scale_y:2 --》x,y轴缩放比例 2:2 x轴和y轴缩放因子为2,不会改变图形的形状比例,仅按统一比例调整大小
x,y轴不平移
# 输出:
默认

9.3 添加字幕
# 输入
captions--->视频创作前--》texts
draft_url--->草稿插件返回的---》draft_url
alignment:1 居中对齐
border_color:边框颜色 #c3e0da 淡绿色
font_size:字体大小 7
text_color:字体颜色 #e8afb3 粉红
transform_x:0
transform_y:-810
# 输出
默认

9.4 添加样式

9.5 添加背景音

9.6 添加字幕音

10 保存草稿

11 试运行
# 输入一主题
动物园
厨房
交通工具
植物。。。
# 运行完是个地址:
https://ts.fyshark.com/#/cozeToJianyin?drafId=https://video-snot-12220.oss-cn-shanghai.aliyuncs.com/2025-08-31/draft/7edf4f32-ccd9-4452-981e-1560995e6269.json
12 下载剪映电脑版(win,mac)
# 1 剪映官方下载:https://www.capcut.cn/
Jianying_8419281950601_installer.exe
# 2 安装好后打开
# 3 配置草稿箱路径
右上角齿轮---》全局设置--》配置草稿位置--》保存

13 剪映小助手
# 1 从软件中获取--》安装到机器上,打开--》注册账号
# 2 配置剪映路径--》上面设置的剪映草稿路径
-一定要配置--》下载到剪映草稿箱
-打开剪映就能看到
# 3 下载视频草稿
# 4 在剪映中看到草稿--双击打开,导出即可



浙公网安备 33010602011771号