爆款文案生成器(H5 端)2.0
本文手把手教你搭建一个,用于为商家店铺,生成爆款文案的应用,基于扣子平台的应用创作
爆款文案生成器(H5 端)2.0
作者:韩茹
一 效果展示
https://www.coze.cn/store/project/7562448478967316516?entity_id=1&bid=6ht4k7b3o7g1k

PC 端效果:
https://www.coze.cn/store/project/7562736496391192627?entity_id=1&bid=6ht6psamk201b

飞书多维表格:||———爆款文案仿写———||
飞书多维文档:
二 设计思路
爆款文案的思路,就是参模板示例,进行文案仿写。这里写的文案是商家宣传的广告文案。所以文案的格式,就分为以下几部分:
- 钩子:文案的第一句话,要引起用户的注意,才能吸引用户往下看,所以钩子模板尤为重要。
- 广告的类型:因为是为了商家的店铺宣传,所以针对店铺的优势,可以提供以下类型:口碑,环境,专业,性价比等等。
- 行动:就是广告的目的,吸引到店消费,私信咨询沟通,线上团购等等。
所以我们生成的爆款文案,就是围绕这 3 个部分来进行生成。每一部分生成一句文案,然后进行组合。就是最终的爆款文案。
三 创建应用
首先打开 coze 首页,进入某个空间。可以是个人空间,也可以是其他空间。创建一个应用。选择低代码创建即可。

选择创建空白应用:

应用名称:商家爆款文案生成器
应用描述:为商家的产品,生成爆款文案

四 搭建 UI 界面
4.1 界面选择小程序和 H5
这里,我们想最终把应用,部署在微信小程序上,所以这里的用户界面,选择小程序和 H5。

4.2 UI 界面布局
移动端的布局,相对 PC 端要稍微简单一丢丢。因为是竖版,直接摆放表单即可。这里就不用 div 了。
UI 界面上组件的属性值文本:可以将这些文本,复制粘贴到记事本中,方便进行粘贴到布局组件上。
组件上的文字内容:
1、Text1组件:商家爆款文案生成器
2、Text2组件:选择不同的模板,可以生成对应的爆款文案
3、Picker1组件:钩子/标签模板
4、Picker2组件:广告模板1
5、Picker3组件:广告模板2
6、Picker4组件:广告模板3
7、Picker5组件:行动模版
8、TextArea1组件:
标签内容:补充产品信息
占位文案:请提供根据模板仿写时需要展示的信息比如、地点、产品等
9、Button1组件:开始创作
4.2.1 form 表单组件
在左侧拖拽一个 form 表单。或者点击表单也可以添加到页面上。

1.设置 Text1 组件的属性

2.设置 text2 组件
其他不用的组件,直接删除即可。

设置 Picker1 组件
添加下拉选择组件:这个组件在 pc 布局时叫:select,在移动端布局叫 picker。

拖拽 picker 组件

修改 picker1 组件信息

复制出其他 Picker 组件
选中 picker1 组件,直接复制粘贴。复制出另外 4 个 picker 组件。

修改组件信息:

这里的广告模板 3,其实不是必填的,所以可以把必填的选项开关关掉。(但本文中没有关闭)

Textarea 组件
再添加一个 TextArea 组件,用来让用户输入产品信息。

设置 TextArea1 的属性值

6.Button 按钮组件
按钮组件上的文字,需要修改一下:

到此,UI 界面,大概搭建完毕。
五 业务逻辑-生成爆款文案
UI 界面现在预览的话, 每个 Picker 组件,缺少下拉数据。这个数据是不是在 UI 界面上写死的,是在后端传来的动态数据,渲染到 UI 界面上。
那什么时候加载这些数据,按理来讲,进入这个应用,打开这个页面,就该有下拉数据的。所以对于这个页面来讲,设置一个加载事件(每个组件都可以设置事件,就好比 button 按钮,可以设置点击事件一样),加载出后端传递来的数据。
但是这个数据,需要由工作流的结束节点传出。(目前从后端传递到前端的数据,仅有工作流的结束节点)。所以我们需要创建一个工作流,来传递出这些 Picker 组件的数据。
5.1 设置应用变量
在创建工作流之前,因为要传递给前端的数据结构比较复杂,所以我们先创建应用变量来进行存储一下。也方便其他工作流中使用。
首先回到业务逻辑面板中,左下角的设置里,点开变量。这里的变量有 3 种。
- 应用变量:用于存储这个应用的变量。
- 用户变量:一般存储用户的信息。
- 系统变量:系统提供的变量,比如 uuid 等。
5.1.1 钩子模板变量
这里我们使用应用变量,点击新增子项。先设置数据类型为:Array。

默认值这里,选择输入 JSON。

导入事先准备好的数据。删除默认的这个{}。然后粘贴下面准备好的数据。

