Face-swap YouTube thumbnails to feature Your Name using AI. Use when user asks to recreate thumbnails, face swap images, generate YouTube thumbnails, or create thumbnail variations.
Face-swap YouTube thumbnails to feature Your Name using Gemini image model. The system analyzes face direction, matches reference photos by pose, and generates variations.
./scripts/recreate_thumbnails.py - Main generation script./scripts/analyze_face_directions.py - Reference photo analyzer# From YouTube video (auto-downloads thumbnail)
python3 ./scripts/recreate_thumbnails.py --youtube "https://youtube.com/watch?v=VIDEO_ID"
# From local thumbnail
python3 ./scripts/recreate_thumbnails.py --source ".tmp/thumbnails/source.jpg"
# Edit pass on generated thumbnail
python3 ./scripts/recreate_thumbnails.py --edit ".tmp/thumbnails/recreated_v3.png" \
--prompt "Change colors to teal. Change 'AI GOLD RUSH' to 'AGENTIC FLOWS'."
# Drop 30-40 photos of Nick into raw folder
mkdir -p .tmp/reference_photos/raw
# Analyze and rename with face direction metadata
python3 ./scripts/analyze_face_directions.py
Creates files like:
nick_yawL30_pitchU10.jpg — looking 30° left, 10° upnick_yawR45_pitch0.jpg — looking 45° right, level# From YouTube URL (analyzes face, finds best reference, generates 3 variations)
python3 ./scripts/recreate_thumbnails.py --youtube "VIDEO_URL"
# Custom variation count
python3 ./scripts/recreate_thumbnails.py --source "thumbnail.jpg" -n 5
# Skip direction matching
python3 ./scripts/recreate_thumbnails.py --source "thumbnail.jpg" --no-match
# Single edit
python3 ./scripts/recreate_thumbnails.py --edit ".tmp/thumbnails/recreated_v3.png" \
--prompt "Change colors to teal brand colors."
# Chain multiple edits
python3 ./scripts/recreate_thumbnails.py --edit ".tmp/thumbnails/edited_1.png" \
--prompt "Make text bigger. Change background to white."
| Flag | Description |
|---|---|
--youtube, -y | YouTube video URL |
--source, -s | Source thumbnail path or URL |
--edit, -e | Image to edit (enables edit mode) |
--prompt, -p | Edit instructions (required for edit mode) |
--variations, -n | Number of variations (default: 3) |
--refs | Number of reference photos (default: 2) |
--no-match | Skip face direction matching |
.tmp/thumbnails/
├── 20251205/ # Date folder
│ ├── 104016_1.png # Variation 1
│ ├── 104016_2.png # Variation 2
│ ├── 104016_3.png # Variation 3
│ └── 104532_edited.png # Edit pass
gemini-3-pro-image-preview (Nano Banana Pro)NANO_BANANA_API_KEY=your_key