点击上方卡片关注 不要错过精彩文章
持续更新有关Agent的最新搭建思路和工作流分享,希望能给您带来帮助,点一点上方的🔵蓝色小字关注,你的支持是我最大的动力!🙏谢谢啦!🌟"
大家好!我是唐舰长,在观看本文章前可以先看一下上方的视频
这是舰长基于之前的心理火柴人进行更改的,同时也是一个商单案例;将火柴人和商业逻辑进行整合,如果有看过视频的小伙伴会发现,在视频的中间和后面都是在讲一个特色"全域运营"。
这个"全域运营"就是隐藏在视频中的产品介绍,对比现状凸显自己产品的优势,达到既看了商业内容,又变相带货
这也是本次舰长分享的一套智能体工作流可以直接实现的效果,对于火柴人的工作流目前还是非常火的,尤其是这种讲商业的,就让人忍不住停留观看。
话不多说,直接开始本次的分享,流程比较长,舰长就不过多分享搭建思路,关于Coze视频工作流搭建思路和逻辑的可以多看一些舰长之前分享的视频工作流:
工作流详情图:
Coze使用网址:https://www.coze.cn/
在资源库中创建一个新的工作流
开始节点
创建两个变量:
"chanpin":自己的产品介绍
"zhuti":传递需要生成的商业内容
如需测试使用,可以使用舰长的输入内容:
chanpin:
zhuti:
1:生成短视频文案-大模型节点
使用模型"deepseek- v3.1"
技能去添加一个联网问答节点,主要要获取最新的商业数据
输入:
chanpin引用开始节点的chanpin
zhuti:引用开始节点的zhuti
系统提示词和用户提示词太长,舰长已经打包好,文章结尾有领取方式
2:火柴人的构造词-大模型节点
从第一个节点延伸一条直线指向第二个节点
输入引用开始节点的zhuti
系统提示词和用户提示词太长,舰长已经打包好,文章结尾有领取方式
3:生成素材图-图像生成节点
选择通用pro模型
输入引用节点2点输出
提示词直接写入变量{{input}}
4:素材抠图-智能体抠图插件
上传图引用节点3点输出data
5:制作视频背景图-画板节点
引用开始节点的zhuti
画板设置:背景是16:9的背景
6:文字拆分-代码节点
input:引用开始节点的zhuti
output:引用节点1的输出
代码太长,舰长已经打包好,文章结尾有领取方式
输出:变量一定要一致:
result:变量类型为Array<object>
7:语音合成火山版-插件语音合成火山版
因为Coze的普通语音合成插件的声音没有情感,太过单调,但使用火山版的插件是可以用高情感的声音。
在这里面我们先配置其他内容,app_id和app_token下面在讲如何获取
选择批处理,去处理节点6传递过来的数据;所以引用节点6的输出即可
cluster为火山集群:统一填写"volcano_tts"
speaker_id为音色,舰长这个音色就是视频音色,"zh_female_mizai_saturn_bigtts"
text:引用节点7的item1
获取地址:https://console.volcengine.com/speech/service/8?AppID=8461750846
打开后先开通一下
页面往下滑就是app_id和app_token
更多音色选择:https://console.volcengine.com/speech/new/setting/activate?projectName=default
左侧的就是speaker_id
8:获取音频时间-插件剪映小助手"get_audio_duration"
使用的速推开发的插件,在插件中找到工具名为get_audio_duration
使用批处理去处理节点7的数组内容
批处理引用节点7的输出
输入:
mp3_url:引用节点8的item1-link
9:时间轴生成-代码节点
输入:引用节点8的输出
代码:格式乱了用豆包调整一下
async def main(args: Args) -> Output: time_segments = [] current_start = 0 for segment in args.params.get('input', []): duration = segment.get('duration', 0) end_time = current_start + duration time_segments.append({ "start": current_start, "end": end_time }) current_start = end_time # 直接继承结束时间作为下一段起始 # 新增逻辑:计算最终结束时间 final_end = current_start if time_segments else 0 # 当输入为空时返回0 return { "result": time_segments, "endtime": final_end # 新增的最终结束时间字段 }输出:
result:变量类型为Array<object>后添加子项:
start:变量类型为string
end:变量类型为string
endtime:变量类型为string
10:合并片段-大模型节点
引用及节点1的输出
系统提示词:
用户提示词:
输出output:变量类型Array<string>
11火柴人的构造词-大模型节点
使用批处理引用及节点10的输出
输入:引用节点11的item1
系统提示词:
用户提示词:
批量产出素材图-批处理节点
并行运行数量为3
输入引用节点11的输出
12:生成素材图-图像生成节点
选择通用pro模型
输入引用批处理节点的item(in input)中的output
13:素材抠图-智能体抠图插件
上传图:引用及节点12的输出data
批处理的输出
14:合并生成图片时间线-代码节点
三个支线合并到一个代码节点中
输入:
input:引用节点9的输出
time:引用节点10的输出
text:引用节点6的输出
代码太长,舰长已经打包好,文章结尾有领取方式
输出:
result:变量类型为Array<object>后添加子项:
start:变量类型为number
end:变量类型为number
节点15到节点节点31,大部分用的都是速推的插件
分别为:
视频合成_剪映小助手和剪映小助手数据生成器
15:创建剪映草稿
视频合成_剪映小助手里的创建草稿工具"create_draft"
16:音频导入
视频合成_剪映小助手里的工具"easy_create_material"
使用批处理并引用节点7的输出
audio_url:引用节点16中的link
draft_url:引用节点15的输出draft_url
别忘记把并行的数量设置为"1"
17:调整图片传输格式-文本处理节点
输入:一个引用节点5的输出data'另一个引用节点9的输出endtime
一定要用豆包调整一下格式
[ { "image_url": "{{String1}}", "width": 1920, "height": 1080, "start": 0, "end": {{String2}} }]18:添加背景图片素材
视频合成_剪映小助手里的工具"add_images"
draft_url:引用节点15的输出draft_url
image_infos:引用节点17的输出
19:str_to_list
剪映小助手数据生成器里的工具"str_to_list"
引用节点4的输出
20:提取第一个图片时间线-代码节点
输入:
input引用节点6的输出
代码:格式乱了用豆包调整一下
async def main(args: Args) -> Output: # 获取输入参数:从 args.params 中提取名为 'input' 的数组 input_array = args.params['input'] # 提取数组中的第一个元素(假设数组不为空) first_item = input_array[0] # 从第一个元素中获取 'start' 和 'end' 的值 start_value = first_item['start'] end_value = first_item['end'] # 创建一个包含 start 和 end 的对象 result_item = {"start": start_value, "end": end_value} # 将对象放入数组中,并命名为 "result" result_array = [result_item] # 返回包含结果数组的字典 return {"result": result_array}输出:
result:变量类型为Array<object>后添加子项:
start:变量类型为string
end:变量类型为string
endtime:变量类型为string
21:imgs_infos
剪映小助手数据生成器里的工具"imgs_infos"
imgs:引用节点19 的输出
timelines:引用节点20的食醋
in_animation:点开
n_animation_duration:1000000
22:add_images
视频合成_剪映小助手里的工具"add_images"
image_infos:引用节点21的输出
draft_url:引用节点15的draft_url
其他配置如图
23:音频导入数据-代码节点
输入:https://v3-jianying.vlabvod.com/d450fe5f4a736879307df9bdfae1aa6d/696666ef/video/tos/cn/tos-cn-ve-2774/ocrANIiMWgQsw8BAiQkmDPZyWrZAdMQvyIWjj/?a=1775&ch=0&cr=0&dr=0&er=2&cd=0%7C0%7C0%7C0&br=145&bt=145&ft=OV.Cu77JWH6BMaSj4vr0PD1IN&mime_type=audio_mp4&qs=6&rc=MzY8O2Q4PDQ6M2RoO2U1O0BpM3c1b2o5cmxtczMzNDlkM0BfNDUwXjIvXzMxYS5gNTMxYSMtM2ZlMmRrbWlgLS1kYS9zcw%3D%3D&btag=80000e00008000&dy_q=1765726703&l=202512142338229B6330959F5EFAF40DEC
代码:格式乱了用豆包调整一下
async def main(args: Args) -> Output: # 从输入参数中获取音频链接 audio_url = args.params['input'] # 按照指定格式构建输出字符串 output_string = f'[{{"audio_url": "{audio_url}","duration":100,"start":200000,"end":1000000}}]' # 返回字符串结果 return { "result": output_string }输出:result
24:add_audios
视频合成_剪映小助手里的工具"add_audios"
audio_infos:引用节点23的输出
draft_url:引用节点15的draft_url
25:str_to_list_1
剪映小助手数据生成器里的工具"str_to_list"
引用开始节点的zhuti
26:caption_infos
剪映小助手数据生成器里的工具"caption_infos"
texts:引用节点25的输出
timelines:引用节点20点输出
in_animation:预览打字
in_animation_duration:引用及节点20输出的end变量
27:add_captions
视频合成_剪映小助手里的工具"add_captions"
captions:引用节点26的输出
draft_url:引用节点15的draft_url
alignment:0
font_size:15
text_color:#000000
transform_x:-353
transform_y:237
28:调整图片输入格式-代码节点
输入:
time:引用节点14的输出
url:引用批处理节点的输出
代码太长,舰长已经打包好,文章结尾有领取方式
输出:result(一定要一致)
29:添加图片素材
视频合成_剪映小助手里的工具"add_images"
draft_url:引用节点15的draft_url
image_infos:引用节点28的输出
30:调整文字传输格式-代码节点
输入:
input引用节点6的输出
time:引用节点9的输出
代码:格式乱了用豆包调整一下
async def main(args: Args) -> Output: # 获取输入参数 input_texts = args.params['input'] # 文本内容列表 time_list = args.params['time'] # 时间参数列表 # 构建结构化数据 result = [] for text, time in zip(input_texts, time_list): # 关键修改点:将字符串转为数字类型 item = { "text": text, "start": int(time['start']), # 强制转换为整数 "end": int(time['end']), # 强制转换为整数 "in_animation": "渐显", "out_animation": "渐隐", "in_animation_duration": 500000, "out_animation_duration": 500000 } result.append(item) # 转换为JSON字符串(数字类型会自动保持为JSON number) return {"result": json.dumps(result, ensure_ascii=False)}输出:result
31:添加字幕素材
视频合成_剪映小助手里的工具"add_captions"
captions:引用节点30的输出
draft_url:引用节点15的draft_url
alignment:1
font_size:7
text_color:#000000
transform_y:-700
结束节点
draft_url:引用节点15的draft_url
这套工作流看起来复杂,但跑通之后,你就拥有了一个24小时不停工的商业视频生产线。
它能帮你实现:
✅ 从产品介绍到成片,全程自动化
✅ 火柴人+商业逻辑,既有创意又能带货
✅ 30+节点协同工作,省去90%的重复劳动
✅ 一套模板适配多个行业,改参数就能用
舰长团队用这套流程接了3个商单,单价从800到2000不等。客户最满意的一点是:视频既不硬广,又能把产品讲透。
实操建议:
1. 先跑通再优化:别一开始就纠结细节,先让工作流运行起来 2. 音色很关键:火山引擎的高情感音色是灵魂,别用机械音
新手容易踩的3个坑:
1. 火山语音的speaker_id填错,导致音色不对 2. 批处理节点忘记改并行数量,接口崩溃 3. 代码节点的输出变量类型没对齐,后续节点报错 4. 剪映小助手用的不熟练,最终产出是一个json链接,需要结合剪映小助手APP提取/当然也可以直接渲染出视频。
如果这套方法对你有启发,欢迎:
- 📌 点个「在看」,让更多创作者看到这套玩法
- 💬 评论区说说你的产品类型,舰长帮你分析适不适合做火柴人视频
- 🔄 转发给做商单/IP/短视频的朋友
- ⭐ 收藏本文,对着教程实操一遍(代码和提示词都打包好了)
需要获取工作流中的代码和提示词,可以在文章底部评论"1215",并添加微信发送评论截图进行领取。
关注公众号并添加舰长微信,领取智能体学习资料,并参与智能体技术直播讲解
另外非常欢迎大家加入[唐舰长AI落地智能体交流群],主要交流群每周都会进行公益直播教大家搭建AI智能体工作流
没有评论:
发表评论