把以下代码粘贴进去。
{
"tag_template": [
{
"label": "提问式",
"index": 0,
"value": [
"- 模板:为什么?\n- 文案参考:为什么?化州附近买过我家道口烧鸡的就会成为我的老顾客",
"- 模板:你敢相信吗?\n- 文案参考:你敢相信吗?在济南花99就能给自己爱车做一次保养?",
"- 模板:你知不知道?\n- 文案参考:你知不知道?在徐州开了二十多年的灯具店是什么样子的?"
]
},
{
"label": "好奇式",
"index": 1,
"value": [
"- 模板:好多人都不知道\n- 文案参考:好多人都不知道哪里可以吃到正宗的重庆火锅",
"- 模板:有没有现在\n- 文案参考:有没有现在在昆山想管理身材的小姐姐?",
"- 模板:XX是什么样的体验\n- 文案参考:男士修面是什么样的体验?"
]
},
{
"label": "挑战式",
"index": 2,
"value": [
"- 模板:挑战在...\n- 文案参考:挑战在杭州萧山用79块钱就能吃到满满一大桌的火锅",
"- 模板:100块就能在...\n- 文案参考:100块就能在福鼎配齐一整套包含镜片镜框的眼镜了",
"- 模板:粉丝留言我实现,今天...\n- 文案参考:粉丝留言我实现,今天带大家29.9体验2节高品质亲子早教课"
]
},
{
"label": "揭秘式",
"index": 3,
"value": [
"- 模板:告诉大家一个...\n- 文案参考:告诉大家一个在昭通专做小肉串10年,被无数网友传的神呼其神的烧烤店",
"- 模板:外行人都不知道\n- 文案参考:外行人都不知道济南同行报价20W的装修核算,这家装修公司只报5W",
"- 模板:99%的人都不知道\n- 文案参考:99%的姐妹都不知道在武汉江夏公寓楼里,有一家宝藏女装店"
]
},
{
"label": "标签模板",
"index": 4,
"value": [
"没想到我们试营业第一天 就广受XX 人民好评,店内很多产品一上线就售空",
"不是吧,现在的XX都这么拼了吗? XX 新开的XX把今年流行的成色装了进去",
"喜欢吃XX的姐妹 推荐你们来XX这家XX",
"在XX提到XX 那么XX老店XX值得你来体验一下",
"你永远可以相信XX 对XX 的专业程度",
"在XX 想吃XX,不晓得去哪里? 那可以来XX看看啦,而且就是那种老店",
"想在XX买到既好吃又健康的XX 不要再去网上搜搜了",
"在XX有这么一家XX,都已经开了XX了,你知道吗?",
"在XX吃XX,99%的人都喜欢吃什么口味 做了XX的XX,让我告诉你",
"在XX,两位数就能安排这么大一锅XX",
"就在XX,有一家学生党都毫无压力的XX",
"我敢说啊,吃了这一家的XX,你就不会说XX是美食荒漠啦",
"XX的宝子们,XX开到XX啦",
"这可是连本地人都会推荐的XX必吃榜",
"我在XX开了一家不一样的XX",
"在XX,我看看谁还没吃过XX呢",
"我们家的XX味道,让你们在XX找不到第二家",
"重生之我在XX卖XX",
"XX有担心质量问题被入坑的家人们,一定要来这家XX看看",
"在XX遇到这个XX,千万不要放过她",
"不是XX去不起,而是我们XX更有性价比",
"在XX做了XX多年XX又上新套餐了",
"在XX我们做XXXX是专业的",
"XX70%的XXX门店都跟这家工厂店有合作",
"通知通知XX所有的XXX的客户",
"在XX找XXXX这条视频一定要码住",
"需要XX的老板看过来,我们是XXX,我们是真正的源头厂家",
"在XX找到一家靠谱价格合适的XX店有多难?",
"在XX你想买XX来我家基本就找到源头了",
"XX想买这种XX的XX的看过来了,XX到货了",
"XX还有一家这样子的专门做XX的市场哈",
"最近要XX的宝子们,XX这家XX实体店居然比网上买还便宜",
"在XX根本不需要网购",
"XX的朋友赶紧来XX捡漏了",
"来XX选XX,不来我这里你永远不知道",
"为啥全XX人都爱找我们XX给XXXX",
"XX哪家强?XX找XX",
"我可能是咱XX最傻的XX老板了",
"买XX一定要找XX厂家买才能更省钱,我在xx专业生产xx已经有xx年了",
"终于在XX发现了一家本地人扎堆去逛的好地方,这是一家开在XX里的XX店",
"到底是谁在说在XX没有跳过中间商的XX源头工厂店?",
"如果你还没有找到合适的XX工厂,那一定是你还没有刷到我。我来自XX,在XX做XX这一块",
"有人说啊,现在买XX太贵,我是第一个不同意的,因为你们不知道啊,在XX有一个地方,福利巨大,优惠更多",
"XX的朋友你们好,你们家的XX需要XX吗?",
"在XX你还在因为XX而XX,再XX?",
"我希望XX的XX都能刷到这个视频",
"xx开始搞活动了,位置是在xx,想xx的家人们赶紧看过来,我带你们一块了解一下",
"在xx学xx呢,想xx,现在xx还来得及",
"xx的xx注意了,很多xx问我,xx老师,我们家xx,以前没有学过xx,现在学还来得及吗?",
"在xx这个价格不会是在开玩笑吧?",
"给你们找到一个xx新去处。一家在xx占地面积xx的xx",
"压力大,没地方发泄,来试试我们的xx,无论你是xx还是xx,或者是喜欢xx的xx,都可以参加哦",
"我身后这家xx就是我开的,位置就在xx",
"如果你也想像我一样,想xx,那就来xx",
"揭秘一下xx近xx元的xx都xx?",
"在xx的xx看过来,想xx?那就来xx",
"这才是xx的xx啊,在xx给你们找到了一家靠谱的xx,xx",
"xx竟然开启了xx就能xx,",
"xx这家圈粉无数xx的xx你知道吗?",
"xx的老铁们,xx的好时候来了啊",
"xx xx这么多,为什么要在xx呢?",
"在xx不想xx,也不想xx,能不能实现xx呢?",
"想要xx,如何选择适合自己的xx,一站式给你解决",
"大家好,我是xx,准备xx的xx注意了",
"XX想买实惠XX的朋友看一下我们这里",
"藏在XX旁的XX店一定会成为XX一张崭新的文化名片",
"位于XX路上的XX大家应该都不陌生了",
"XX附近的小伙伴,如果感到XX想放松一下的,我推荐你到这家XX",
"我不会告诉你们,我们家是XX最好的XX",
"XX竟然还藏着这么一个绝美的XX呢,我不允许你还不知道",
"要不是朋友介绍,还真不知道在XX的X边有一处宝藏的XX",
"就是这个XX首家XX店,xx请过来的XX也太绝了吧",
"没想到XX的XX都卷成这样了",
"我希望XX的XX都能看到这条视频,并能够用心的把它看完",
"如果你在XX,还不知道我们这里可以XX,你就亏大了",
"在XX没有XX,拒绝这样XX",
"在XX没有比这里更好的XX了",
"在XX只找XX,为什么呢?",
"千万不要轻易尝试XX啊,不然你就会后悔为什么没有早点来",
"XX想XX又怕贵的朋友,现在机会来了",
"在XX一家宝藏XX店,真的没有人是他的对手",
"我不允许还有XX的姐妹们不知道这家XX的XX店",
"我在XX开了一家所有人都能消费得起的XX店",
"我家的店开了XX多年了,没想到通过抖音让XX更多的朋友知道了我家的店",
"在XX你买XX不到我店里看看,你绝对会吃亏",
"我在XX开了一家看起来很贵的XX店",
"在XX发现了一家让人XX上会上瘾的XX",
"听说没有一个XX的女生能空手走出这里,",
"在XX我劝你真的来我们家看看哈",
"XX的这一家XX工厂/店,你们是不是还没有找到?",
"XX的XX们啊,咱家卖疯了的福利款的XX终于补货到了",
"原来在XX真的有看起来很贵,实际上很平价的XX店",
"在XX让无数XX为之疯狂的XX店到底长什么样?",
"真不是我吹,这家的XX你X过一次就会次次都想X",
"终于等到了xx把xx的xx店开到xx,就在xx",
"我的出现必将震惊整个XX行业,为啥子呢",
"xx后xx挑战在xx开一家平价xx",
"如果你也有xx烦恼的话,那一定要来xx这家xx",
"现在的xx越来越多,xx问题也应该得到重视,在xx有一家xx",
"最近很多 XX 的 XX 刷到我的视频来我们家买 XX",
"为什么 XX 附近买过我家 XX 的就会成为我的老顾客",
"这两天很多 XX 的 XX 通过抖音到我们家买 XX",
"你能想象的到吗?我竟然在 XX 开了一家这样的 XX",
"你不会还不知道在 XX ,有一家宝藏 XX 店吧?",
"我在 XX 做 XX 多少年了,身后这家 XX 店,就是我开的",
"在 XX 想要 XX 的认准 XX",
"我是在 XX 开了 XX 年 XX 店的 XX",
"我在 XX 做 XX 多少年了,几乎零投诉",
"你敢相信么?在 XX 花 XX 就能做一次 XX ?",
"你晓不晓得 XX 现在的 XX 都喜欢去哪里 XX?",
"XX想要做 XX 的 XX,一定要看一下",
"XX,想 XX 的朋友看一下这里啊",
"在 XX 有没有想要 XX 的 XX刷到这条视频就是你们的福利了",
"在 XX 没有找我之前,我敢说,你原来买的 XX 都买亏了",
"很多 XX 的顾客问我你们这边 XX 这么便宜,到底是不是真的?",
"在XX,一位深耕XX X年的手艺人开的XX是什么样子的呢?"
]
}
]
}
粘贴进来

点击确认

可以修改下变量描述:标签、钩子模板列表

5.1.2 广告模板变量 1、2
同样的方式再添加一个子项,设置两个广告模板变量:

