返回 Skill 列表
extension
分类: 其它需要 API Key

文章优化自动发布公众号

把文章内容,自动发布到公众号,主要功能如下: 1.根据内容生成 5 个标题,自动精选最优的标题; 2.根据内容,生成 50 字以内的摘要; 3.根据文章内容,生成文章内插图,放入到适合的位置。插图不超过 3 张,并选择最优一张作为文章封面; 4.对文章进行公众号排版美化(分段、加粗、配色); 5.发布格式化后的文章为公众号草稿。

person作者: user_99bc9dd8hubcommunity

微信公众号文章智能发布

根据原始文章内容,完成标题生成 → 插图生成 → 排版美化 → 发布草稿的全流程。

配置文件

所有 API 密钥和参数从 config.json 读取。每次操作前执行:

cat config.json

字段说明:

  • volcano.api_key — 火山方舟引擎 API 密钥
  • volcano.model_id — 图片生成模型 ID(doubao-seedream-4-5-251128)
  • volcano.api_base — 图片生成 API 地址
  • wechat.appid — 微信公众号 AppID
  • wechat.appsecret — 微信公众号 AppSecret
  • wechat.author — 文章作者名("视野 UP")

工作流程

按顺序执行以下步骤,每步完成后向用户展示结果,获得确认后再进入下一步

第一步:生成标题(5 个候选)

  • 作为千万粉丝公众号博主视角,基于文章内容生成 5 个标题。
  • 标题要求:有吸引力、符合公众号爆款调性、包含冲突/悬念/反常识/利益相关等爆款元素。
  • 每个标题配推荐指数(1-10),并说明推荐理由。
  • 将所有候选标题展示给用户,让用户选择最终使用的标题。
  • 如果用户不指定,选择推荐指数最高的。

第二步:生成摘要

  • 根据选定的标题和文章内容,生成一条摘要。
  • 字数控制在 50 字以内(严格计数)。
  • 要有吸引力,能激发阅读欲望,不使用"本文介绍了..."这类套话。
  • 展示给用户确认。

第三步:确定插图位置和生成提示词

  1. 通读文章内容,找出 2-3 个最适合放插图的段落位置。
  2. 为每个位置编写图片生成提示词,要求:
    • 用中文,具体且形象生动。
    • 明确排除:灰色背景、水印。
    • 要求:色彩鲜明、有趣、有吸引力、适合公众号插图。
    • 可指定构图风格(如扁平插画、3D 渲染、摄影风格等)。
  3. 将每个插图的提示词和放置位置展示给用户确认。

第四步:生成插图

对每个确认的提示词,调用脚本生成图片:

python3 scripts/generate_image.py config.json "提示词内容" /tmp/wechat_img_1.png

注意事项:

  • 图片不超过 3 张。
  • 确认返回 image_path 无误后继续。
  • 如有失败,重试一次(最多重试 1 次)。

第五步:上传图片到公众号素材库

  1. 先获取 access_token:
python3 scripts/get_access_token.py <appid> <appsecret>
  1. 对每张生成的图片上传:
python3 scripts/upload_image.py <access_token> <image_path>

记录每个返回的 media_id。如果 access_token 过期(返回 40001),重新获取后重试。

第六步:格式化文章内容

对原始文章进行排版美化,输出为 HTML 格式。要求:

  • 不改变文章内容(字词不改,顺序不变)。
  • 不要添加"总结"段落、"发布时间"、"作者"等元信息。
  • 使用 <section> 进行段落分组,段落间距适当。
  • 关键句/核心观点用 <strong> 加粗。
  • 根据语境对重点文字添加颜色:<span style="color: #0077c8;">文字</span>(蓝色)、<span style="color: #e67e22;">文字</span>(橙色)可选。
  • 在之前确定的插图位置插入 <img> 标签,src 使用对应的 media_id 格式。
  • 正文颜色建议 color: #333;,行高 line-height: 1.8;
  • 整篇文章外层用 <section style="padding: 0 12px;"> 包裹。

最终 content 要输出为一段完整的 HTML 字符串。

第七步:创建公众号草稿

  1. 构造 payload JSON 文件 /tmp/draft_payload.json
{
    "articles": [{
        "title": "选定的标题",
        "author": "视野 UP",
        "digest": "选定的摘要",
        "content": "格式化后的 HTML 内容",
        "content_source_url": "",
        "thumb_media_id": "第一张插图或封面的 media_id",
        "need_open_comment": 0,
        "only_fans_can_comment": 0
    }]
}
  1. 调用脚本创建草稿:
python3 scripts/create_draft.py <access_token> /tmp/draft_payload.json
  1. 如果返回 media_id,表示草稿创建成功。

⚠️ 中文编码注意:payload JSON 必须用 UTF-8 编码写入,脚本内部已设置 ensure_ascii=False

最终输出格式

完成后,汇总展示:

一、生成的标题
1. xxxxxxxxxxx — 推荐指数 7
2. xxxxxxxxxxx — 推荐指数 9 ⭐
3. xxxxxxxxxxx — 推荐指数 6
4. xxxxxxxxxxx — 推荐指数 5
5. xxxxxxxxxxx — 推荐指数 8

使用标题:xxxxxxxxxxx

二、摘要
使用摘要:xxxxxxxxxxx(X字)

三、插图
1. 插图1:[在聊天窗口展示图片],文中位置:xxxx段落之后
2. 插图2:[在聊天窗口展示图片],文中位置:xxxx段落之后

四、草稿状态
✅ 草稿已创建,media_id: xxxxxxxxxxx