视频号脚本工作台
把一个商品和它背后的事实,变成一条真人照着就能拍的视频号短视频脚本——分段表、完整写出来的口播、落在真正说服了人的那一段上的挂车动作,以及给这一版稿子的六维评分。
适用范围与路线选择
这条路线是:一份事实表、一张分段表、完整的口播全文、落到点了名的具体段落上的挂车转化动作,以及一份六维自检。重心在脚本本身。有人要在视频号上卖东西、并且在开拍之前就得先把话和节拍顺序定下来时,走这条路线。
要做的事不在这条路线上时,别的包更合适。
- 抖音而不是视频号——平台不同、分发逻辑不同、开场也不同:
douyin-video-script-maker。 - 要的是一条从头做到尾的口播种草成片,而不是一份写出来的稿子:
oral-seeding-video-maker。 - 手上有一张真实商品图,要把它变成一条商品展示视频:
wechat-channels-product-video。 - 要的是一场直播带货,而不是一条录好发出去的视频:
live-commerce-script-studio。 - 要做的是这条视频在信息流里被一眼判定的封面图:
wechat-channels-cover-maker。
输入与默认值
硬性输入只有一个:一句话说清在卖的是什么商品或服务。缺这一项就问。
会改变脚本的四件事,一次问完:视频里允许讲的确认信息、卖给谁、账号平时怎么说话,以及有没有一条要复用其结构的参考视频。问完拿回来什么就按什么往下走。只有一句商品也足够起草;不要为了等其余几项把活停下来。
对话里已经交代过的账号、人群、品类、活动和引导去向,直接复用。这些没有交代时,从商品本身把它定下来,并在交付里说明这是替用户定的,而不是回头再问一遍。
默认按 45 秒的目标时长来写,结构取搭出脚本结构(references/script-structure.md)里选定的那一种,默认视频挂着商品链接、并且把它的动作都排好位置,口播用账号自己的说话调子,并且不产出任何渲染出来的媒体——除非用户要。视频号的分发要先过熟人关系链,所以稿子是奔着「值得转给某一个人」写的,而不只是奔着让人看完。
脚本里关于商品的每一句主张,都来自用户。 价格、规格、成分、效果、资质、时限、活动条款和库存,都只能由用户提供。缺了哪一项,那一段就绕开它写,并且明说哪些部分是绕着缺口写的——绝不编一个看着像真的数字,因为最后要为它负责的是用户。关于参考视频真实表现的任何说法,同样按这条规矩来:只根据画面上确实看得见的东西去描述它的结构,播放量、销量、转化率这些数字,留给用户自己说。
标准流程
第 1 到 6 步不花钱。脚本获批之前,不会发生任何付费调用。
- 先做事实表。 把用户提供的信息,和写作可以自由发挥的部分分开,并按搭出脚本结构(references/script-structure.md)把每一处缺口点名列出来。
- 选定结构。 给了参考视频,就照它的分段来;没给就从平台原生的几种结构里选一种。
- 写分段表。 每一行写清这个段落、精确到秒的起止时间点、画面上是什么、嘴里念的是哪一句,以及这一段如果落了挂车动作,落的是哪一个。
- 把口播完整写出来。 逐字逐句,按说话的语速写,用账号自己的调子——就是拍的时候能举着手机照念的那份东西。
- 给挂车动作落位。 按给挂车动作落位(references/product-link-beats.md),把三步转化链条分别落到具体的段落上。
- 给这一版打分,再把全部内容拿去批。 六个维度,点名最弱的那一处;低于及格线的地方,在用户看到之前就先改掉。
- 用户要分镜图或者口播配音时,先把
text_to_image和text_to_speech两张实时卡片用beatra.models.list读出来,再用beatra.voices.list选一个音色。 - 确认生产。 展示哪些段落会出分镜图、口播里哪一部分会被配音、选定的可用音色、当前预估费用,以及每一次计划中的付费调用各自稳定的请求标识。
- 用
beatra.images.generate生成分镜图,一张一次调用;用beatra.speech.synthesize合成口播。读取实际返回的时长、大小和 MIME 类型。 - 用
beatra.tasks.get把每个任务轮询到终态,把全部内容一起交付,并复核你确实能看到的部分。
交付物是脚本本身。分镜图和口播音频是加在它上面的附加项,所以停在第 6 步的一次运行,也是一次完整的运行。
需要确认的决策
花钱之前确认一次:分镜图这一组和口播配音一起确认,各自附上价格和请求标识。没有第二道关口,因为这里没有任何一步依赖更早的那件付费产物。
同样需要确认、而不是自己拍板的还有:超过 90 秒的目标时长、用户没有核实过的数字、关于参考视频真实表现的说法、偏离账号平时说话方式的调子,以及某张分镜图或某条口播获批之后的任何改动。每改一个参数都是新的付费工作,需要新的请求标识和重新批准。
用户要的某一句话,按原样过不了主张审查时——包括绝对化用语、受监管品类的功效主张、商品从未按那个价卖过的划线原价,以及说话人自己根本没用过、却写成第一人称的使用体验;这几种情况即便措辞是用户自己给的,也一样过不了——就给出用户提供的事实撑得住的、最接近的那个写法,然后从这个写法接着往下做。
执行方式
每一次调用远程 Beatra 工具,都只走随包的 scripts/mcp_client.py:工具名作为命令行参数,参数以 JSON 从标准输入传入:
printf '%s' '{"capability":"text_to_image"}' | python3 scripts/mcp_client.py call beatra.models.list
printf '%s' '{"capability":"text_to_speech"}' | python3 scripts/mcp_client.py call beatra.models.list
printf '%s' '{"language":"zh-CN"}' | python3 scripts/mcp_client.py call beatra.voices.list
不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为回退。每一个逻辑上的付费请求给一个稳定且不透明的 client_request_id,并且只提交一次。
交付与复核
交付:点名列出缺口的事实表、分段表、完整的口播全文、落在各自段落上的挂车动作、六维评分;以及产出了的话——带着返回尺寸的分镜图、带着真实时长的口播音频、每一个任务 ID、返回的 artifact 链接、解析出的模型,以及 billing.net_charged_credits。只报告任务确实返回的事实。
宿主能查看或播放返回的媒体时,检查每一张分镜图是否对得上它所服务的那个段落、口播是否听得清并且结尾完整。哪些媒体细节无法查看就直接说明,而不是从任务元数据里推断出来。
说清脚本里哪些部分是绕开某项缺失的事实写的,并点名补上哪一条信息,最省事就能把这个缺口补掉。
故障恢复
每一个任务 ID 一拿到就立即记下,并且只轮询这个任务。queued 和 running 表示继续等待。创建请求的响应丢失时,只用同一个标识重新提交逐字节相同的冻结载荷;任务 ID 丢失时,按对应能力把任务列出来,先把候选逐个对照自己的台账,再考虑重试。重做某一张分镜图时,其余产物原样复用。insufficient_balance 表示没有扣费,充值之后可以用完全相同的请求重新提交。
按任务查阅参考
- 事实表、平台原生的几种结构、段落的时间分配、口播规则,以及六维自检:搭出脚本结构(references/script-structure.md)
- 转化链条落在哪里、三种动作分别是什么、活动措辞,以及参考视频这条路线:给挂车动作落位(references/product-link-beats.md)
- 确切载荷、每次确认冻结了什么、轮询、重做某一张分镜图、故障恢复与取消:脚本工作台流程(references/workflow.md)
- 首次安装或授权过期:安装与认证(references/installation-and-auth.md)
- 非计费的包注册:安装注册(references/installation-registration.md)
- 任务轮询、artifact 与结果字段:任务与结果(references/tasks-and-results.md)
- 余额、校验与结构化错误:计费、错误与恢复(references/billing-errors-and-recovery.md)
- 随包客户端连不上时:随包 MCP Client 连接诊断(references/mcp-connection.md)
- 更新保证与开关:自动更新与安全(references/automatic-updates-and-safety.md)
- 移除本包或共享凭据:卸载与断开连接(references/uninstall-and-disconnect.md)
运行时与安全的自动更新
随包客户端会在每个安装中静默检查是否有更新的版本,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只从针对本包、渠道和语言环境固定的 Beatra 官方发现地址与不可变 CDN 路径下载,在替换之前校验发现数据、压缩包、清单以及每个文件的大小与校验和,并且只替换本包拥有的文件。它会拒绝重定向、降级、包与渠道与语言环境与版本对不上的数据、意料之外的地址、不安全的压缩包,以及落在归属目录之外的任何文件。
更新的检查、下载、校验、替换和回滚失败时都不会中断:当前安装仍然可用,原本请求的命令会继续执行。更新失败绝不构成重试付费生成的理由。这个设置会在本安装后续的命令中持续生效。
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
--auto off 关闭静默检查,--auto on 恢复静默检查,--check 报告官方可用版本但不替换文件。详见自动更新与安全(references/automatic-updates-and-safety.md)。
Scan to join WeChat group