yyl-video-thumbnail
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseYYL 视频封面 Skill
YYL Video Thumbnail Skill
做一件事:给视频做高点击率的封面(缩略图)。主战场 B站、YouTube、抖音/视频号。
核心技法是 pop-out:
底层:人物的原始照片,压暗 + 降饱和(保留房间/桌面等环境 → 真实感)
中层:大标题(关键词=黄色实色块),压在暗化原图上
顶层:把人物从原图里抠出来,全亮、原位精确叠回去
→ 人物“从自己的场景里跳出来”,盖住一点文字但关键词照样可读一套内容用 CSS 重排成 16:9 / 4:3 / 3:4(重排,不是裁切)。
和的分工:那个做小红书图文/信息图/杂志风,克制、编辑感。这个做视频缩略图,强对比、大主体、高冲击。两套美学,不要混。yuyile-social-card-skill
Do one thing: create high-click-through covers (thumbnails) for videos. Primary platforms: Bilibili, YouTube, and Douyin/WeChat Channels.
The core technique is pop-out:
Bottom layer: the person’s original photo, darkened + desaturated (retain the room/desk and other environmental details → realism)
Middle layer: large headline (keyword = solid yellow block), placed over the darkened original photo
Top layer: the person cut out from the original photo, fully brightened and accurately aligned back in the original position
→ the person “jumps out of their own scene,” covering part of the text while the keyword remains readableA single set of content is reflowed with CSS into 16:9 / 4:3 / 3:4 (reflowed, not cropped).
Division of labor with: that skill creates restrained, editorial Xiaohongshu posts, infographics, and magazine-style visuals. This skill creates video thumbnails with strong contrast, a large subject, and high impact. The two aesthetics should not be mixed.yuyile-social-card-skill
何时用 / 不用
When to Use / Not Use
用:视频封面、缩略图、thumbnail、B站/YouTube/抖音封面、把"我"放封面上、AI/Codex/Agent/开源工具类视频封面。
不用:小红书图文/信息图/杂志风 → ;翻页 PPT → PPT skill;纯 AI 绘图。
yuyile-social-card-skillUse: video covers, thumbnails, Bilibili/YouTube/Douyin covers, placing “me” on the cover, and AI/Codex/Agent/open-source tool video covers.
Do not use: Xiaohongshu posts, infographics, or magazine-style visuals → ; flip-through PPTs → PPT skill; pure AI image generation.
yuyile-social-card-skill一次性 setup
One-Time Setup
bash
pip install "rembg[cpu]" onnxruntime
python3 -m playwright install chromiumbash
pip install "rembg[cpu]" onnxruntime
python3 -m playwright install chromium工作流(Claude 做判断,代码做渲染)
Workflow (Claude Makes the Judgments; the Code Does the Rendering)
- 读输入:用户口语需求 + 一张真人照片(要有环境感更好,环境会保留进封面)。
- 想清楚(你判断,别写死规则,见 ):
references/brand-system.md- 标题砍到 8–16 字、断 2–3 行、哪个词做黄色块
- 主题 → kicker 小标签
- 人物在原图的左还是右 →
person_side
- 抠图:
python3 src/cutout.py <照片> input/person-cut.png- ⚠️ 输出整幅(不裁外框),这样顶层人物能和底层原图精确对齐。
- 写 brief.json:见 。
examples/codex/brief.json=原图,photo=抠图,两者必须是同一张。person_image - 渲染:→ 3 张高清 PNG。
python3 src/render.py <brief.json> output/ - 视觉自检:看输出图,对照 的「合格/不合格」清单。关键词被人物挡到读不出、背景压太暗/太亮,就调
references/brand-system.md或字号重渲。focus - 交付 + 简述取舍。
- Read the inputs: the user’s colloquial request + one photo of an actual person (an environmental portrait is better because the environment will be preserved in the thumbnail).
- Think it through (you decide; do not hard-code the rules; see ):
references/brand-system.md- Cut the title down to 8–16 characters, break it into 2–3 lines, and decide which word should use the yellow block
- Topic → kicker mini-label
- Whether the person is on the left or right in the original photo →
person_side
- Cut out the person:
python3 src/cutout.py <photo> input/person-cut.png- ⚠️ Output the entire frame without cropping the outer bounds, so the top-layer person can be precisely aligned with the bottom-layer original.
- Write brief.json: see .
examples/codex/brief.json= original image,photo= cutout; both must come from the same image.person_image - Render: → 3 high-resolution PNG files.
python3 src/render.py <brief.json> output/ - Visual QA: inspect the output and compare it with the “pass/fail” checklist in . If the person obscures the keyword or the background is too dark/bright, adjust
references/brand-system.mdor the font size and re-render.focus - Deliver the result + briefly explain the trade-offs.
品牌铁律(写死)
Brand Rules (Non-Negotiable)
- pop-out 三层不能破:暗化原图(留环境) → 文字 → 全亮抠图人物(原位对齐)。
- 人物全亮跳出、第一主体;标题第二,关键词用黄色实色块(招牌记忆点)。
- 人物可盖住部分文字,但关键词必须仍可读。
- 字体:拉丁用 Archivo Black,中文用 PingFang(系统最重);要更狠就放 Heavy 中文字体到 接
assets/fonts/。@font-face - 背景压暗适度,别压死——环境要看得见才有真实感。
- 品牌签名:左下角只放「@鱼亦乐」文字,无 logo。
- 三比例各自重排,不是裁切。禁止绿色大字。
- 来源宽高比自动适配:横图(≥1.2)做 3:4 时自动切「上方标题带 + 下方照片带」,竖图全铺。建议 16:9 用横图、3:4 优先用竖图拍。
- The three-layer pop-out structure must not be broken: darkened original image (retaining the environment) → text → fully brightened cutout person (precisely aligned in the original position).
- The fully brightened person jumps out and becomes the primary subject; the title is secondary, and keywords use a solid yellow block as the signature visual cue.
- The person may cover part of the text, but the keyword must remain readable.
- Fonts: Archivo Black for Latin text and PingFang for Chinese text (the heaviest system weight); for a more aggressive look, place a Heavy Chinese font in and connect it with
assets/fonts/.@font-face - Darken the background moderately—do not crush it. The environment must remain visible to preserve realism.
- Brand signature: place only the text “@鱼亦乐” in the bottom-left corner, with no logo.
- Reflow each of the three ratios independently; do not crop. Large green text is prohibited.
- Source aspect ratio adapts automatically: when using a landscape image (≥1.2), the 3:4 layout automatically switches to a “top title band + bottom photo band” composition; portrait images fill the canvas. Use a landscape image for 16:9 and preferably a portrait image for 3:4.
三套模板(brief 里 template
字段切换,互不混用)
templateThree Templates (Switch with the template
Field in brief.json; Do Not Mix Them)
template| 模板 | 风格 | 标题处理 | 适合 |
|---|---|---|---|
| 深色海报风 | 大白字 + 黄色实色块关键词,人物全亮跳出 | 大多数视频,强冲击 |
| 深色命令面板风 | 标题做成"在 AI 工具里输入的查询" | 工具 / AI / 自动化类 |
| 浅色胶片编辑风 | 褪色(近黑白)照片 + 胶片颗粒 + 半调网点(中性不发黄);关键词用 iOS 文本选中(黄底 + 蓝手柄)+ iOS 右键菜单紧贴选区上方 | 观点 / 故事 / 高级感选题 |
popoutuipaper- :用
ui字段给结果行(缺省用results)。subtitle - :用
paper字段给 iOS 右键菜单浮层(字符串列表,可省);关键词menu自动渲染成 iOS 选中高亮。[方括号]
| Template | Style | Title Treatment | Best For |
|---|---|---|---|
| Dark poster style | Large white text + solid yellow block for the keyword, with the person fully brightened and popping out | Most videos; high impact |
| Dark command-panel style | Render the title as “a query typed into an AI tool” with | Tools / AI / automation |
| Light film-editorial style | Faded, nearly monochrome photo + film grain + halftone dots (neutral, not yellow-tinted); the keyword uses iOS text selection (yellow background + blue handles), with the iOS context menu positioned directly above the selection | Opinions / storytelling / premium-looking topics |
popoutuipaper- : use the
uifield for result rows (defaults toresults).subtitle - : use the
paperfield for the iOS context-menu overlay (a list of strings; optional). Keywords inmenuare automatically rendered with iOS selection highlighting.[square brackets]
brief.json 字段
brief.json Fields
| 字段 | 说明 |
|---|---|
| |
| 输出文件名前缀 |
| 左上小标签(如 |
| 标题; |
| 副标题,可省 |
| 原图路径(底层背景,保留环境) |
| 抠图路径(顶层人物,须与 |
| |
| 取景焦点 object-position,可省(默认按竖图调好);可传字符串统一或按比例 |
| 默认 |
| |
| (仅 |
| (仅 |
| (仅 |
| 默认 |
| Field | Description |
|---|---|
| |
| Output filename prefix |
| Small label in the top-left corner, such as |
| Title; use |
| Subtitle; optional |
| Path to the original image (bottom-layer background, retaining the environment) |
| Path to the cutout image (top-layer person; must originate from the same image as |
| |
| Framing focal point expressed as |
| Defaults to |
| |
| ( |
| ( |
| ( |
| Defaults to |
文件
Files
- —— ★核心:pop-out 美学规则、配色、标题、验收清单。每次开工前读。
references/brand-system.md - —— 可选钩子组件规格。
references/components.md - —— 深色海报风模板(默认)。
assets/template-popout.html - —— 深色命令面板风模板。
assets/template-ui.html - —— 浅色纸质编辑风模板(iOS 选中高亮)。
assets/template-paper.html - —— rembg 抠图(整幅输出)。
src/cutout.py - —— 三层合成 + Playwright 精确截 3 张。
src/render.py - —— 输入示例。
examples/codex/brief.json
- — ★ Core: pop-out aesthetic rules, color palette, typography, and acceptance checklist. Read it before every task.
references/brand-system.md - — Specifications for optional hook components.
references/components.md - — Dark poster-style template (default).
assets/template-popout.html - — Dark command-panel-style template.
assets/template-ui.html - — Light paper-editorial-style template with iOS selection highlighting.
assets/template-paper.html - — rembg cutout that outputs the entire frame.
src/cutout.py - — Three-layer compositing + precise Playwright capture of 3 images.
src/render.py - — Example input.
examples/codex/brief.json