xhs-cover
Use when making a cover or thumbnail for a Xiaohongshu (小红书), Douyin, WeChat Channels or Bilibili video or note — 小红书封面、抖音封面、视频封面、笔记封面、做封面、封面没人点、封面太素、封面文字太小 — or when reviewing an existing cover that gets few clicks.
Source facts
- Repository
- zhuyansen/xhs-cover-skill
- Last source activity
- October 12, 2026 at 11:46
- Detected SKILL.md language
- Chinese
- Stars
- 1
- Forks
- 0
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
Showing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- xhs-cover
- description
- Use when making a cover or thumbnail for a Xiaohongshu (小红书), Douyin, WeChat Channels or Bilibili video or note — 小红书封面、抖音封面、视频封面、笔记封面、做封面、封面没人点、封面太素、封面文字太小 — or when reviewing an existing cover that gets few clicks.
# 小红书风视频封面
封面只做一件事:让人在信息流里停下来。观众不读小字,所以一张封面只说一句话、给一个数字、放几样看得见的证据。
## 做之前先定四样
数字和事实不能编:用户没给的,先问,问到之前不要出图(可以先把 JSON 草稿写好,缺的地方留空给用户填)。标题怎么措辞可以从用户给的内容里提炼,交付时说明这是你拟的。
1. **两行标题**。第一行说主题,第二行是钩子。长度按宽度算:一个汉字算 1,数字、字母、空格算半个(卡片上的字也这么算);第一行不超过 10,第二行不超过 7。第二行越短字越大:4 以内是最大字号,超过 4 脚本就开始把它缩小,到 6、7 时大约是最大字号的七成。第一人称更好:「我装了 512 个 Skill / 只用过 51 个」。
2. **第二行的钩子里放一个数字**。它必须是视频或正文里真有的那个数:封面上的数字是承诺,对不上的话点进来的人会走。第一行可以再带一个交代范围的数(「12 个工具」「512 个 Skill」),卡片里可以放别的数字作证据。内容里确实没有可核实的数字时,第二行换成一句具体的结论(「好看的全是错的」),不要硬造一个数。
3. **两到三样证据**(脚本最多排三张)。截图、成品图,或「小字 + 大字」的数据卡;每张卡的小字宽度不超过 10;没有人像时小字和大字排在同一行,小字控制在 7 以内。每张卡说一件能在内容里找到的事,几张卡说的是不同的事;把同一句话拆成几张不算证据。只有一样就放一样,不要用装饰凑数。
4. **人像(可选,有更好)**。一张透明底的抠图。同一个账号每期用同一张脸,这是别人认出你的方式。没有人像也能做:卡片会变成横条,竖版铺满中段,横版排在右侧一列。
底部的问话(`question`,不超过 6 个字)可放可不放。没有人像又放了三张卡时,它会把卡片挤小,这时不放。
## 出图
把四样东西写成一个 JSON,然后运行脚本(只依赖 Pillow):
```bash
python3 scripts/cover.py spec.json --thumb
```
```json
{"out": "cover",
"line1": "我装了 512 个 Skill", "line2": "只用过 51 个",
"person": "me.png", "background": "bg.png",
"cards": [{"image": "shot.png"},
{"small": "删 461 个,省 token", "big": "3.8 万"},
{"small": "14 个安装工具", "big": "12 个不设防", "color": "#FF5A5A"}],
"question": "该用哪个?"}
```
出三张封面:`-p.jpg`(3:4,小红书)、`-h.jpg`(16:9,B 站横版)、`-v.jpg`(9:16,抖音和视频号),加 `--thumb` 时多一张 `-p-thumb.jpg`。9:16 那张是把 3:4 的封面放在它自己的模糊背景上,不是另排一版。全部字段见 `scripts/cover.py` 开头的说明;只有 `line1`、`line2` 必填;横版想用另一张底图就加 `background_h`;卡片不写 `color` 就用标题色;没有底图时用带主题色光晕的深色渐变。换主题色用 `accent`(标题色)和 `shadow`(标题阴影色),底图太亮用 `dim` 压暗。可以直接改 `examples/spec.json`。
## 出完必须自己看图
脚本只负责排,不判断好坏。每次出图后三张都打开看,逐条过:
- 打开 `-p-thumb.jpg`(320 像素宽,信息流里的大小):第二行大字一眼能读出来吗?读不出就是没过。
- 三张里,字有没有压在人脸上、有没有出框、卡片有没有盖住标题?有没有一大块空着?(9:16 上下的模糊带是设计如此,不算。)
- 除了白色,全图不超过三种颜色:标题色、它的阴影色(`shadow`)、最多再加一个警示色(比如红)。卡片默认跟标题色,只有「坏消息」那张用警示色。
- 卡片小字超过 10 个汉字的,删掉或缩短。
不过关就改 JSON 重跑。改 JSON 解决不了的(比如抠图本身把手肘切掉了、底图上半部太亮),如实告诉用户哪一张有什么问题、补什么素材能解决,不要当成没问题交出去。没看过图不要说「做好了」。
## 底图和人像从哪来
- **底图**:任何没有文字、没有人的图。用生图模型时提示词见 `references/background-prompt.md`。**只让模型画底图**,不要让它画字和脸:中文字会画错,脸会被重画成另一个人。
- **人像**:用户自己提供抠好的透明底 PNG,脚本不抠图。用户只有普通照片时,告诉他怎么抠:iPhone 相册里长按人物选「拷贝主体」;Mac 的「预览」打开图片后用工具栏里的「移除背景」;或任何在线抠图工具。导出成 PNG,两臂和头顶不要被裁掉。不要从别人的视频或封面里截人像。
## 更多
- `references/rules.md`:六条规则的原因、版式尺寸、另一种「许愿式」封面、常见错误。
- YouTube 缩略图的规律相反(字越少越好),不要直接用这个版式。
View on GitHub