qwen_agent/skills_developing/z-card-image/SKILL.md
2026-03-17 21:55:10 +08:00

5.1 KiB
Raw Blame History

name version description metadata
z-card-image 1.1.0 生成配图、封面图、卡片图、文字海报、公众号文章封面图、微信公众号头图、X 风格帖子分享图、帖子长图、社媒帖子长图。适用于帖子类型数据、post data、social posts、tweet/thread、转发推文、转发帖子、小绿书配图、图片封面、card image。
openclaw
requires
bins
python3
google-chrome

z-card-image

将用户提供的文案渲染成 PNG 卡片图。 支持短文案封面图、长文分页图、X 风格帖子分享长图,以及公众号文章封面图。只要输入是“帖子类型数据”并希望导出成 X 风格长图,都应走 x-like-posts

环境要求

  • Python 3
  • Google ChromemacOS/Applications/Google Chrome.appLinuxchromium 需修改脚本路径)

执行流程

  1. 环境提示(用户触发时检测一次,有问题给提示,不中止流程):

    • python3 --version → 失败则告知:「⚠️ 未检测到 Python 3渲染可能失败」
    • 检查 Chrome 路径 → 失败则提示安装
  2. 识别场景

    • 短文案封面图 → poster-3-4
    • 长文分页图 → article-3-4
    • X 风格帖子分享图 / 帖子长图 / 帖子类型数据 → x-like-posts
    • 公众号文章封面图 → wechat-cover-split
  3. 查模板规则:根据模板在「模板索引」中找到对应规范文档,读取后按其规则处理文案和参数。如用户要求高亮:整行用 --hl1/hl2/hl3,按词用 --highlight-words(逗号分隔),两者可同时使用,不能忽略

  4. 确认署名:先询问用户底部署名文字(--footer),如:「请告诉我你的署名,例如"公众号 · 你的名字"」。用户未回答或要求跳过时,使用脚本默认值。

  5. 确定配色:拿到署名后,再确定配色方案:

    • 用户提到"小红书配图" → 推荐方案 B热情红
    • 用户提到"小绿书"或"公众号配图" → 推荐方案 A清新绿
    • 用户提到"推特长图"/"X 风格" → 使用 render_x_like_posts.py 自带默认值Twitter 蓝白灰)
    • 其他场景 → 询问用户选择下方配色方案:
    方案 风格 --bg --highlight 适用场景
    A. 清新绿 公众号/小绿书 #e6f5ef #22a854 公众号配图、小绿书
    B. 热情红 小红书 #fdecea #e53935 小红书配图
    C. 科技蓝 知乎/技术 #e8f4fd #1976d2 技术文章、知乎
    D. 暖橙黄 活力/营销 #fff8e1 #f57c00 活动海报、营销
    E. 优雅紫 时尚/文艺 #f3e5f5 #7b1fa2 文艺、时尚类
    F. 经典黑白 极简 #f5f5f5 #212121 极简风格

    用户也可自定义 --bg--highlight。用户未回答或要求跳过时,使用脚本默认值,不做额外覆盖。

  6. 渲染输出

    • poster-3-4 → 执行 render_card.py
    • article-3-4 → 执行 render_article.py
    • x-like-posts → 执行 render_x_like_posts.py
    • wechat-cover-split → 执行 render_card.py
    • 默认 --outtmp/...png;如用户指定导出位置,可直接传绝对路径或相对路径
  7. 输出产物:生成 PNG 到指定路径,供后续发送、裁切或复用;如需给外部工具上传,仍应避免写入系统 /tmp/

x-like-posts 导航

x-like-posts 用于“帖子类型数据 → X 风格分享长图”。

当命中这条路线时,继续读取:

输入校验

  • 比例不存在:驳回请求,告知当前支持的比例列表,询问是否新增模板
  • 文案超出模板字数上限:先自动拆分/缩写后再渲染,不要直接塞入
  • 帖子过多:按规范拆成多张 Part 1 / Part 2,不要把超长内容强行塞进一张
  • 公众号封面标题过长:先压缩成 2~3 行短标题,再渲染,不能把完整长标题硬塞进模板

模板索引

模板名 比例 尺寸 用途 规范文档
poster-3-4 3:4 900×1200 文字海报(金句/大字报/封面) references/poster-3-4.md
article-3-4 3:4 900×1200 长文分页卡片 references/article-3-4.md
x-like-posts 自适应长图 900px 宽 X 风格帖子分享长图 references/x-like-posts.md
wechat-cover-split 335:100 1340×400 公众号文章封面长条图(左标题右 icon references/wechat-cover-split.md

新增模板

  1. 新建 assets/templates/<name>.html
  2. render_card.pysize_map 里注册尺寸
  3. 在上方模板索引中添加一行
  4. 创建对应 references/<name>.md,记录该模板的参数、字数上限、配图选取规则