还是在默认值那里,点击输入 JSON
粘贴以下数据
{
"advertising_template": [
{
"label": "口碑好",
"index": 0,
"value": [
"- 模板:我的老顾客很多,以及老顾客给介绍过来的新顾客也很多",
"- 模板:来这里买 XX的人啊,不光是给自己买,还会把亲戚朋友都转介绍过来买",
"- 模板:很多来咱家的客人啊,都说为了这XX愿意来100次",
"- 模板:我们家 XX 店开业 XX 年以来客户几乎0差评",
"- 模板:来我家买过XX的基本上都是好评",
"- 模板:买过我们家 XX的99%都是好评",
"- 模板:今天又有老客户带着 XX 来我们家买 XX了",
"- 模板:我XX的新客户都是老客户推荐来的",
"- 模板:你来我家 XX一次XX,不仅自己会来还会带着XX也来"
]
},
{
"label": "性价比",
"index": 1,
"value": [
"- 模板:XX分钟 XX课,零基础也能轻松学会",
"- 模板:搞定 XX 居然不到 XX",
"- 模板:\"现在给咱们上了一波超级合适的抖音团购,一定不要错过,只要 XX 就可以代 XX\"",
"- 模板:高性价比,品质好物,更有一对一的 XX为你保驾护航",
"- 模板:来我家买过XX的基本上都是好评",
"- 模板:住在 XX 附近的朋友们,XX 就能体验 XX 分钟 XX 哦",
"- 模板:现在 XX 体验可拍抖音团购啦,双人团XX各 XX",
"- 模板:\"本地总部工厂钜惠 XX,工厂总部直销,同样的品质,我们一定可以做到比普通门店更省钱\"",
"- 模板:我们XX的XX确实是便宜,对比价格以后都会选择我们",
"- 模板:还有其他项目类型价格也很美丽",
"- 模板:\"X 位数的 XX,各种 XX 随便 XX,比如 XX 这些也通通不限量\"",
"- 模板:现在不到 XX 就能体验 XX 了",
"- 模板:\"面前的这个 XX 套餐,XX 就特别的合适呀,XX 都不到就能拥有\"",
"- 模板:\"咱们把价格打到Z低,实实在在的好处推荐给身边的XX们\"",
"- 模板:\"在我们这里只需要花费XX的价格就可以吃上价值千元的XX\"",
"- 模板:这么 XX 只要 XX,还送 XX",
"- 模板:\"在家门口就有一家比网购还便宜XX店,我就不信上万款潮流单品不吸引你\"",
"- 模板:现在 XX就可以拥有XX,算下来也太划算了吧",
"- 模板:\"体验 XX才 XX,如果你感兴趣的话来试试就知道了,位置就在 XX\"",
"- 模板:XX 节来临 XX元享受 XX,另外再送 XX",
"- 模板:\"只要去过他家一次,都会成为回头客,因为他家在 XX 里卖 XX,一件也是批发价\"",
"- 模板:只要 XX 就可以享受 XX,非常非常的划算",
"- 模板:\"只要你在我家买的XX觉得贵了,你随时来找我,2个星期,2个月我都给你退\"",
"- 模板:\"这是一家你工资只有几千块钱也能去的起的XX店,像这种 XX 你在其他地方买没有XX下不来,在我们家只需要 XX\"",
"- 模板:这种在 XX的XX在我们这里只需要 XX",
"- 模板:在其他家报价 XX的 XX,我们家只需要 XX"
]
},
{
"label": "生意好",
"index": 2,
"value": [
"- 模板:好多顾客从 XX或者是 XX,好远跑过来买",
"- 模板:XX 在 XX 行业 XX 年沉淀,培训出 XX",
"- 模板:来到这儿才发现热爱 XX的XX是真的不少",
"- 模板:\"每次满场等位我都很紧张,一怕大家等的久,二怕有什么招待不周的地方\"",
"- 模板:很多人开车10几公里来我店里买 XX",
"- 模板:今天又有人带着朋友来我家买 XX",
"- 模板:每天很多新客户刷到我的视频来我们家体验 XX",
"- 模板:\"这几天刷到视频来我们家来 XX的朋友太多了,招待不周请多担待\"",
"- 模板:我们从开业到现在服务了 XX位 XX"
]
},
{
"label": "服务好",
"index": 3,
"value": [
"- 模板:\"我 XX 今天实名承诺,买了我们家 XX的朋友,买贵包赔,有任何质量问题包退\"",
"- 模板:XX一整套给你整的明明白白的,XX以后也是XX",
"- 模板:\"他家更有针对性,根据不同的情况使用不同的XX,换 XX 前还会给 XX 消毒,让人很放心\"",
"- 模板:XX 不仅有 XX,还提供搭配服务",
"- 模板:\"只要你在 XX 我们给你包安装,包售后,没得任何套路,我们还免费上门给你送次保养\"",
"- 模板:\"在XX开了一个首家不推销、不办卡,无套路,按次收费的XX\"",
"- 模板:没有任何的暴力XX,没有任何的二次消费",
"- 模板:\"我们的团队成员都经过专业培训,他们将以热情周到的态度为您提供优质的服务,我们XX24小时免费 XX,从XX到XX完成,全程无需您的担心\"",
"- 模板:从XX到XX,再到XX,售后保障我们全程负责",
"- 模板:\"不要担心学不会,我们都是针对零基础学员,一对一手把手教学,学习期间每天都可以真人实操练习\"",
"- 模板:\"虽然价格便宜,但上门测量、送货、安装售后该有的服务一样都不会少\"",
"- 模板:佛系店主全程无推销,环境干净,只管放心享受",
"- 模板:会针对 XX 做针对性 XX",
"- 模板:\"担心服务的老板放心批发,一站式采购,全程送货,售后无忧,用心耐心为您服务\""
]
},
{
"label": "人品",
"index": 4,
"value": [
"- 模板:\"并且这个老板娘呢,很实在,不喜欢跟任何人打心理战术,只有能聊到一块啊,价格都不是问题,我们给以前的XX供货供了XX年,XX的XX都是我们送的\"",
"- 模板:\"所以跟他打过交道的人,都是很放心的介绍身边的亲戚朋友给他\"",
"- 模板:\"老板为人非常实在,而且对待客户非常的热情,详细的讲解 XX 知识\""
]
},
{
"label": "专业",
"index": 5,
"value": [
"- 模板:\"这是一家在 XX经营了 XX年的XX店了,XX都是有XX年XX的老师傅了\"",
"- 模板:这个店的老板是做了 XX 年的 XX 行业",
"- 模板:她会根据你的 XX 适合 XX 给你推荐",
"- 模板:我们拥有 XX专业的设计团队为您服务",
"- 模板:\"这里的师傅都有着 XX 年的丰富 XX 经验,为的就是服务好每一个客户,留住每一个客人\"",
"- 模板:XX 人员都是持证上岗,我们门店是没有学徒的"
]
},
{
"label": "附加值",
"index": 6,
"value": [
"- 模板:可以给您免费 XX,满意再买",
"- 模板:咱们 XX 也是包邮",
"- 模板:还有一个大福利,XX 即赠送 XX",
"- 模板:XX 内还设有“XX”",
"- 模板:\"XX 活动福利多多,XX 送、XX送,XX 通通都送,多轮抽奖礼品拿到手软\"",
"- 模板:最主要的XX结束后,而且XX,还没有任何隐形收费",
"- 模板:\"即日起前30名的用户赠送 XX,好礼享不停,全方位为您配齐\"",
"- 模板:重点是这么多XX都是可以叠加的"
]
},
{
"label": "环境",
"index": 7,
"value": [
"- 模板:改造后的 XX 外观设计采用 XX,营造出 XX的氛围",
"- 模板:\"环绕在 XX,依山傍水,耗资 XX 打造的 XX,秋千避暑打卡拍照圣地\"",
"- 模板:\"一到地方就感叹这里是真的惬意啊,超大的 XX,整个 XX 氛围感很棒,拍照是真的出片\"",
"- 模板:他家的 XX 都是一客一用一消毒,用着完全放心"
]
},
{
"label": "品类多",
"index": 8,
"value": [
"- 模板:店里面XX很多,各种档次价位的都有",
"- 模板:每年流行的XX在我们这里都有记录,可选择性多",
"- 模板:\"刚刚听旁边的小姐姐说她一周会来三次,因为这家店的品种相对来说比较多\"",
"- 模板:你们是XX还是XX,只要你需要,这里都能满足你",
"- 模板:\"咱这 XX 多平方的XX卖场,各种XX应有尽有,我们的套餐从XX到XX不等,能满足你们不同的 XX需求",
"- 模板:汇集了近 XX种 XX,包括 XX、XX、XX等等",
"- 模板:XX 期间将有 XX、XX.等各种活动",
"- 模板:\"都说 XX 店贵,没想到啊,这里面的XX好看便宜,还不撞款\"",
"- 模板:XX平的展厅,上万件XX单品 真的让我大吃一惊",
"- 模板:这里不光可以提供 XX,而且还有XX"
]
},
{
"label": "方便",
"index": 9,
"value": [
"- 模板:\"好你有地方回购,不好你有地方退钱不就可以了,简简单单的事情\"",
"- 模板:位于 XX 附近,配置停车场",
"- 模板:有XX和XX,我们会根据客户的需求来推荐哦",
"- 模板:XX 出发,X小时左右车程即可抵达"
]
},
{
"label": "效果好",
"index": 10,
"value": [
"- 模板:\"XX 分为 XX个阶段,单次体验可以 XX,一个周期可以 XX\"",
"- 模板:\"这位 XX到我们这里做了 XX次了,现在我们来看一下她的结果,我刚来的时候 XX,但是经过 XX 已经可以 XX\"",
"- 模板:XX次就能看到明显的效果"
]
}
]
}
修改变量描述:广告模板列表 1、2

5.1.3 广告模板列表 3
同样的方式,再添加一个变量。

