Created Thumbnail Generation (markdown)
57
Thumbnail-Generation.md
Normal file
57
Thumbnail-Generation.md
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# Thumbnail Generation
|
||||||
|
|
||||||
|
This page documents how thumbnail images are generated for the Llama Chile Shop automated video pipeline.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Logic Overview
|
||||||
|
|
||||||
|
* Thumbnails are only generated for **widescreen** videos.
|
||||||
|
* Vertical (Shorts) videos are **skipped** due to YouTube limitations.
|
||||||
|
* Thumbnail is generated **after upload** (to ensure `video_id` exists).
|
||||||
|
* Image is created using **FFmpeg** and saved locally.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Thumbnail Extraction
|
||||||
|
|
||||||
|
**Function:** `generate_thumbnail(video_path: str, output_path: str) -> str`
|
||||||
|
|
||||||
|
* Extracts a representative frame using FFmpeg's `thumbnail` filter.
|
||||||
|
* Scales the image to 1280x720.
|
||||||
|
* Saves the file as `<stem>_thumb.jpg`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Branding Rules
|
||||||
|
|
||||||
|
* All thumbnails should follow the Llama Chile Shop palette:
|
||||||
|
|
||||||
|
* Font color: `#f7338f`
|
||||||
|
* Shading color: `#10abba`
|
||||||
|
* Shadowing color: `#1c0c38`
|
||||||
|
* Style: Bold, comic-influenced, Fortnite-inspired.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧩 Output Path
|
||||||
|
|
||||||
|
* Thumbnail saved alongside the video using the pattern:
|
||||||
|
|
||||||
|
```
|
||||||
|
<filename_stem>_thumb.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Limitations
|
||||||
|
|
||||||
|
* No thumbnails for vertical videos.
|
||||||
|
* Currently generates from video content; future versions will allow full AI-based image generation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 Dependencies
|
||||||
|
|
||||||
|
* `ffmpeg` must be installed and available in system PATH.
|
||||||
|
* Part of `thumbnail_utils.py`.
|
||||||
Reference in New Issue
Block a user