thumbnail-maker は何をしますか?
scripts/thumbnail.py(scripts/fonts.py が同じディレクトリにあること)。Python 3.9 以上で pip install pillow。
# テクノロジー / チュートリアル:実際のスクリーンショット、重要な行に丸、タイトルからの矢印
python thumbnail.py --title "Claude almost deleted *everything*" --style dark --shot terminal.png --circle 0.19,0.17,0.18 --arrow --out t.jpg
# トーキングヘッド:タイトルの前に人物の切り抜き
python thumbnail.py --title "I tested *every* AI coding tool" --style dark --photo me-cutout.png --out t.jpg
# 写真背景、Shorts サイズ
python thumbnail.py --title "A day as a *dev*" --bg desk.jpg --style dark --size 1080x1920 --out short.jpg
| オプション | 機能 |
|---|---|
--title | 3〜5語が最適。*単語* でキーワードをマーク(1つのボックスまたは色)。デフォルトで大文字化(--keep-case で無効)。 |
--style | dark(ほぼ黒+黄色)、light(オフホワイト+赤)、またはより派手な pop、red、green、tech。 |
--look | clean(デフォルト):ソフトなビネット効果付きのフラットカラー、または --bg 写真をぼかして暗くしコントラストを向上。burst:従来のグラデーション+太陽光のような見た目。 |
--shot img | 実際のスクリーンショットをメインビジュアルに。幅広のクロップ(ターミナルやUIの1〜2行)はタイトルの下に全幅表示、縦長のものはタイトルの横に配置。領域に合わせて拡大縮小。 |
--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 | 従来通り:小さな2行目、絵文字ステッカー、キーワード色、ボックスなしの色付きキーワード、出力サイズ、配置、タイトルフォント。 |
デザインルール(2026年のトップサムネイルに基づく)
- 1つのアイデア、3〜5語。 タイトルは画像を補完するもので、説明してはいけません。
- 実際のものを表示。 実際のエラー、結果、UIのスクリーンショットをトリミングしたものが、汎用的な画像より優れています。重要な行にまでしっかりトリミングし、丸で囲みます。
- 顔: 明確な表情の切り抜き、大きく(高さの40〜60%)。目の上にテキストを配置しないでください。
- 2色。 フラットな背景+1つのアクセントカラー。太陽光効果や絵文字の壁、グラデーションテキストは避けてください。これらはテンプレートやAI生成と見なされます。
- 右下コーナーを空けておく: YouTubeが動画の長さを表示するため。
チェック(コンソールと <name>.preview.png に出力)
- 168px幅(YouTube検索)でのタイトルの文字高さが8px未満 → 警告。
- タイトルの実効コントラスト(塗りと背景、およびその輪郭)が3:1未満 → 警告。
- スクイントテスト: タイトル領域を48px幅にぼかしたとき、周囲から際立って見える必要があります。
- タイムスタンプコーナー: タイトルが右下20%×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で上書き可能。 - 絵文字:単一コードポイントのみ(libraqmなしのPillowはZWJシーケンスを結合できません)。
- 顔検出なし:顔が端に近づかないように写真をトリミングしてください。