内容其实和广告 1、2 的一样,只是多了一个暂不选择,数据如下:
{
"advertising_template3": [
{
"label": "暂不选择",
"index": 0,
"value": []
},
{
"label": "口碑好",
"index": 1,
"value": [
"- 模板:我的老顾客很多,以及老顾客给介绍过来的新顾客也很多",
"- 模板:来这里买 XX的人啊,不光是给自己买,还会把亲戚朋友都转介绍过来买",
"- 模板:很多来咱家的客人啊,都说为了这XX愿意来100次",
"- 模板:我们家 XX 店开业 XX 年以来客户几乎0差评",
"- 模板:来我家买过XX的基本上都是好评",
"- 模板:买过我们家 XX的99%都是好评",
"- 模板:今天又有老客户带着 XX 来我们家买 XX了",
"- 模板:我XX的新客户都是老客户推荐来的",
"- 模板:你来我家 XX一次XX,不仅自己会来还会带着XX也来"
]
},
{
"label": "性价比",
"index": 2,
"value": [
"- 模板:XX分钟 XX课,零基础也能轻松学会",
"- 模板:搞定 XX 居然不到 XX",
"- 模板:\"现在给咱们上了一波超级合适的抖音团购,一定不要错过,只要 XX 就可以代 XX\"",
"- 模板:高性价比,品质好物,更有一对一的 XX为你保驾护航",
"- 模板:来我家买过XX的基本上都是好评",
"- 模板:住在 XX 附近的朋友们,XX 就能体验 XX 分钟 XX 哦",
"- 模板:现在 XX 体验可拍抖音团购啦,双人团XX各 XX",
"- 模板:\"本地总部工厂钜惠 XX,工厂总部直销,同样的品质,我们一定可以做到比普通门店更省钱\"",
"- 模板:我们XX的XX确实是便宜,对比价格以后都会选择我们",
"- 模板:还有其他项目类型价格也很美丽",
"- 模板:\"X 位数的 XX,各种 XX 随便 XX,比如 XX 这些也通通不限量\"",
"- 模板:现在不到 XX 就能体验 XX 了",
"- 模板:\"面前的这个 XX 套餐,XX 就特别的合适呀,XX 都不到就能拥有\"",
"- 模板:\"咱们把价格打到Z低,实实在在的好处推荐给身边的XX们\"",
"- 模板:\"在我们这里只需要花费XX的价格就可以吃上价值千元的XX\"",
"- 模板:这么 XX 只要 XX,还送 XX",
"- 模板:\"在家门口就有一家比网购还便宜XX店,我就不信上万款潮流单品不吸引你\"",
"- 模板:现在 XX就可以拥有XX,算下来也太划算了吧",
"- 模板:\"体验 XX才 XX,如果你感兴趣的话来试试就知道了,位置就在 XX\"",
"- 模板:XX 节来临 XX元享受 XX,另外再送 XX",
"- 模板:\"只要去过他家一次,都会成为回头客,因为他家在 XX 里卖 XX,一件也是批发价\"",
"- 模板:只要 XX 就可以享受 XX,非常非常的划算",
"- 模板:\"只要你在我家买的XX觉得贵了,你随时来找我,2个星期,2个月我都给你退\"",
"- 模板:\"这是一家你工资只有几千块钱也能去的起的XX店,像这种 XX 你在其他地方买没有XX下不来,在我们家只需要 XX\"",
"- 模板:这种在 XX的XX在我们这里只需要 XX",
"- 模板:在其他家报价 XX的 XX,我们家只需要 XX"
]
},
{
"label": "生意好",
"index": 3,
"value": [
"- 模板:好多顾客从 XX或者是 XX,好远跑过来买",
"- 模板:XX 在 XX 行业 XX 年沉淀,培训出 XX",
"- 模板:来到这儿才发现热爱 XX的XX是真的不少",
"- 模板:\"每次满场等位我都很紧张,一怕大家等的久,二怕有什么招待不周的地方\"",
"- 模板:很多人开车10几公里来我店里买 XX",
"- 模板:今天又有人带着朋友来我家买 XX",
"- 模板:每天很多新客户刷到我的视频来我们家体验 XX",
"- 模板:\"这几天刷到视频来我们家来 XX的朋友太多了,招待不周请多担待\"",
"- 模板:我们从开业到现在服务了 XX位 XX"
]
},
{
"label": "服务好",
"index": 4,
"value": [
"- 模板:\"我 XX 今天实名承诺,买了我们家 XX的朋友,买贵包赔,有任何质量问题包退\"",
"- 模板:XX一整套给你整的明明白白的,XX以后也是XX",
"- 模板:\"他家更有针对性,根据不同的情况使用不同的XX,换 XX 前还会给 XX 消毒,让人很放心\"",
"- 模板:XX 不仅有 XX,还提供搭配服务",
"- 模板:\"只要你在 XX 我们给你包安装,包售后,没得任何套路,我们还免费上门给你送次保养\"",
"- 模板:\"在XX开了一个首家不推销、不办卡,无套路,按次收费的XX\"",
"- 模板:没有任何的暴力XX,没有任何的二次消费",
"- 模板:\"我们的团队成员都经过专业培训,他们将以热情周到的态度为您提供优质的服务,我们XX24小时免费 XX,从XX到XX完成,全程无需您的担心\"",
"- 模板:从XX到XX,再到XX,售后保障我们全程负责",
"- 模板:\"不要担心学不会,我们都是针对零基础学员,一对一手把手教学,学习期间每天都可以真人实操练习\"",
"- 模板:\"虽然价格便宜,但上门测量、送货、安装售后该有的服务一样都不会少\"",
"- 模板:佛系店主全程无推销,环境干净,只管放心享受",
"- 模板:会针对 XX 做针对性 XX",
"- 模板:\"担心服务的老板放心批发,一站式采购,全程送货,售后无忧,用心耐心为您服务\""
]
},
{
"label": "人品",
"index": 5,
"value": [
"- 模板:\"并且这个老板娘呢,很实在,不喜欢跟任何人打心理战术,只有能聊到一块啊,价格都不是问题,我们给以前的XX供货供了XX年,XX的XX都是我们送的\"",
"- 模板:\"所以跟他打过交道的人,都是很放心的介绍身边的亲戚朋友给他\"",
"- 模板:\"老板为人非常实在,而且对待客户非常的热情,详细的讲解 XX 知识\""
]
},
{
"label": "专业",
"index": 6,
"value": [
"- 模板:\"这是一家在 XX经营了 XX年的XX店了,XX都是有XX年XX的老师傅了\"",
"- 模板:这个店的老板是做了 XX 年的 XX 行业",
"- 模板:她会根据你的 XX 适合 XX 给你推荐",
"- 模板:我们拥有 XX专业的设计团队为您服务",
"- 模板:\"这里的师傅都有着 XX 年的丰富 XX 经验,为的就是服务好每一个客户,留住每一个客人\"",
"- 模板:XX 人员都是持证上岗,我们门店是没有学徒的"
]
},
{
"label": "附加值",
"index": 7,
"value": [
"- 模板:可以给您免费 XX,满意再买",
"- 模板:咱们 XX 也是包邮",
"- 模板:还有一个大福利,XX 即赠送 XX",
"- 模板:XX 内还设有“XX”",
"- 模板:\"XX 活动福利多多,XX 送、XX送,XX 通通都送,多轮抽奖礼品拿到手软\"",
"- 模板:最主要的XX结束后,而且XX,还没有任何隐形收费",
"- 模板:\"即日起前30名的用户赠送 XX,好礼享不停,全方位为您配齐\"",
"- 模板:重点是这么多XX都是可以叠加的"
]
},
{
"label": "环境",
"index": 8,
"value": [
"- 模板:改造后的 XX 外观设计采用 XX,营造出 XX的氛围",
"- 模板:\"环绕在 XX,依山傍水,耗资 XX 打造的 XX,秋千避暑打卡拍照圣地\"",
"- 模板:\"一到地方就感叹这里是真的惬意啊,超大的 XX,整个 XX 氛围感很棒,拍照是真的出片\"",
"- 模板:他家的 XX 都是一客一用一消毒,用着完全放心"
]
},
{
"label": "品类多",
"index": 9,
"value": [
"- 模板:店里面XX很多,各种档次价位的都有",
"- 模板:每年流行的XX在我们这里都有记录,可选择性多",
"- 模板:\"刚刚听旁边的小姐姐说她一周会来三次,因为这家店的品种相对来说比较多\"",
"- 模板:你们是XX还是XX,只要你需要,这里都能满足你",
"- 模板:\"咱这 XX 多平方的XX卖场,各种XX应有尽有,我们的套餐从XX到XX不等,能满足你们不同的 XX需求",
"- 模板:汇集了近 XX种 XX,包括 XX、XX、XX等等",
"- 模板:XX 期间将有 XX、XX.等各种活动",
"- 模板:\"都说 XX 店贵,没想到啊,这里面的XX好看便宜,还不撞款\"",
"- 模板:XX平的展厅,上万件XX单品 真的让我大吃一惊",
"- 模板:这里不光可以提供 XX,而且还有XX"
]
},
{
"label": "方便",
"index": 10,
"value": [
"- 模板:\"好你有地方回购,不好你有地方退钱不就可以了,简简单单的事情\"",
"- 模板:位于 XX 附近,配置停车场",
"- 模板:有XX和XX,我们会根据客户的需求来推荐哦",
"- 模板:XX 出发,X小时左右车程即可抵达"
]
},
{
"label": "效果好",
"index": 11,
"value": [
"- 模板:\"XX 分为 XX个阶段,单次体验可以 XX,一个周期可以 XX\"",
"- 模板:\"这位 XX到我们这里做了 XX次了,现在我们来看一下她的结果,我刚来的时候 XX,但是经过 XX 已经可以 XX\"",
"- 模板:XX次就能看到明显的效果"
]
}
]
}
修改变量描述:广告模板列表 3

