关于 ads-publish
ads-publish 是通过 Zernio 将图片和视频广告素材发布到已连接社交网络的技能。它按素材比例匹配平台、读取活动简报中的文案,并汇报发布结果。
主要功能
- 01按宽高比匹配素材与平台
- 02从活动简报提取平台文案
- 03规划帖子与发布时间
- 04支持试运行和平台指定
- 05生成 JSON 结果报告
适用场景
- 01将活动素材排期到多个社交网络
- 02发布前检查素材与文案分配
- 03查看帖子发布成功或失败情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hainrixz/ claude-ads --skill ads-publish安装后在 Claude Code 中输入/ads-publish确认已加载。
详细介绍
/ads publish — 通过 Zernio 将创意内容发布到社交平台
定价: Zernio 前 2 个已连接的社交账号免费(无需信用卡)。个人用户同时发布到 Instagram + Facebook = 永久 $0/月。 代理机构的每个额外账号需支付 $1–$6/月(见下文“定价档位”)。 即使使用免费档位,X/Twitter API 费用也会按用量转嫁;其余 13 个平台在账号额度内均完全免费。
适用场景
在 /ads generate(图片广告创意)或 /ads photoshoot(产品摄影)生成 ad-assets/ 目录后,/ads publish 会将其中的文件作为帖子,安排发布到你在 Zernio 中连接的每个社交网络。支持的平台:Twitter/X · Instagram · Facebook · LinkedIn · TikTok · YouTube · Pinterest · Reddit · Bluesky · Threads · Google Business · Telegram · Snapchat · WhatsApp · Discord。
流程
- 确认前置条件。 确认:
- 已设置
ZERNIO_API_KEY(见下文“身份验证设置”)。 ad-assets/目录存在,或用户已传入--assets <dir>。- 可选:
campaign-brief.md存在(脚本会从中提取各平台的配文)。
- 已设置
- 查找素材。 列出素材目录中的图片和视频。根据文件名中的宽高比提示(
9x16、1x1、16x9、1.91x1),推断每个素材适用的平台。 - 规划发布。 向用户展示一个表格,列出每项素材将发布到哪些平台、配文长度和计划时间。调用 Zernio 前请先征得用户确认(除非使用
--dry-run)。如果目标平台列表中包含twitter或x,发布前须说明 X/Twitter 的费用转嫁说明——这些帖子除了 Zernio 档位费用外,还会产生按用量计费的 Twitter API 费用;其余 13 个平台在账号额度内免费。 - 调用
scripts/zernio_publish.py。 使用 Bash,并传入用户选择的平台以及可选的--schedule标志。 - 报告结果。 读取 JSON 输出,说明哪些内容已发布、哪些出错,并清楚指出任何速率限制或身份验证问题。如果有内容已安排发布(而非立即发布),提醒用户帖子将在何时上线。
身份验证设置
- 在 https://zernio.com 注册 — 前 2 个账号始终免费,无需信用卡。可在 https://zernio.com/pricing 确认。
- 在 Dashboard → API Keys 中创建一个密钥(
sk_<64-hex-chars>)。密钥只会显示一次。 - 对于要发布内容的每个社交网络,请在 Zernio 的 Dashboard 中完成 OAuth 流程,路径为
/connect/<platform>。Zernio 会处理各网络的 OAuth;你无需自行管理 Twitter/Meta/LinkedIn 令牌。你连接的每个社交网络都计为免费额度中的一个“账号”。 - 导出:
export ZERNIO_API_KEY='sk_...'
定价档位
| 已连接账号数 | 每个账号每月价格 |
|---|---|
| 前 2 个 | $0(永久免费) |
| 3–10 | $6 |
| 11–100 | $3 |
| 101–2,000 | $1 |
| 2,001+ | 定制 |
重要提示: 无论 Zernio 档位如何,X/Twitter API 费用都会按 X 公布的费率计量并转嫁。 其余 13 个平台(Instagram、Facebook、LinkedIn、TikTok、YouTube、Pinterest、 Reddit、Bluesky、Threads、Google Business、Telegram、Snapchat、 WhatsApp、Discord)均完全包含在内。
不使用 Zernio(适用于 3 个及以上账号的替代方案)
免费的 2 个账号额度足以满足典型个人用户的需求。如果你管理着
3 个或更多社交账号(代理机构配置),且不想支付 Zernio 的
按账号费用,可以运行 /ads publish --dry-run 获取发布计划
(包括每项素材发布到哪个网络、配什么文案),然后使用各平台自带的排期工具手动发布:
- Meta Business Suite:免费,支持安排 Facebook + Instagram 帖子。
- LinkedIn Page Posts → 在编辑器中安排发布。
- TikTok Business Suite:可免费安排发布自然内容。
- Buffer / Hootsuite 免费档位:功能有限,但可用。
发布计划相同,且没有持续费用 — 只是每次发帖需要多点几下。
素材与平台匹配
| 方面 | 平台 |
|---|---|
| 9:16(竖屏) | Instagram Stories/Reels、TikTok、YouTube Shorts、Snapchat、Facebook Stories |
| 1:1(方形) | Instagram Feed、Facebook Feed、LinkedIn、Pinterest、X/Twitter |
| 16:9(横屏) | YouTube、X/Twitter、LinkedIn、Facebook |
| 1.91:1(横向) | LinkedIn 单图、Facebook 链接预览 |
脚本会读取文件名中的纵横比标记(例如 hero_9x16.png、
product_1x1.jpg)来决定。使用 --platforms <list> 可覆盖此设置。
从简报中提取文案
如果存在 campaign-brief.md,脚本会解析 ## Instagram caption、
## TikTok caption 等章节,并将各章节内容用作对应平台的文案。## Default caption 章节会作为没有专属文案的平台的备用文案。
输出
/ads publish 会写入一份 JSON 报告(publish-results.json),其中包含:
{
"tool": "zernio_publish",
"dry_run": false,
"assets_found": 5,
"captions_parsed": ["instagram", "facebook", "linkedin", "default"],
"planned": [
{"asset": "ad-assets/hero_9x16.png", "platform": "instagram", "scheduled_at": "..."}
],
"published": [
{"asset": "...", "platform": "instagram", "post_id": "...", "status": "scheduled"}
],
"errors": []
}
用它确认哪些内容已发布,哪些尚未发布。
质量门槛
- 除非传入了
--yes,否则未经用户明确确认不得发布。 - 如果
--schedule指定的时间已过,则拒绝执行并提示设置未来的时间戳。 - 如果文案超出平台限制(X:280、LinkedIn:3000 等),则在发布前显示警告。
- 每个素材:默认每次
/ads publish调用最多发布到 5 个平台(避免意外消耗大型目录的 Zernio 配额)。