Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redbook-cover-gen

小红书杂志风封面生成器(WorkBuddy Skill)。将一张底图与醒目标题合成为 1080×1800(3:5)的小红书封面图。

Xiaohongshu (RED) magazine-style cover generator — composites a bold white title over a cover-fit base image at 1080×1800 (3:5).

功能特性

  • 杂志风排版:底图 cover-fit 铺满画布,白色粗体标题压在底部安全区。
  • 轻量基底蒙层:全图叠加 15% 不透明的黑色蒙版(即透明度 85%),保证标题在任意底图上都清晰可读。
  • 品牌角标:可选两行品牌名(如 XIAO / TAO);未配置时 skill 主动询问,用户可声明不加。
  • 自适应安全区:标题过长时自动缩小字号、换行,并避让底部品牌角标。
  • 字体运行时下载:首次使用按需从网络拉取所需字体(思源黑体 / Poppins),字体二进制不入库。

触发场景

当用户需要生成小红书封面图时调用,例如:

  • “帮我做一张小红书封面”
  • “用这张图生成封面,标题是……”

目录结构

redbook-cover-gen/
├── SKILL.md              # 触发词 + 工作流 + 脚本调用(入口)
├── README.md            # 本文件
├── references/
│   └── style-guide.md   # 设计常量与验收清单(单一真源)
├── scripts/
│   ├── render.py        # 封面合成主程序
│   ├── brand.py         # 品牌角标初始化 / 交互询问
│   ├── output_dir.py    # 输出目录解析(默认 skill 内部 output/)
│   └── ensure_font.py   # 运行时字体下载
├── config/
│   ├── brand.json       # 品牌角标配置
│   └── output_dir.json  # 输出目录配置(默认 {})
├── assets/fonts/        # 运行时下载的字体(不入库,见 .gitignore)
└── output/              # 渲染产物(不入库,见 .gitignore)

使用方式

  1. 调用 skill,提供 标题 与 底图(本地图片路径)。
  2. 若未配置品牌角标,skill 会询问品牌名(回答“不加”可跳过)。
  3. skill 运行 scripts/render.py 生成封面,输出至 output/<标题>_<日期>/<标题>_cover.png。

手动调用示例:

python scripts/render.py \
  --title "AI 时代,老板如何降本增效" \
  --image path/to/base.jpg \
  --brand XIAOTAO

关闭基底蒙层(仅 15% 不透明):

python scripts/render.py --title "..." --image base.jpg --no-base-overlay

配置

  • config/brand.json:{"enabled": true, "top": "XIAO", "bottom": "TAO"}。enabled: false 表示不加角标;top/bottom 为两行品牌名(大写拉丁字母时按最后大写字母处断行)。
  • config/output_dir.json:默认 {},产物落在 skill 内部 output/。

依赖

  • Python 3.10+,运行时依赖 Pillow。
  • 首次运行由 ensure_font.py 自动下载字体(需联网)。

许可

内部使用。

About

Magazine-style Xiaohongshu cover generator (1080x1800 3:5)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages