如何用一个 API 把文章自动发到头条号、微信公众号、百家号、知乎
如果你正在搭建 AIGC 内容流水线、运营 MCN 矩阵账号,或者为客户做内容分发 SaaS,下面这个问题迟早会卡住你:
> 文章已经写好了,现在怎么稳定、批量、可追踪地把它发到头条号、微信公众号、百家号和知乎?
直接让 AI 调浏览器点按钮太脆弱,自己写 RPA 维护成本高,每个平台的开放接口又分散且各家规则不同。本文给出一个工程上能落地的方案:用一个统一 API,把"发布"这件事抽象成一次 HTTP 调用。
这篇文章适合谁
- AIGC 内容流水线的工程师 / 产品负责人——AI 写完之后没有"发布出口"
- AI Agent 团队——智能体规划再精,缺一个稳定的执行层
- MCN 矩阵 / 企业自媒体的技术中台——账号多到运营复制粘贴跟不上
- 内容 SaaS 集成商——需要把"分发"做成自家产品里的一个功能模块
为什么不直接让浏览器自动化点按钮?
很多团队最初的方案是 Puppeteer / Playwright + 一堆 selector,但跑两周就会撞到这几堵墙:
1. 平台前端改版,selector 全废 2. 风控加严,IP / 行为指纹被识别为机器人 3. 多账号并发时登录态串号 4. 任务失败没有结构化原因,只能人工去看截图
这些不是写代码能根治的,因为本质上你在和平台前端"赛跑"。更稳定的做法是把发布这层独立出来,用一个标准化 API 屏蔽掉所有平台差异。
前置条件
接入颜小二自媒体发布 API 前,请确认你已经具备:
1. 一个可用的 HTTPS 域名,用于接收 callback 回调 2. 已生成的 API Key ID 与 Secret(在[联系我们](/contact.html#form)申请) 3. 已规划好账号分组的命名(group_code,比如 brand_a_default) 4. 内容侧准备好:标题、正文 HTML、封面、摘要、标签、分类、外部 ID(external_id)
6 步完成接入
第 1 步:创建租户与账号分组
每个客户/品牌对应一个租户,每个租户下按维度(品牌、行业、矩阵)拆分若干个 group_code。后续发布时你只需要指定 group_code,颜小二会自动把任务路由到该分组下的所有账号。
第 2 步:在你侧准备一个 callback 接收端点
颜小二把每条任务的发布结果(成功链接、失败原因、登录态是否过期)回传给你的固定 callback_url。建议你的接收端点至少处理:
- 任务状态:
success/failed/login_expired - 平台返回:
platform_url、platform_id、error_msg - 幂等:以
external_id + platform作为业务侧主键,避免重复入库
第 3 步:调用统一发布 API
请求体最少需要这些字段:
``json { "external_id": "your_article_2026_001", "group_code": "brand_a_default", "title": "你的文章标题", "content_html": "<p>这里是正文 HTML</p>", "cover_url": "https://yourcdn.com/cover.jpg", "summary": "一句话摘要,给平台用", "tags": ["AI", "效率工具"], "category": "科技", "target_platforms": ["toutiao", "wechat_mp", "baijiahao", "zhihu"] } ``
第 4 步:颜小二按账号分组路由
平台收到请求后,会按 group_code 命中目标账号集合,把任务下放给本地 Agent 执行。每个账号的登录态保存在客户本地 / 私有部署侧,颜小二云端不存任何 cookie——这点对合规和账号安全都很关键。
第 5 步:等待 callback 回调
发布完成后,颜小二把结果推送到你的 callback_url。如果某个账号登录态过期,回调里会带 login_expired,你的系统就可以触发该账号的重登流程,而不必整个矩阵停摆。
第 6 步:在你的后台展示发布结果
把 platform_url 关联回你内部的文章 ID,做发布矩阵的"可视化复盘"——哪些平台发成功、哪些失败、哪些账号需要重登。这一步看似简单,却是后续做"内容效果归因"的基础。
错误排查清单
| 现象 | 可能原因 | 处理方式 | |---|---|---| | 401 鉴权失败 | 签名错误 / 时间戳超出 5 分钟 / nonce 重复 | 重新生成 timestamp + nonce + signature | | 任务长时间没回调 | callback_url 不可达 / 防火墙拦截 | 检查公网可达性与 HTTPS 证书 | | 平台返回登录态过期 | 账号 cookie 失效 | 触发该账号本地 Agent 重登 | | 同一篇文章被发了两次 | 没用 external_id 做幂等 | 给每篇文章生成稳定唯一的外部 ID | | 部分平台成功部分失败 | 各平台审核策略不同 | 看回调里的 error_msg 针对性调整 |
常见问题(FAQ)
Q:颜小二会不会保存我的账号 cookie? 不会。登录态保存在你侧的本地 Agent,颜小二云端只负责下发任务和接收结果。详见 [产品功能 / 登录态本地保存](/product.html)。
Q:每个平台要不要我自己注册开发者账号? 不需要。颜小二把"官方 API"和"浏览器 Agent"两条路径都做了适配,你只面向一个统一端点。
Q:能不能只接其中一两个平台? 可以。target_platforms 字段按需指定即可,未来扩平台你的业务代码不需要改。
Q:发布失败会自动重试吗? 会,但仅限可恢复的失败(网络抖动、临时 5xx)。审核驳回类失败不会重试,会把原因原样回调给你由人工决策。
Q:颜小二适合做哪些规模的接入? 从单租户 1 个账号的最小可行集成,到 N 个租户 × M 个 group_code × K 个账号的多租户矩阵分发,都覆盖。具体[查看价格](/pricing.html)。
下一步
如果你想跑通完整流程,建议先做一次最小可行接入:1 个租户、1 个 group_code、1 个账号、1 篇测试文章——半天就能拉通。
→ [免费申请接入](/contact.html#form) | [查看完整 API 文档](/docs.html) | [自媒体发布 API 落地页](/lp/zimedia-publish-api.html)