5.1.4 行动模板列表
同样的方式,再添加一个应用变量。

输入 JSON 数据如下:
{
"action_template": [
{
"label": "到店消费邀请",
"index": 0,
"value": [
"- 如果你有什么需求,欢迎随时到我店里面来逛一逛",
"- 在XX,如果你也想买XX,欢迎到店选购",
"- 感兴趣的XX,赶紧来店里瞧瞧吧",
"- 快来店里,和XX说拜拜,期待与您相见!",
"- 欢迎来这里看看,就在XX",
"- 想用品质好的XX,一定要到我这里来看看",
"- 如果你对XX感兴趣,不妨来XX看看",
"- 我敢说在XX没有比我们更划算的XX,欢迎XX的兄弟姐们过来打卡品尝",
"- XX是个靠谱的人,从来不强买强卖,不给你推荐贵的,只给你推荐对的,赶紧带上你的朋友来逛逛吧",
"- 我们家经营各类XX,假如有一天你刚好刷到我的视频,刚好需要买XX,记得来这里找我,我在XX等你哦",
"- 近期有XX需求的老板,欢迎来XX实地考察",
"- 有兴趣的老板别再犹豫了,快来我们XX看看吧",
"- XX采购就来XX,我在XX等您",
"- 东西都是看得见摸得着的,质量什么的心里也都有数,想省钱用好东西的就来XX看看吧",
"- 我们的地址是XX,欢迎各位前来选购",
"- 不信的话,你可以到我们店来看看,都是真的,我们的店就在XX",
"- XX的朋友啊,左下角团购先安排上,反正不用随时可退",
"- 地址就在XX,门口还特别好停车",
"- 心动的家人们快来尝尝吧,地点就在XX",
"- 在XX一旦你想XX,就来找我吧,我在店里满怀期待等你哦",
"- 在XX买XX,你可以完全信任XX。想了解更多,来XX(店名)吧,位置在XX,我们在这等你们哟",
"- XX这么热的天,也给你们备好了免费的饮料和矿泉水,欢迎大家到店来体验"
]
},
{
"label": "评论区互动引导",
"index": 1,
"value": [
"- 如果你有XX问题,评论区告诉我",
"- 在XX,如果你也想XX,评论区留下你的XX",
"- 在XX,如果你想XX,评论区可以留言",
"- 如果您想了解更多关于XX,欢迎评论区留言",
"- 我是挑战在XX一年为XX个朋友做XX的XX,评论区告诉我你想做XX?让我来帮你XX吧",
"- 想XX评论区留言,XX全城可送货",
"- 如果你也想XX,评论区扣1XX手把手的教你"
]
},
{
"label": "线上团购促销",
"index": 2,
"value": [
"- 最近打算来XX的宝子们,左下角的代金券,千万别忘了囤起来",
"- 左下角链接可以团一个XX的券来体验一下哦",
"- 趁左下角有活动啊,真的可以冲一波",
"- 听说XX的帅哥靓女们也都来体验了,你们也赶紧冲啊,优惠就在左下角",
"- 如果你也想XX,真的可以来这里体验一下,这个是XX活动,刷到了赶紧囤",
"- 现在XX活动正在火热进行,进店还有惊喜礼包哦,点击视频下方定位到店有惊喜,欢迎咨询,欢迎选购",
"- 团购那么给力,团完了赶紧来试试吧",
"- 优惠有限,刷到的可以先囤,别再等了,带上XX,一起来吧",
"- 现在点关注下单,我们还送XX哦",
"- 如果你也在XX还没有体验过XX,左下角赶紧团一单吧",
"- 进店消费满额好礼送不停,趁着XX活动,赶紧带上XX来逛逛",
"- 建议XX可以囤上一份,这波优惠套餐我都给你们放在左下角了,赶紧团一张",
"- 优惠活动都放在视频左下角,喜欢XX的家人们赶快冲吧",
"- 更何况现在XX只需XX,团购优惠就在视频左下角",
"- 这是XX才有的活动,建议你们刷到的千万不要犹豫,先把券囤上",
"- XX的朋友,左下角团购先安排上,反正不用随时可退"
]
},
{
"label": "私信咨询沟通",
"index": 3,
"value": [
"- 还说什么呢,XX(价格)现在就能拿下来了,还不抓紧?如果你近期想XX,那么赶快私信我吧。XX到哪里,XX家不会错",
"- 如果你也在XX想要XX,可以关注我,后台私信到我们店来体验一下",
"- XX想了解更多吗?点击私信联系XX",
"- 有喜欢的都可以直接艾特我,在XX要买XX,找XX靠谱"
]
},
{
"label": "产品服务推荐",
"index": 4,
"value": [
"- 所以在XX这个地方,您需要买XX呀,认准咱们家呀,准没错",
"- 想要正宗又实惠的XX,找XX",
"- 在XX,想要XX,记得来找我们XX",
"- 你一定要尝一尝XX",
"- 想要口碑销量好,就找XX帮你搞",
"- XX无论是价格,还是品质都是你无法拒绝的,不信就来试试",
"- 想要安心、放心,就选XX",
"- 找XX更省心,为您推荐适合您的高性价比的XX",
"- 买XX找XX",
"- XX的朋友,如果说你们需要买XX,欢迎到我们店来啊,在我们这里买XX,质量价格都是有保证的",
"- 如果你也在找XX,一件也批发",
"- 如果在XX,你想找一家高品质、专业又不用担心质量问题的,那欢迎你来我家下一单试试,一定不会让你失望的",
"- 喜欢XX的一定多来,品类多种多样,应有尽有,一次让你尝个遍,天天都想念"
]
},
{
"label": "综合服务提供",
"index": 5,
"value": [
"- 也可以XX,只要你需要,我们这里都有,全国各地都可以发货哟",
"- 有需要XX的朋友联系我,可以快递送货上门,也可以亲自到我厂选购",
"- 现在XX内还免费配送,下单直接安排到家,不用去买,左下角直接安排",
"- 留下您的联系方式,剩下的交给我们",
"- 喜欢XX直接联系我们就好了,给你单独定制",
"- 如果说你也是第一次来XX,或者来XX都不知道怎么玩,直接联系我们就好了",
"- 留下你的XX需求,剩下的交给我们",
"- 所有XX的朋友都可以过来捧场打卡,直接提这边儿的XX就行了",
"- 如果你们喜欢XX,可以来我们这里坐坐"
]
},
{
"label": "账号关注引导",
"index": 6,
"value": [
"- 这个XX惊喜就来XX安排吧,点关注不迷路",
"- 关注XX,有更多XX供你选择,这里是XX,带你买XX,让你少走弯路",
"- 我呢天天发视频,而你今天终于刷到了,那么咱们不如见一面吧,你可以带上XX,一起来体验一下我们家的XX哦",
"- 希望XX的家人们能够喜欢,左下角看看吧",
"- 家人们只有这一个月哦,就是这家XX",
"- 还等什么,抓住机会来详细了解吧"
]
},
{
"label": "结伴消费邀请",
"index": 7,
"value": [
"- 如果你身边有需要XX的朋友们,赶紧分享给他们来XX让你不踩坑",
"- 要是一个人不好意思,赶紧@你的怨种闺蜜,一起来吧"
]
},
{
"label": "限时特价促销",
"index": 8,
"value": [
"- 现在还推出了XX特价,真的超值哦,这样贴心又舒适的XX真的是很不错的选择哦",
"- 做XX的老板们还不趁着XX,赶紧来下单,各种价格补贴拿到手软哦"
]
}
]
}
修改变量的描述:行动模板列表

5.1.5 保存变量
设置完成之后记得保存,否则就白做了。

