把封面拆成五個維度, 逐項可控。
baoyu-cover-image 是 baoyu-skills 套件裡的一個 Claude Code skill,由寶玉(Jim Liu)維護,MIT 授權。它解決一個常見痛點:讓 AI 生封面,每次風格都不一樣、文字還常常糊掉。這個 skill 把封面拆成可指定的維度,讓結果可重現、可微調,而不是抽卡。
五個核心維度是類型(Type)、配色(Palette)、渲染(Rendering)、文字量(Text)、情緒(Mood),再加字體(Font)與長寬比(Aspect)。每個維度都有預設值與 auto 自動判斷;你可以只指定其中幾個,其餘交給它依文章內容決定。觸發語是「generate cover image」「create article cover」「做封面」之類。
它本身不畫圖,而是挑一個影像後端(Codex 原生 imagegen、baoyu-image-gen,或當前 runtime 的等價工具)來生成。兩條鐵律:生成前一定先把完整 prompt 寫進 prompts/ 檔案;文字若出錯就重生,不用 ImageMagick / SVG 事後修補。
類型
配色
渲染
文字
情緒
字體
長寬比
標題用文章原文,絕不自己編造; 文字錯了就重生,不要事後修補。
一行裝好 baoyu-skills, 用自然語言喚起。
baoyu-cover-image 隨 baoyu-skills 套件一起安裝。兩種方式:用 skills CLI,或註冊成 Claude Code 的 plugin marketplace。裝好後在 Claude Code 或 Codex 直接用自然語言喚起,不必記指令名稱。
# 方法一:用 skills CLI 安裝整個套件
npx skills add jimliu/baoyu-skills
# 方法二:在 Claude Code 內註冊成 plugin marketplace
/plugin marketplace add JimLiu/baoyu-skills怎麼喚起這個 skill
不需要記指令名稱。給 Claude Code 你的文章(貼內容或給檔案路徑),再說要做封面即可;也可以直接帶參數,跳過互動確認(參數見第 03 節)。
# 最簡單:讓它依文章內容自動判斷維度
為這篇文章生成一張封面圖:./posts/my-article.md
# 帶參數:指定配色與長寬比,並跳過確認
generate cover image --palette warm --aspect 16:9 --quick七個維度, 全部選項一次看。
下面把每個維度的全部選項列出來,含預設值。你可以全部交給 auto,也可以逐項指定;只指定其中幾個時,其餘維度會依文章內容自動判斷。指令列參數放在最後一張表,適合在喚起時直接帶上。
① 五大維度 + 字體
| 維度 | 選項 | 預設 |
|---|---|---|
類型 Type | hero、conceptual、typography、metaphor、scene、minimal | auto |
配色 Palette | warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron(11 種) | auto |
渲染 Rendering | flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print(7 種) | auto |
文字量 Text | none、title-only、title-subtitle、text-rich | title-only |
情緒 Mood | subtle、balanced、bold | balanced |
字體 Font | clean、handwritten、serif、display | clean |
② 長寬比 Aspect
| 長寬比 | 用途 |
|---|---|
16:9 | 預設,通用橫式 |
2.35:1 | 電影感寬幅 |
4:3 | 傳統橫式 |
3:2 | 攝影比例 |
1:1 | 方形,社群貼文 |
3:4 | 直式 |
③ 指令列參數
| 參數 | 說明 |
|---|---|
--type <name> | 指定類型(6 種) |
--palette <name> | 指定配色(11 種) |
--rendering <name> | 指定渲染風格(7 種) |
--style <name> | 套用預設組合 preset(快捷) |
--text <level> | none / title-only / title-subtitle / text-rich |
--mood <level> | subtle / balanced / bold |
--font <name> | clean / handwritten / serif / display |
--aspect <ratio> | 16:9 / 2.35:1 / 4:3 / 3:2 / 1:1 / 3:4 |
--lang <code> | 標題語言(en、zh、ja…) |
--no-title | 等同 --text none |
--quick | 跳過確認,用自動選擇 |
--ref <files...> | 參考圖,用於風格 / 構圖 |
④ 構圖原則(skill 內建)
不論你選哪些維度,baoyu-cover-image 都會套用幾條固定的構圖原則:留白 40–60%,保留呼吸感;視覺錨點放在置中或偏左;人物用剪影式簡化,避免擬真人臉;標題使用原文,用你或來源提供的確切標題,絕不自行編造。
⑤ 影像後端選擇順序
skill 本身不畫圖,而是依優先序挑一個影像後端:① 當前訊息指定的後端 → ② EXTEND.md 裡存的 preferred_image_backend → ③ 自動挑選(Codex 原生 imagegen → Codex CLI → 其他 runtime 原生工具 → 唯一可用的後端)→ ④ 都沒有就詢問你。要直接走特定後端,在訊息裡指定即可。
⑥ 輸出檔案結構
產出會放在輸出目錄下,prompt 與來源檔一併保留,方便重生與追溯:
<output-dir>/
├── source-{slug}.{ext} # 來源(文章/截圖)
├── refs/ # 有給參考圖時
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md
├── prompts/cover.md # 生成前必先寫入的完整 prompt
└── cover.png # 封面成品從文章到封面, 六個步驟。
喚起後,skill 會走一條固定流程。理解每一步,就知道它在等你確認什麼、會把檔案放在哪裡。其中 Step 0 與「先寫 prompt」是會擋住流程的硬規則。
載入偏好(會擋住)
從專案 / XDG / home 路徑讀取 EXTEND.md 偏好;若沒有,先跑一次首次設定。這步是 BLOCKING——確保有偏好(後端、語言、quick_mode 等)才往下走。
EXTEND.md · 三路徑擇一
分析內容
分析文章內容、存下你提供的參考圖、決定輸出目錄(same-dir / imgs-subdir / independent)。
輸出目錄在此決定
確認維度
用互動工具跟你確認類型、配色、渲染等維度——除非你下了 --quick、說「不用確認」,或已把維度全部指定。
--quick 可跳過
先寫 prompt(強制)
生成前,把完整 prompt 寫進 prompts/cover.md(或 prompts/NN-{type}-[slug].md)。沒寫不生圖——這讓結果可追溯、可重生。
prompt 檔案為必要步驟
挑後端並生成
依優先序挑影像後端(Codex 原生 imagegen、baoyu-image-gen,或 runtime 等價工具),然後生成封面。
後端順序見第 03 節
回報結果
回報主題、最終採用的維度、以及檔案位置(來源、prompt、cover.png)。文字若出錯,回到 Step 3/4 重生,不事後修補。
錯了就重生,不修補
為一篇文章, 生成一張封面。
以下示範把一篇 Markdown 文章交給 baoyu-cover-image,指定暖色、扁平向量、電影寬幅,看它怎麼確認維度、先寫 prompt、再生成。互動確認的步驟以對話呈現。
$ You ›
為這篇文章生成封面:./posts/llm-agents.md
--palette warm --rendering flat-vector --aspect 2.35:1
claude: Claude ›
我準備用這些維度,先跟你確認:
hl: 類型 type : conceptual(自動判斷)
hl: 配色 palette : warm
hl: 渲染 rendering : flat-vector
hl: 文字 text : title-only
hl: 情緒 mood : balanced
hl: 長寬比 aspect : 2.35:1
$ You › 可以,但 mood 改成 bold
claude: Claude ›
ok: [Step 5 完成]
ok: topic : LLM Agents 入門
ok: file : cover-image/llm-agents/cover.png
ok: prompt : cover-image/llm-agents/prompts/cover.md
標題用文章原文,未改字。若文字有誤,改 prompt 再跑一次即可。
生成前先把完整 prompt 寫進檔案, 文字錯了就重生——不用 SVG 或 ImageMagick 事後補字。
為什麼要先寫 prompt 檔
把 prompt 落成 prompts/cover.md 有兩個好處:一是可追溯,你能看到這張封面到底用了什麼描述;二是可重生,文字糊掉或想微調時,改 prompt 再跑一次即可,維度與構圖保持一致。
這也是它刻意不准用 SVG 或疊字事後修補的原因——那會讓結果不可重現,下次想複製同一風格就辦不到。整個流程的設計重點,是把「抽卡式生圖」變成「可控、可重跑的產線」。
用之前, 先記住這些規則。
把封面接進你的內容產線。
單張封面只是起點。把 baoyu-cover-image 接進固定設定與其他 baoyu-skills,它就從「生圖工具」變成「內容產線的一站」。
進階玩法地圖
**1. 用 EXTEND.md 鎖風格。**把常用配色、渲染、字體、後端寫進 EXTEND.md,之後每張封面風格一致,連 --quick 都不必每次重帶參數。
**2. 用 --ref 餵風格參考。**給幾張你喜歡的封面當 --ref,讓構圖與風格更貼近你的品牌調性。
**3. 用 --style preset 快速套版。**重複使用的維度組合,用 --style 一次帶入,省去逐項指定。
4. 串成內容產線。baoyu-url-to-markdown 或 baoyu-youtube-transcript 取得內容 → baoyu-translate / baoyu-format-markdown 整理 → baoyu-cover-image 生封面 → baoyu-post-to-x / baoyu-post-to-wechat 發佈。
**5. 換出圖後端。**想用不同模型,改 EXTEND.md 的 preferred_image_backend,或用 baoyu-image-gen 接 OpenAI / Azure / Google / OpenRouter / DashScope 等。
最該讀的延伸資料
① skills/baoyu-cover-image——SKILL.md 與 references/(types、palettes、renderings、auto-selection、style-presets)。 ② JimLiu/baoyu-skills——整個套件的 README 與其餘 20 個 skill。 ③ 同套件的 baoyu-image-gen——多供應商出圖後端,搭配本 skill 使用。
把生封面從「每次重抽」, 變成「設定一次、重複產出」。