TikTok热标口播·热标转钩子
把一条 TikTok 热标做成每张静帧一条钩子口播。
交付 2 到 8 条。不要拼接。
适用范围与相邻路线
运营要用已有的出镜或商品静帧做短口播、打开一条公开 TikTok 热标时,使用本 Skill。
完整的当日帖(封面和文案)转到
hot-topic-content-maker。抖音热搜钩子转到
douyin-hot-to-hook-clip。不是在回答热标的通用口播预告转到
talking-avatar-video 或
creator-drop-talking。
本包读取 TikTok 热标榜和头部成片,再做口播短片。它不在
TikTok 上发帖。若这条连接没有 TikTok 热标或视频搜索操作,只按已经粘贴的标签做。
收集热标
硬输入是:
- 允许读取当前公开 TikTok 热标榜,或已经复制的热标原话;
- 运营已经写好的品牌或商品事实(钩子可以说什么、静帧里实际看到什么);
- 至少一张宿主 Agent 可以查看的静帧——出镜人像或将作为首帧的商品照片;
- 画面里会出现人脸或要克隆声音时的形象和声音权利;
- 这包要几条,或允许使用默认 3 条。
复用已知措辞、SKU 名称,以及冻结的 voice_id。
只补问缺失的硬输入。2 到 8 以外的数量也能做:确认该规模和实时费用。
不要编造热标、名次、热度、价格或优惠。拿到文件不等于同意。
查看每张静帧。记录 MIME 类型、宽、高、画幅、字节大小和是否有 alpha 通道。本地文件检查后,只通过随包客户端上传
(scripts/mcp_client.py / beatra.assets.upload)。保留返回的产物编号。绝不要把本地路径传给
beatra.voices.clone、
beatra.speech.synthesize 或 beatra.videos.animate。
先做免费词条表
任何付费查找、克隆、旁白或视频前,先写带标签的热标到钩子清单。运营没有另报 2 到 8 之间的数量时,默认三条词条。每条记下热标原话、由已确认事实写出的钩子口播、静帧、作为 2–15s 成片的目标时长,以及用目录音色、已确认音轨还是克隆。
这份清单就是运营已经粘贴内容上的免费可见结果。规划不是批准。
安全默认:
- 每张静帧一次
beatra.videos.animate; model: "auto",除非运营选了实时 SKU;- 静帧作严格首帧;
- 画幅由源图决定;
- 按时长由音频决定,落在 2–15s。不要拼接。
查找热标单独一张卡
“看看现在热什么”并不等于批准查找。运营要这条连接去读公开 TikTok
热标榜或头部成片时,按
热标查找 先搜索、再查看,然后出示六字段查找卡并等待:
- 做什么 — 一次公开 TikTok 热标页或视频搜索页
(beatra.social.execute,使用刚查看过的operation_key)。 - 积分 —
beatra.social.tools.get刚返回的实时价格。
报这个实时数字,不要报记忆中的数字。 - 几笔 — 一次预付查找。热标页是自己的一笔执行。头部成片的视频搜索是另一笔。下一页再扣一笔。
- 身份 — 每次执行一个新的不透明
client_request_id。 - 若停在这里 — 已粘贴标签的计划仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。运营说已充值之前不要重试。
不要把 schema_hash 出示给运营。已确认的查找不构成克隆、旁白或视频批准。查找到终态后,报告载荷、任务编号、终态和
billing.net_charged_credits。查找没有模型、画幅或时长可报。
确认克隆、旁白,再确认视频
克隆、旁白和视频是分开的付费阶段。每个阶段各自一张六字段卡,每条词条各自一个不透明
client_request_id。
运营要克隆音色时,先查看其可授权样本,读取当前的 voice_clone 卡片,并在
beatra.voices.clone 之前等在克隆卡上。找到的文件不是克隆同意。出示克隆卡并等待:
- 做什么 — 一份已授权声音样本(
beatra.voices.clone)。 - 积分 — 刚读到的
voice_clone价格。不要复用记忆中的数字。 - 几笔 — 这份样本一次付费克隆。
- 身份 — 一个新的不透明
client_request_id。 - 若停在这里 — 带标签的词条表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。运营说已充值之前不要重试。
旁白前,调用 beatra.models.list,能力为 text_to_speech:
{"capability": "text_to_speech"}
目录音色还没定时再用 beatra.voices.list。
出示旁白卡并等待:
- 做什么 — 每个点名词条一句钩子口播
(beatra.speech.synthesize)。 - 积分 — 刚读到的
text_to_speech价格乘以词条数。不要复用记忆中的数字。 - 几笔 — 每条词条一次付费旁白。
- 身份 — 每条词条一个新的不透明
client_request_id。 - 若停在这里 — 带标签的词条表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。运营说已充值之前不要重试。
每个旁白词条只通过随包 scripts/mcp_client.py 提交一次,用
input,不要用 text。使用 format: "mp3" 和 speed: 1.0。仅当每张实时旁白卡都支持该语言时,才用
model: "auto"。用 beatra.tasks.get 轮询。读取实际音频 MIME、时长和大小,以及
billing.net_charged_credits。文稿预览不是音频审听。
视频前,调用 beatra.models.list,能力为 image_to_video:
{"capability": "image_to_video"}
确认当前卡片接受 [image, driving_audio]。把每张图的事实和真实音频 MIME、时长、大小与公布约束比较。实时 driving-audio 成片是 2–15s。旁白长于最长可容纳成片时,拆成连续可容纳分段;每段各自新的旁白和新的视频,各用新标识。不要把分段拼成一个文件。已确认旁白并不批准视频。600 积分注册礼金通常开不起这次视频。出示视频卡并等待:
- 做什么 — 每张点名静帧一条钩子口播
(beatra.videos.animate)。 - 积分 — 刚读到的
image_to_video价格乘以分段数。不要复用记忆中的数字。 - 几笔 — 每段已确认音频一次付费视频。
- 身份 — 每段一个新的不透明
client_request_id。 - 若停在这里 — 词条表和已确认旁白仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。运营说已充值之前不要重试。
然后每段已确认音频提交一次 beatra.videos.animate,并附上
driving_audio。
审片、交付与恢复
查看每条成片是否点名了选定热标,以及静帧是否为首帧。只报告宿主实际看得到、听得到的内容。不要承诺完美对口型。绝不要发明拼接、concat 或剪辑工具。每个付费任务到终态后,交付实际字节以及存在的 MIME、时长和大小,还有
billing.net_charged_credits。不要承诺预付估价就是最终扣费。
拿到 task_id 后轮询该任务。创建响应丢失时,先用 beatra.tasks.list 搜索,再用
beatra.tasks.get 核对,然后再重放。只有参数逐字节相同才能复用原标识。静帧、口播句、音色或时长变了就是新卡和新标识。只有运营要求时才取消。
执行
每个远程 Beatra 操作都只通过随包 scripts/mcp_client.py 调用。把 MCP 工具名放在 call 后面,并向标准输入发送一个 JSON 对象。
python3 scripts/mcp_client.py call beatra.models.list
{"capability": "text_to_speech"}
python3 scripts/mcp_client.py call beatra.models.list
{"capability": "image_to_video"}
printf '%s' '{"query":"hashtag","platform":"tiktok","capability_family":"trends"}' | python3 scripts/mcp_client.py call beatra.social.tools.search
printf '%s' '{"input":"Open on the approved hashtag hook. Keep the operator-supplied line.","voice":"voice-ready-01","format":"mp3","speed":1.0,"model":"auto","client_request_id":"opaque-hook-speech-01"}' | python3 scripts/mcp_client.py call beatra.speech.synthesize
printf '%s' '{"image":{"type":"artifact","artifact_id":"art-hook-01"},"driving_audio":{"type":"artifact","artifact_id":"art-speech-01"},"prompt":"A restrained talking hook with steady eye line and a stable camera.","duration":8,"client_request_id":"opaque-hook-video-01"}' | python3 scripts/mcp_client.py call beatra.videos.animate
不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为降级。
账户余额
用户问还剩多少积分,或某次实时估价够不够时,调用 beatra.wallet.get。问已经扣了多少
时,调用 beatra.wallet.ledger。两者都是只读的。不要臆造查余额或充值的工具。也不要把
wallet.get 变成每次付费提交前的必需步骤。
模型卡返回里带 top_up 块时,按卡片给出的档位和顺序原样转述。不要给档位排高低,不要
贬低其中任何一档,也不要替用户挑。选哪一档是用户自己的事,钱包页会把整份清单摆在他
面前。任何时候都不要凭记忆报档位。
按任务查阅的参考
- 词条表、查找、载荷和恢复,读
热标钩子工作流 和
热标查找。 - 授权和非计费注册步骤,读
安装与认证
和 安装注册。 - 共用的任务、计费和连接细节,读 任务与结果、计费、错误与恢复 和 随包 MCP Client 连接诊断。
- 更新保证和控制,读 自动更新与安全。移除时读 卸载与断开。
运行时与安全的自动更新
随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只从本包、渠道和语言环境固定的官方 Beatra 发现地址和不可变 CDN 路径下载,校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。
更新检查、下载、校验、替换、回滚和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费查找、克隆、旁白或视频请求的理由。这个设置会在本安装中持续生效。见
自动更新与安全。
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check