5.2 搭建工作流-data_list
因为用户界面的 Picker 组件要用刚才这几个变量的数据。但是界面组件不支持直接绑定变量,需要通过工作流输出去绑定使用,所以要写一个工作流专门输出我们定义的变量。就是这个 data_list。
程序的时候:代码,html:颜色的单词 background:red,数值。
rgb(0-255)
16 进制颜色数值:#ffffff–> 白色,#000000—> 黑色
10 进制:逢十进一,0,1,2,3,4,5,6,7,8,9,10
2 进制:逢二 进一,0,1,10,11,100
8 进制:逢八进一
颜色:红色,绿色,粉色。。。。red,green,pink。。。。

填写工作流的名称和描述:
名称:data_list
描述:用于给前端传递变量的数据

5.2.1 开始节点
这个工作流,仅用于将应用变量的数据,通过结束节点传递出去。所以开始节点不需要参数。
开始节点的参数直接删除即可

5.2.2 结束节点
结束节点里,直接设置应用变量的数据,作为输出变量的值即可。
小技巧:删除变量名,直接填写变量值,那么变量名会自动填充。

直接连接结束节点输出应用变量即可。

完整工作流如下:

5.3 将 data_list 工作流的数据,加载 UI 界面上
给页面配置加载时调用输出应用变量的工作流,这样我们后面才能给下拉选择组件绑定数据。所以我们搭建 data_list 工作流的目的,就是为了将 4 个模板中的数据,渲染到 UI 界面的 Picker 组件中。
5.3.1 为页面组件,添加加载事件
回到用户界面中,找到首页组件,给它添加一个加载事件,页面被加载的时候,调用工作流。

5.3.2 为 Picker 组件绑定数据
这里需要为每一个 Picker 组件,设置动态内容,为工作流输出节点的参数。
Picker1 组件,钩子/标签模板
1.1 绑定 tag_template 模板数据。

1.2 设置选项名称为 lable 数据。

1.3 设置选项值为 index

其他 Picker 组件绑定数据。
同样的方式为其他 Picker 组件,进行数据绑定。

对照表格,绑定数据。广告模板 1 和 2 绑定的数据是一样的。
| 组件名称 |
功能 |
绑定数据 |
选项名称 |
选项值 |
|
| Picker1 |
钩子/标签模板 |
tag_template |
item.lable |
item.index |
|
| Picker2 |
广告模板1 |
advertising_template |
item.lable |
item.index |
|
| Picker3 |
广告模板2 |
advertising_template |
item.lable |
item.index |
和广告1一个数组 |
| Picker4 |
广告模板3 |
advertising_template3 |
item.lable |
item.index |
|
| Picker5 |
行动模板 |
action_template |
item.lable |
item.index |
预览效果
所有的 Picker 都绑定好数组和选项名称,选项值后,可以预览看一下效果,能否加载出数据。

这里选择钩子/标签模板,点击后,就弹出了下拉选项。

5.4 搭建工作流 -generate_wenan
现在当用户在前端界面,填写好了数据后,当点击按钮的时候,就应该生成文案了。现在需要搭建一下生成文案的工作流。

填写工作流的名称和描述
名称:generate_wenan
描述:生成爆款文案工作流

5.4.1.开始节点
开始节点,接收 UI 界面传递来的数据。需要通过输入变量来进行传递。输入配置
- input:表示用户的输入的产品补充信息,对应 UI 界面的 TextArea1 组件的 value
- tags:用户选择的标签/钩子模板,对应 UI 界面的 Picker1 组件的 value
- advertising1:用户选择的广告模板 1,对应 UI 界面的 Picker2 组件的 value
- advertising2:用户选择的广告模板 2,对应 UI 界面的 Picker3 组件的 value
- advertising3:用户选择的广告模板 3,对应 UI 界面的 Picker4 组件的 value
- action:用户选择的行动模板,对应 UI 界面的 Picker5 组件的 value

5.4.2 UI 界面点击按钮,调用工作流生成文案
这里为了方便在工作流中进行测试,可以先在 UI 界面的按钮点击事件上,调用工作流。
按钮点击事件
点击按钮的时候,提交表单

表单提交事件
提交表单的时候,调用工作流。
为开始节点的每个输入变量,绑定组件的 value 值。
input 参数:绑定 TextArea1 组件的 value 值。

tags 输入参数绑定数据:

这里的入参写法有些许不同,不是直接拿下拉组件的 value,因为下拉组件的 value 只是返回了设置的选项值,就是 index,具体对应的列表中的数据需要我们自己去获取,所以写法如下,需要注意的就是对应的变量列表与下拉组件不要弄错。
按照以下表格,开始节点的输入变量和组件对应关系。
| 开始节点输入变量 |
组件名 |
绑定的数据 |
| input |
TextArea1 |
{{ TextArea1.value }} |
| tags |
Picker1 |
{{ data_list.data.tag_template[ Picker1.value] }} |
| advertising1 |
Picker2 |
{{ data_list.data.advertising_template[ Picker2.value] }} |
| advertising2 |
Picker3 |
{{ data_list.data.advertising_template[ Picker3.value] }} |
| advertising3 |
Picker4 |
{{ data_list.data.advertising_template3[ Picker4.value] }} |
| action |
Picker5 |
{{ data_list.data.action_template[ Picker5.value] }} |
效果如下:

测试一下
直接链接到结束节点,删除结束节点的输出变量。

然后回到 UI 界面,点击页面预览。

填写好信息,点击按钮。

查看数据:

回到工作流中,也可以看见 UI 界面,传递给开始节点的数据:

5.4.2.大模型节点 - 挑选适合的模板示例
从我们添加的模板变量的数据结构可以看出,不同类型下是有多条模板的,需要筛选一下。
这里我们使用大模型来完成,将开始节点的变量引入进来,模型可以根据实际输出效果切换。
输入参数:
开始节点的几个参数都需要传递进来
- input:表示用户的输入的产品补充信息
- tags:用户选择的标签/钩子模板
- advertising1:用户选择的广告模板 1
- advertising2:用户选择的广告模板 2
- advertising3:用户选择的广告模板 3
- action:用户选择的行动模板
输出参数:
- output:
- type:模板类型
- info:示例信息

系统提示词如下:
根据用户的输入全面分析并严格按照钩子模板信息选择原则、广告模板选择原则、行动模板要求,分别精心挑选出符合要求的两三条合适模板信息。
## 钩子模板信息选择原则
深入剖析用户产品信息,紧密结合钩子模板中的格式以及参考文案,以参考文案的风格进行仿写,精准筛选出两三条合适的钩子模板,绝对不将用户产品信息融入模板内容。所筛选出的钩子模板应避免有明确指向性,部分信息使用XX代替。
- 类型输出格式:钩子模板 - 提问式(如果类型是标签模板的话直接输出为【标签模板】)
## 广告模板选择原则
细致研究用户产品信息,充分结合广告模板1、2、3中value中的模板公式,分别从每个广告模板中挑选两三条合适的模板,坚决不将用户产品信息融入模板内容。所挑选出的广告模板应避免有明确指向性,部分信息使用XX代替。
- 类型输出格式:广告模板1 - 口碑好
广告模板2 - 性价比
....
## 行动模板
认真考量用户产品信息,从行动模板中挑选两三条合适的模板,若没有完全合适的模板,则根据行动模板的结构灵活生成两三条合适的行动模板,严禁将用户产品信息融入模板内容。所挑选或生成的行动模板应避免有明确指向性,部分信息使用XX代替。
- 类型输出格式:行动模板 - 私信咨询沟通
输出格式:
{
"type": "钩子模板 - 提问式",
"info": [
"为什么?XX买过XX的就会成为老顾客",
"你敢相信吗?在XX就能XXXXX?"
]
}
## 限制
- 只输出模板内容,严格不用结合用户输入写文案。
- 选择的模板中绝对不允许携带用户产品信息,且模板不能有明确指向性,部分信息需用XX代替。
- 严禁遗漏任何一种模板。
- 类型必须使用type字段中的信息。
用户提示词如下:
- 用户产品信息:{{input}}
- 钩子模板信息:{{tags}}
- 广告模板1:{{advertising1}}
- 广告模板2:{{advertising2}}
- 广告模板3:{{advertising3}},如果包含"暂不选择"则不处理此模板
- 行动模板:{{action}}
测试一下:
在 UI 界面,点击预览,然后输入数据后,点击按钮,调用工作流。然后回到业务逻辑这里看大模型的输出数据。

5.4.3. 循环仿写文案
选好的示例,就可以根据示例,进行仿写了。因为有 4-5 个模板示例的数据,需要仿写,所以选择循环结构。
添加一个循环节点来处理大模型输出的内容,使用每种类型的模板结合产品信息进行文案仿写。

