如何用颜小二接入头条号实现批量自动发布
头条号是绝大多数中文内容矩阵的"主战场"——日活高、分发能力强、对长内容也友好。但一旦账号上 5 个,靠人工发布就会进入"运营每天上午只在头条号上花两小时"的窘境。本文给一份用颜小二自媒体发布 API 平台 5 步把头条号批量自动发布跑通的实操指南。
适用人群
- AI Agent 团队,让 Agent 把头条号当作一个稳定的发布出口
- MCN 矩阵运营,要在头条号矩阵上做一致性广播
- 企业自媒体团队,把官方头条号自动化接到 CMS
- AIGC 内容流水线开发者,需要在头条号专门做规模化分发
头条号批量自动发布是什么
头条号批量自动发布指的是:通过颜小二的统一文章接收 API,把同一篇文章按指定 group_code 同步发布到多个头条号账号。颜小二在底层走头条号官方 API + 本地 Agent 双路径,对外表现为一次 HTTP 调用。每个账号的登录态保存在本地,cookie 不上云。
> 头条号支持官方接口的部分能力,颜小二把"能走 API 的走 API、不能走的走 Agent"封装在同一个端点后。
前置条件
1. 已开通颜小二租户,拿到 API Key 与 Secret 2. 至少 2 个头条号账号(已在本地 Agent 上完成登录) 3. 一个公网可达的 callback_url 用于接收发布结果 4. 一份内容字段(标题、正文 HTML、封面、摘要、标签、分类)
5 步落地
第 1 步:在本地 Agent 上登录头条号
启动颜小二本地 Agent,浏览器访问本地控制台,选择"头条号",扫码或密码登录。登录态加密保存到本地 /data 目录,云端只持有"该账号属于哪个 group_code"的元数据。
第 2 步:建一个头条号专属 group_code
虽然颜小二支持跨平台 group,但单独给头条号开一个 group 也很常见——便于在头条号上单独控制广播节奏:
`` group_code: toutiao_brand_a_main 成员:5 个头条号账号 ``
第 3 步:调用统一文章接收 API
``json { "external_id": "toutiao_2026_05_pillar_007", "group_code": "toutiao_brand_a_main", "title": "标题(建议 ≤30 中文字)", "content_html": "<p>正文 HTML</p>", "cover_url": "https://cdn.yourco.com/cover.jpg", "summary": "摘要(≤150 字)", "tags": ["AI", "效率工具"], "category": "科技", "target_platforms": ["toutiao"] } ``
target_platforms 显式指定 toutiao 是个好习惯——即使 group 内挂了非头条号账号,颜小二也只会路由到匹配的子集。
第 4 步:等 callback 回写发布矩阵
callback 体里会按账号粒度返回每条任务的结果:
``json { "external_id": "toutiao_2026_05_pillar_007", "platform": "toutiao", "account_id": "yxe_acct_xxx", "status": "success", "platform_url": "https://www.toutiao.com/article/xxx", "platform_id": "toutiao_xxxx", "retryable": false } ``
把 account_id + platform_url 写入你侧的发布矩阵表,方便后续查阅与归因。
第 5 步:异常路径处理
头条号 5 大典型异常对应的处理思路:
| 异常 | 颜小二回调字段 | 处理 | |---|---|---| | 标题被审核 | error_code=title_blocked | 改写后用新 external_id 再发 | | 封面违规 | error_code=cover_blocked | 换封面图 | | 账号登录失效 | status=login_expired | 本地重登 | | 短期发布频率过高 | error_code=rate_limited | 拉长间隔 | | 正文样式问题 | error_code=content_format | 推送前清洗 HTML |
一段最小可行 Python 代码
```python import json, time, uuid, hashlib, hmac, requests
def publish_to_toutiao(secret, key, payload): body = json.dumps(payload, ensure_ascii=False, separators=(",", ":")).encode() ts = str(int(time.time())) nonce = uuid.uuid4().hex canon = f"POST\n/api/v1/articles/publish\n{ts}\n{nonce}\n{hashlib.sha256(body).hexdigest()}" sig = hmac.new(secret.encode(), canon.encode(), hashlib.sha256).hexdigest() return requests.post( "https://api.yanxiaoer.example.com/api/v1/articles/publish", data=body, headers={ "Content-Type": "application/json", "X-YXE-Key": key, "X-YXE-Timestamp": ts, "X-YXE-Nonce": nonce, "X-YXE-Signature": sig, }, timeout=30, ).json() ```
错误排查清单
| 现象 | 可能原因 | 处理方式 | |---|---|---| | 401 invalid_signature | Secret 错或时间偏离 | 检查 NTP / Secret | | 422 group_not_found | group_code 拼错 | 控制台核对 | | 部分账号 login_expired | cookie 过期 | 本地重登 | | 频繁 rate_limited | 同 group 太多账号同时发 | 拉长间隔 | | 文章被头条审核 | 标题或封面问题 | 改写后用新版本号 external_id 再发 |
常见问题(FAQ)
Q:头条号批量自动发布是什么? 是用一次 API 调用把同一篇文章发到多个头条号账号的能力,颜小二用 group_code 路由 + 本地 Agent 执行实现。
Q:头条号批量自动发布怎么做最稳? 单独建一个头条号 group、配独立 IP 出口、控制每账号每天 ≤30 篇、把 callback 校验做好。
Q:头条号批量自动发布安全吗? 登录态本地保存(cookie 不上云)、HMAC 签名校验、租户隔离、风控指纹按账号独立。
Q:头条号批量自动发布有哪些案例? AI Agent 团队的内容工厂、MCN 多号矩阵、企业自媒体团队的官方账号矩阵都是常见形态。
Q:头条号批量自动发布的对比方案是什么? 直接调头条号官方接口(覆盖能力有限)、自建 RPA(维护成本高)。颜小二是把两条路径封装在统一端点后的折中。
下一步
- 平台覆盖:[支持平台](/platforms.html)
- 字段定义:[API 文档](/docs.html)
- 申请接入:[免费申请接入](/contact.html#form)