Was macht thumbnail-maker?
scripts/thumbnail.py (mit scripts/fonts.py im selben Ordner). Python 3.9+ und pip install pillow.
# Tech / Tutorial: ein echter Screenshot, die wichtige Zeile eingekreist, ein Pfeil vom Titel
python thumbnail.py --title "Claude hat fast *alles* gelöscht" --style dark --shot terminal.png --circle 0.19,0.17,0.18 --arrow --out t.jpg
# Talking-Head: ein Freisteller vor dem Titel
python thumbnail.py --title "Ich habe *jedes* KI-Tool getestet" --style dark --photo me-cutout.png --out t.jpg
# Foto-Hintergrund, Shorts-Größe
python thumbnail.py --title "Ein Tag als *Entwickler*" --bg desk.jpg --style dark --size 1080x1920 --out short.jpg
| Option | Was es tut |
|---|---|
--title | 3-5 Wörter liest sich am besten. *Wort* markiert das Schlüsselwort (eine Box oder Farbe). Wird in Großbuchstaben gesetzt, außer bei --keep-case. |
--style | dark (fast schwarz + gelb), light (cremeweiß + rot) oder die kräftigeren pop, red, green, tech. |
--look | clean (Standard): einfarbig mit sanfter Vignette, oder --bg Foto unscharf und abgedunkelt für Kontrast. burst: der ältere Verlaufs- + Sonnenstrahl-Look. |
--shot img | Ein echter Screenshot als Hauptbild. Breite Ausschnitte (ein oder zwei Zeilen eines Terminals oder UIs) gehen in voller Breite unter den Titel; höhere Bilder liegen daneben. Werden hochskaliert, um den Platz zu füllen. |
--circle x,y,r | Handgezeichnetes rotes Oval auf dem Screenshot. x,y = Mittelpunkt und r = halbe Breite des Objekts, als Anteile des Screenshots. |
--arrow | Handgezeichneter Pfeil vom Titel zum Kreis (umgeht den Titel, wenn oben kein Platz ist). --highlight color ändert das Rot. |
--photo img | Personen-Foto. Ein PNG mit Transparenz (Freisteller) wird umrandet und vor die Titel-Kante gezeichnet, um Tiefe zu erzeugen; ein normales Foto wird zu einer Karte mit Rahmen (--photo-shape circle, --tilt). |
--subtitle, --emoji, --accent, --highlight color, --size, --align, --font | Wie gehabt: eine kleine zweite Zeile, ein Emoji-Sticker, Schlüsselwortfarbe, farbiges Schlüsselwort ohne Box, Ausgabegröße, Ausrichtung, Titel-Schriftart. |
Design-Regeln (basierend auf den besten Thumbnails 2026)
- Eine Idee, 3-5 Wörter. Der Titel ergänzt das Bild; beschreibe es nicht.
- Zeige das Echte. Ein zugeschnittener Screenshot des tatsächlichen Fehlers, Ergebnisses oder UIs ist besser als generische Grafiken. Schneide nah an die relevante Zeile heran und kreise sie ein.
- Gesichter: ein Freisteller mit klarem Gesichtsausdruck, groß (40-60 % der Höhe). Keinen Text über die Augen legen.
- Zwei Farben. Einfarbiger Hintergrund plus eine Akzentfarbe. Keine Sonnenstrahlen, Emoji-Wände oder Farbverlaufstexte; sie wirken wie Vorlagen oder KI-generiert.
- Halte die untere rechte Ecke frei: YouTube zeigt dort die Videolänge an.
Prüfungen (werden ausgegeben und in <name>.preview.png abgelegt)
- Buchstabenhöhe des Titels bei 168 px Breite (YouTube-Suche) unter 8 px → Warnung.
- Effektiver Kontrast des Titels (Füllung vs. Hintergrund und seine Kontur) unter 3:1 → Warnung.
- Squint-Test: Der Titelbereich, auf 48 px Breite unscharf gemacht, muss sich dennoch von seiner Umgebung abheben.
- Zeitstempel-Ecke: Titel, der in die unteren rechten 20 % x 16 % ragt → Warnung.
- Schlüsselwort-Box verschmilzt mit dem Hintergrund, Schlüsselwort vs. Box/Kontur-Kontrast, mehr als 6 Wörter. Exit-Code 1 bei jeder Warnung. SCHAU DIR das Vorschaublatt an, bevor du das Bild verwendest.
Grenzen
- Kein Hintergrund entfernen: Übergib ein PNG, das bereits freigestellt ist (remove.bg, Photoshop, macOS „Motiv kopieren“).
- Kreise und Pfeile werden von deinen
--circle-Zahlen platziert: Überprüfe die Vorschau und passe x/y/r an, wenn das Oval daneben liegt. - Schriftarten: Impact für Titel (Windows/macOS; unter Linux
ttf-mscorefontsinstallieren oderFONT_TITLE=/pfad/Anton-Regular.ttfsetzen). Überschreibe mitFONT_TITLE,FONT_BOLD,FONT_EMOJI. - Emoji: Nur Einzel-Codepoint (Pillow ohne libraqm kann keine ZWJ-Sequenzen verarbeiten).
- Keine Gesichtserkennung: Schneide Fotos so zu, dass das Gesicht nicht nah am Rand ist.