1. 大模型仿写 10 条
循环体里设置一个大模型节点,进行文案仿写。
输入变量:
- info:选中的模板示例
- chanpin:开始节点的 input 传来的产品信息
输出变量:
- output:写好的文案,10 条左右,存入数组中。

系统提示词
根据短视频黄金3秒的原则,紧密围绕用户提供的产品信息,结合给定模板进行仿写改写共改写10次。
## 改写原则
- 改写过程中要最大程度还原模板的口吻风格,避免出现明显的AI生成痕迹。
## 限制
- 无需注明序号。
- 改写的内容禁止雷同,要有明显的差异化。
用户提示词
提供的模板参考:{{info}}
用户信息:{{chanpin}}
单独测试循环节点:
这里为了在测试的时候能够有输入数据,chanpin 参数本来为开始节点传递来的,现在写一个固定的数据:理发店。可以看见循环 4 次,每次都可以写一个类型的仿写文案。一定记得再将 chanpin 这个输入变量的值,改回去为开始节点的 input。

2.代码节点 - 整理过程输出和存入表格的数据
为了方便我们后续的处理,在这里添加一个代码节点,简单整理下数据。
因为这里要将每个类型,仿写的 10 条数据,存入到飞书多维表格中。那么需要按照飞书表格的数据要求格式,进行整理。
输入变量:
- typeName:仿写的类型
- rewrites:仿写的 10 条数据
输出变量:
-
item:要写入表格的一条数据
- typeName:仿写的类型
- rewrites:仿写的 10 条数据
-
connectRewrites:直接显示给用户看的数据,也就是将仿写的 10 条数据,拼接为一个字符串。

代码如下:
async def main(args: Args) -> Output:
params = args.params
typeName = params['typeName']
rewrite = params['rewrites']
connectRewrite = ""
for index, item in enumerate(rewrite, 1):
connectRewrite += f"{index}. {item}\n"
# 构建输出对象
ret: Output = {
"item":{
"typeName":typeName,
"rewrites":rewrite,
},
"connectRewrites":connectRewrite
}
return ret
PS:输出的变量名可以在代码里复制,这样就不会出错了
3.输出仿写文案
每种类型的文案仿写后先进行输出。
输出变量:
- output,就是刚刚代码节点拼接的字符串:connectRewrite 的值
- type:循环中获取的输入 type 的值。

输出内
## {{type}}仿写文案
{{output}}

4.配置循环输出
配置循环的输出,就是仿写的文案,后面可以将仿写的文案进行组合,就是完整的爆款文案。而且这个数据也就是要写入表格的数据。


5.4.5 大模型-随机组合文案
我们前面说过,最终文案的组成是 钩子/标签文案+广告文案1+广告文案2+广告文案3(可选)+行动文案,前面循环节点中每种文案有 10 条,现在就是把这些文案随机组合成最终的完整文案。
输入变量:
- input:循环节点的输出。就是仿写的文案的数组
输出变量:
- output:组合后的文案

系统提示词
# 角色
你是一个文案组合优化大师,擅长从给定的文案列表中,每种文案随机抽取一条进行排列组合,并在不大改原文的基础上对组合后的文案进行适当改动,使行文通顺,生成符合用户需求数量的全新文案组合。
## 技能
### 技能 1: 生成组合并优化文案
1. 当用户提供文案列表并要求生成组合文案时,仔细分析每种文案类型。
2. 从每种文案类型中随机各抽取一条文案。
3. 将抽取的文案按顺序进行排列组合,生成 10 条不同的文案,排列组合顺序 钩子文案+广告文案1+广告文案2+广告文案3(注意:文案列表中没有广告文案3时不用加)+行动文案。
4. 对生成的每条组合文案进行检查,在不大改原文内容的前提下,适当调整语句、添加或更换衔接词等,让文案行文更加通顺自然。
===回复示例===
- 文案 1:[具体组合并优化后的第一条文案内容]
- 文案 2:[具体组合并优化后的第二条文案内容]
- 文案 3:[具体组合并优化后的第三条文案内容]
- 文案 4:[具体组合并优化后的第四条文案内容]
- 文案 5:[具体组合并优化后的第五条文案内容]
- 文案 6:[具体组合并优化后的第六条文案内容]
- 文案 7:[具体组合并优化后的第七条文案内容]
- 文案 8:[具体组合并优化后的第八条文案内容]
- 文案 9:[具体组合并优化后的第九条文案内容]
- 文案 10:[具体组合并优化后的第十条文案内容]
===示例结束===
## 限制:
- 只围绕文案抽取、组合以及优化进行回复,拒绝回答与该任务无关的话题。
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 生成的文案数量必须为 10 条。
- 尽量保留原文内容,仅在必要时进行让行文通顺的适当改动。
用户提示词:
文案列表{{input}}
5.4.6 结束节点
到此可以将生成的爆款文案,传给结束节点了。
输出变量,就是随机组合大模型节点的输出。

5.4.7 测试数据
到此,我们可以再进行一次测试,看看工作流,是否有问题。
完整工作流如下:

点击试运行按钮。

5.5 UI 界面渲染数据
工作流 generate_wenan 已经可以生成爆款文案了,现在要做的是,把输出节点返回的文本内容,显示到 UI 界面上,让用户观看。
5.5.1 添加 Markdown 组件
UI 界面上添加 Markdown 组件。

5.5.2 渲染数据
为 Markdown 组件设置,工作流返回的数据。
这里返回两个数据,一个是中间的输出节点仿写的文案。一个是结束接单返回的随机组合后的文案。
{{ generate_wenan.step_outputs.output_输出 }}
{{ generate_wenan.data }}

然后预览后,测试一下:

5.6 为按钮添加加载状态
这里我们发现,点击完鼠标后,页面没有任何反应,实际上已经在调用工作流了。但是用户看不见。所以在工作流调用过程中,为按钮设置加载状态,以及禁用按钮。
设置加载状态

设置禁用状态

六 写入飞书
到此,可以生成爆款文案了,其实可以初步使用了。
但是如果还想提供写入飞书的功能,就需要去修改工组流。
我们的思路是,生成的 10 条爆款文案内容,写入飞书文档。
中间根据几个模板,进行仿写的内容,因为有好几个模板的仿写,可以按照表格的形式进行存储。写入飞书表格。
6.1 爆款文案写入飞书文档
6.1.1 文档标题
生成的爆款文案,存入飞书文档即可。我们可以为文档生成一个标题。为了避免每次存入文档的时候文件名字重复,需要加上时间标识,这里新增一个代码节点。例如用户传入的标题为:虫二理发店。那么文档标题就是:虫二理发店-2025 年 10 月 18 日 21:46:33。
思路一:这个可以使用前几天写的插件。

思路二:代码节点,通过代码来实现:

代码如下:
import datetime
now = datetime.datetime.now()
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
async def main(args: Args) -> Output:
# 构建输出对象
ret: Output = {
"docTitle": f"组合后的文案({formatted_now})",
"tableName": formatted_now
}
return ret
以上两个思路,二选一即可。
6.1.2 写入飞书文档
然后在这个节点后,添加飞书文档插件。

配置参数:
写入的内容,就是组合后的文档。
文档的标题,就是前一个节点生成的标题。

这里需要飞书授权。可以选择单独授权,也可以选择共享授权。

6.1.3 修改结束节点
修改结束节点的参数,和文本内容

回答内容:
## 随机组合文案
{{output}}
## 文案已写入飞书文档
[文档链接]({{doc_url}})
6.1.4 测试
然后我们整体测试一下:

点击文档链接,打开飞书文档:

6.2 仿写内容写入飞书表格
将所有文案存入飞书多维表格
6.2.1 代码节点 - 处理表头数据
回到标题处理后面新增一个代码节点,处理存入表格的表头信息,用户选择的模板类型不固定,所以这里根据循环输出动态设置表头信息(python)。
输入变量:
- input,循环节点的输出,就是文案信息。
输出变量:
- fields,Array类型,这个是和飞书多维表格的参数格式匹配的。
这里是要使用的飞书多维表格插件:https://www.coze.cn/store/plugin/7395043460165779483

这里约定参数每一列都需要两个数据:field_name,表示列的名称。type 表格该列的数据类型。
1.多行文本
2.数字
3.单选
4.多选
5.日期
。。。。。

把工作流运行一次,复制循环节点的输出:

