Community影像github.com

binay-py/thumbnail-maker

產生 YouTube 與社群媒體縮圖(1280x720,以及 1080x1920 Shorts/Reels 與 1200x630 連結預覽),使用 Pillow 實作——包含自動調整大小的標題與一個重點關鍵字,搭配乾淨的純色或模糊照片背景,再加上真實螢幕擷圖搭配手繪紅色圓圈與箭頭(技術與教學風格),或可置於文字前方的人物照片/去背圖。

thumbnail-maker 是什麼?

這是一個 Python 3.9+ 的 CLI 工具,專為快速產生專業級 YouTube、Shorts、Reels 與連結預覽縮圖而設計。它支援多種視覺風格(暗色、亮色、流行色等),能自動將標題以大字體顯示,並以強調框或顏色標出一個關鍵字。使用者可以選擇使用真實的螢幕截圖(可加上手繪紅圈與箭頭標記重點),或使用已去背的人物照片來增加深度感。工具會執行三項可讀性檢查:在 YouTube 搜尋尺寸下標題字高是否過小、標題對比度是否足夠、以及「瞇眼測試」——將標題區域模糊後仍能與背景區分。此外還會檢查 YouTube 時間戳角落是否被標題遮擋。若有任何檢查未通過,會回傳錯誤碼 1 並產生預覽圖,讓使用者在套用前先確認。本工具支援 macOS、Windows 與 Linux,需先安裝 Pillow,並可透過環境變數自訂字型路徑。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/binay-py/claude-skills/tree/HEAD/skills/thumbnail-maker

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

thumbnail-maker 是做什麼的?

scripts/thumbnail.py(旁邊需有 scripts/fonts.py)。Python 3.9+ 並執行 pip install pillow。

# 技術 / 教學風格:真實螢幕擷圖,圈出重點行,並從標題畫出箭頭
python thumbnail.py --title "Claude 差點刪掉了 *全部*" --style dark --shot terminal.png --circle 0.19,0.17,0.18 --arrow --out t.jpg

# 人物講述風格:將去背人物放在標題前方
python thumbnail.py --title "我測試了 *每套* AI 開發工具" --style dark --photo me-cutout.png --out t.jpg

# 照片背景,Shorts 尺寸
python thumbnail.py --title "當 *開發者* 的一天" --bg desk.jpg --style dark --size 1080x1920 --out short.jpg
選項功能說明
--title3-5 個字效果最好。用 *字* 標記關鍵字(會加上方框或顏色)。除非加上 --keep-case,否則會自動轉大寫。
--styledark(近黑色 + 黃色)、light(米白色 + 紅色),或更強烈的 pop、red、green、tech。
--lookclean(預設):純色背景加上柔和暗角;或 --bg 照片模糊加深以提升對比。burst:舊版漸層 + 光芒效果。
--shot img使用真實螢幕擷圖作為主要視覺。寬幅裁切(例如終端機或 UI 的一兩行)會滿版置於標題下方;較高的圖片則放在標題旁邊。圖片會縮放填滿空間。
--circle x,y,r在螢幕截圖上手繪紅色橢圓。x,y 為中心點,r 為橢圓的半寬,皆以截圖比例表示。
--arrow從標題指向橢圓的手繪箭頭(若上方空間不足,會繞過標題)。--mark-color 可更改紅色。
--photo img人物照片。透明 PNG(去背圖)會加上外框並繪製在標題邊緣前方以增加立體感;一般照片則會變成帶邊框的卡片(可搭配 --photo-shape circle、--tilt)。
--subtitle、--emoji、--accent、--highlight color、--size、--align、--font與先前相同:第二行小字、表情貼紙、關鍵字顏色、無方框的彩色關鍵字、輸出尺寸、對齊方式、標題字型。

設計原則(參考 2026 年最受歡迎縮圖的做法)

  • 一個想法,3-5 個字。 標題應與圖片互補,而非描述圖片。
  • 呈現真實畫面。 截取實際錯誤、結果或 UI 的關鍵行,並圈選出來,效果勝過通用素材。
  • 臉部: 使用已去背、表情清晰的人物,佔畫面高度的 40-60%。文字不要遮到眼睛。
  • 兩種顏色。 純色背景加一個強調色。避免使用光芒、大量 emoji 或漸層文字,這些看起來像模板或 AI 生成。
  • 保持右下角空白: YouTube 會在該處顯示影片長度。

檢查項目(輸出到畫面上,以及 <名稱>.preview.png)

  • 在 168 像素寬(YouTube 搜尋尺寸)下,標題字母高度低於 8 像素 → 發出警告。
  • 標題(填充色與背景、以及其外框之間)的有效對比度低於 3:1 → 發出警告。
  • 瞇眼測試: 將標題區域模糊至 48 像素寬,仍須能從背景中凸顯出來。
  • 時間戳角落: 標題延伸到右下角 20% x 16% 區域 → 發出警告。
  • 關鍵字框與背景融為一體、關鍵字與框/外框對比不足、字數超過 6 個。 出現任一警告則回傳錯誤碼 1。使用圖片前請先檢視預覽圖。

限制

  • 不提供去背功能:請傳入已經去背的 PNG(可使用 remove.bg、Photoshop、macOS「拷貝主體」)。
  • 圓圈與箭頭的位置由 --circle 參數決定:請檢查預覽圖並調整 x/y/r 直到橢圓對準目標。
  • 字型:標題使用 Impact(Windows/macOS;Linux 上請安裝 ttf-mscorefonts 或設定 FONT_TITLE=/path/Anton-Regular.ttf)。可透過 FONT_TITLE、FONT_BOLD、FONT_EMOJI 環境變數覆蓋。
  • Emoji:僅支援單碼點(不支援 libraqm 的 Pillow 無法處理 ZWJ 序列)。
  • 不提供臉部偵測:請自行裁切照片,確保臉部不靠近邊緣。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能