然后把循环的输出复制出来,并结合以下提示词,让 deepseek 或者豆包编写代码:
指令如下:
我给你一段数据:
{这里粘贴刚刚循环节点复制来的输出的数据}
请从这里提取出typeName字段,并以结构化列表中嵌套字典对象的形式返回。列表名称为fields,里面嵌套字典对象,字典对象有两个key,一个是field_name,对应 TypeName的值,一个是type,固定值为1。在以下结构中编写。这里input就是传入的数据。
async def main(args: Args) -> Output:
params = args.params
input = params["input"]
# 构建输出对象
ret: Output = {
"fields": [
{
}
]
}
return ret

DeepSeek 的思考过程,就是写代码的思路:

这里就是 DeepSeek 编写的代码:

下面还有预期的运行结果:

示例代码:
async def main(args: Args) -> Output:
params = args.params
input = params["input"]
# 构建输出对象
ret: Output = {
"fields": [
{
"field_name": item["typeName"],
"type": 1
}
for item in input
]
}
return ret
我们将以上代码,复制到节点中,测试运行一下:

6.2.2 代码节点 - 处理表格数据
然后处理表格数据(python)
将循环输出的数组的数据,整理成为 飞书多维表格中添加数据所需要的格式:Array,其中 Object 的 key 为 fields,对应的值类型为 String,也就是一个序列化后的 JSON 字符串。

添加一个代码节点:
输入变量:
- input,循环节点传出来的仿写数据
输出变量:
- records,Array类型

继续让 DeepSeek 写代码:

指令如下:
我给你一段数据:
{这里粘贴刚刚循环节点复制来的输出的数据}
我需要将以上数据,整理为能够存入飞书多维表格中的每一条记录。每一个typeName作为一列名,rewrites的内容作为表格中的一行的数据。请从这段数据中提取typeName和rewrites字段的数据,整理为以下描述的结构。最终的输出结构为列表
records,每一条数据封装为一个dict对象,fields里对应的结构为:typeName作为key,rewrite中的每一条 数据为值。rewrite长度为多少,就有多少个fields对象,就表示多少行记录。
在以下结构中编写。这里input就是传入的数据。
async def main(args: Args) -> Output:
params = args.params
input = params["input"]
# 构建输出对象
ret: Output = {
"records": [
{
"fields":{}
}
]
}
return ret
DeepSeek 的思考过程,就是写代码的逻辑。

代码如下:

还有预期的运行结果:

但是这个结果没有将 fields 对应的内容,序列化为 JSON 字符串,所以让 DeepSeek 进行修改:
指令:
遇到一个问题,最终的数据类型为fields为String类型,也就是说要把字典对象,进行json序列化。

最终预期效果:

代码如下:
import json
async def main(args: Args) -> Output:
params = args.params
input = params["input"]
# 构建输出对象
records = []
# 找出最大的rewrites数组长度
max_length = max(len(item["rewrites"]) for item in input)
# 为每个索引位置创建记录
for i in range(max_length):
fields = {}
# 为每个typeName添加对应的rewrite
for item in input:
type_name = item["typeName"]
rewrites = item["rewrites"]
# 如果当前索引超出数组长度,使用空字符串
if i < len(rewrites):
fields[type_name] = rewrites[i]
else:
fields[type_name] = ""
# 将fields字典序列化为JSON字符串
fields_str = json.dumps(fields, ensure_ascii=False)
records.append({
"fields": fields_str
})
ret: Output = {
"records": records
}
return ret
将代码粘贴到节点中,测试一下:

6.3 搭建 create_table 工作流
写入飞书表格的思路,是我们先查看表格文档是否存在,如果存在,就一个文档就够了,以后所有生成的仿写内容,都存入这一个表格中,表格文档中可以有不同的表单,每次仿写,创建表单即可。
一个表格文档,就好比一个 Excel 文件。每次仿写的数据存入 sheet 表单。一个 excel 中,是可以有多个 sheet 表单的。
所以,想存入表格。思路就是先查看一下文档是否存在,如果是第一次存储,文档肯定不存在,需要先创建文档。如果不是第一次存储,文档是存在的,直接创建表格进行存储即可。这个逻辑有点复杂, 所以单独创建一个工作流来实现。
6.3.1 创建 create_table 工作流
新建一个工作流

填写工作流名称和描述。
名称:create_table
描述:将仿写文案存入飞书多维文档中

开始节点
开始节点接收创建表格的参数。
- baseName:表示表格文件的名字
- tableName:表示表格里数据表的名字
- fields:表头数据
- records:往表格里存储的数据

表格查询插件
搜索多维表格,选择扣子官方的 search_base 搜索多维表格类型的文档

先进行授权:

- search_key:搜索的表格名,使用我们开始节点设置的 baseName
- count:1
- offset:搜索偏移量,写 0 即可

测试一下:

这里随便搜索个啊啊啊啊,输出中参数 total 代表查询到的文档数量,0 表示没有这个文档。
选择器节点
添加一个选择器节点,用来处理不同的分支。
设置判断条件为:total 为 0,或者查询到的名字不一致,因为这里数模糊搜索,会存在有数据但名字不是完全一致的情况。那么表示没有查询到文档,需要先创建多维表格文档,然后再创建数据表。否则表格文档存在,那么直接创建表格即可。

插件-创建多维表格文档
此时,就需要创建表格文档,新增一个创建表格的插件
名字使用开始传过来的名字

然后再往后新增一个创建数据表的节点

然后将 create_table 插件节点,复制一个,链接到选择器的另一个分支上。结构如下:

配置插件参数
处理表格文档不存在的情况。
先配置 create_base 工具的参数。

再配置 create_table 工具的参数。
- app_token,填写创建表格文档插件的输出参数:url 即可。
- name,数据表的名称,开始节点传入的 tableName
- fields,数据表的表头,开始节点传入的 fields

处理表格存在的情况
选择器的另一个分支,create_table 节点,app_token 使用搜索到的表格的 url

但这里需要注意的是,因为我们再一次请求内可能要循环往同一个数据表内存储,那么当数据表名字已经存在的时候,数据报表会创建失败,但是节点不会报错,所以不用过于担心。
6. 变量聚合节点
添加一个变量聚合节点,因为存在旧的表格链接和创建的新的表格链接,所以通过变量聚合,这两者谁有值就输出谁
先添加创建表格的 url,因为这里是先看第一个有没有值,有就取第一个,没有再取第二个。
这里我们直接汇总两组。第一组是文档的 url,第二组是 数据表的 id。
先来看第一组,先添加创建文档的,create_base 的 url。然后第二个添加旧的,search_base 查询出来 url

然后按照这个步骤再添加 tableid,可以将名字改一下。

7.插件-往表格里添加数据
然后我们就可以向表格中写数据了。

配置如下:

8.结束节点
结束节点,就拼接表格跳转链接即可。
输出变量:
- url,文档的 url
- table_id,数据表的 id
最后给到用户的链接,是拼接来的。

回答内容:
内容已经为您存入飞书多维表格[点击查看]({{url}}?table={{table_id}})
完整工作流如下:

6.4 引用创建多维表格并添加数据的工作流
6.4.1 添加工作流
回到 generate_wenan 的工作流中,引入刚刚的 create_table 工作流。

选择刚才创建的工作流。

baseName 就是创建的表格的文件名,可以自己设置:我这里是:||———爆款文案仿写———||

6.4.2 配置结束节点
再添加一个输出变量,用于表示创建表格插件的结束节点的输出结果。

配置最终的输出,回答内容里变量的顺序影响最终的展示.回答内容:
## 随机组合文案
{{output}}
## 文案已写入飞书文档
[文档链接]({{doc_url}})
{{table_message}}
七 测试 &发布
7.1 预览运行效果

填写信息:

产品信息:
连续三天,每晚20:00~22:00,黎老师将为大家详细讲课【3天打造你的短视频直播智能体】

文档内容:

写入飞书多维表格中的数据:这里注意,如果数据表名称过长,是无法创建表的。所以这里在填写产品信息的时候,可以不用写太长。或者不用产品信息作为数据表名称。

7.2 发布到小程序上
测试没问题后,可以进行发布了。

7.2.1 发布到微信小程序
发布的时候,选择小程序。点击配置按钮。

然后需要填写小程序的 AppID

登录微信公众平台:https://mp.weixin.qq.com/,进入小程序后台。复制 AppID

如果发布之后,又不想发布到小程序上了,想解绑小程序,那么关闭授权就可以了。

解绑授权即可。

7.2.2 发布到扣子商店
先设置是移动端展示,还是 PC 端展示,然后选择分类,最后要勾选扣子商店。

最后点击发布,就可以进入审核了,审核通过,就可以分享给他人使用了。

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)