Fotografie-Fans und Prompt-Kreative aufgepasst! Heute stelle ich euch ein kleines Projekt von mir vor: einen Porträt-Prompt-Generator, der den Charme analoger Fotografie mit der Flexibilität digitaler Werkzeuge verbindet. Im Zentrum stehen drei Dateien – portrait_options_extended.json, translations.json und gen.py –, die zusammen detaillierte, stimmungsvolle Prompts für Porträtfotografie oder KI-gestützte Bildgenerierung erschaffen. Lasst uns eintauchen und die technischen Details aufschlüsseln, bevor wir zur Installation und den Einsatzmöglichkeiten kommen.
Download: prompt.zip
Das Datenfundament: portrait_options_extended.json
Den Anfang macht portrait_options_extended.json, das Kraftpaket an Optionen für diesen Generator. Diese JSON-Datei ist eine sorgfältig strukturierte Datenbank voller Auswahlmöglichkeiten, um Porträt-Prompts zu gestalten. Sie ist umfassend und flexibel zugleich, mit Standardeinstellungen und feinen Anpassungsmöglichkeiten.
Die Datei startet mit einem „defaults“-Objekt, das die Grundkonfiguration vorgibt. Zum Beispiel könnte „location“: „outdoor“, „camera“: „Mamiya RZ67 Pro II“ und „film“: „Kodak Portra 160“ stehen, ergänzt durch Flags wie „location_include“: „yes“, die entscheiden, ob ein Wert im Prompt landet. Das sorgt dafür, dass es immer einen Ausgangspunkt gibt, selbst wenn ihr nichts ändert.
Darüber hinaus steckt die Datei voller Arrays und verschachtelter Objekte. Das „portrait_types“-Array listet Stile wie „Schwarz-Weiß / Black-and-White“ oder „C41 (Farbe) / C41 (Color)“, während „cameras“ Modelle nach Typ sortiert – etwa „Kleinbild / 35mm“ mit „Nikon F3“ oder „Mittelformat / Medium Format“ mit „Hasselblad 500C/M“. Ähnlich sind „films“ (z. B. „Ilford HP5 Plus“) und „lenses“ (z. B. „Mamiya Sekor C 80mm f/2.8“) aufgebaut. Dann kommen kreative Kategorien: „lighting“ bietet „dramatisch aber subtil / dramatic yet subtle“, „background“ enthält „weicher grauer Verlauf mit rauchigem Dunst“, und „emotion“ könnte „Augen, die mit ungesagter Wut lodern“ umfassen. Sogar ein „negative_prompt“-Feld – „verschwommen, geringe Qualität, verzerrt“ – ist dabei, ideal für KI-Tools wie Stable Diffusion, um unerwünschte Ergebnisse zu vermeiden.
Das zweisprachige Format („Deutsch / Englisch“) macht sie vielseitig, und ihre Erweiterbarkeit erlaubt es, neue Kameras, Filme oder Stimmungen problemlos hinzuzufügen. Diese Datei ist das Rohmaterial – wie die Ausrüstungstasche eines Fotografen, bereit zum Stöbern.
Die Sprachschicht: translations.json
Als Nächstes kommt translations.json, der sprachliche Kitt, der das Tool in zwei Sprachen zugänglich macht. Diese JSON-Datei teilt sich in zwei Hauptobjekte: „Deutsch“ und „English“, die strukturell identisch sind, aber inhaltlich unterschiedlich. Sie sorgt dafür, dass die Benutzeroberfläche (UI) und die Prompts natürlich klingen, egal ob ihr Deutsch oder Englisch bevorzugt.
Drinnen findet ihr Schlüssel-Wert-Paare für UI-Elemente und Prompt-Bausteine. Zum Beispiel ist „title“ auf Deutsch „Erweiterter Professioneller Porträt-Generator“ und auf Englisch „Extended Professional Portrait Generator“. UI-Labels wie „location“ („Ort“ / „Location“) und „generate“ („Prompt generieren“ / „Generate Prompt“) halten die Oberfläche klar, während Tooltips (z. B. „tooltip_preview“: „Live-Vorschau des generierten Prompts“ / „Live preview of the generated prompt“) hilfreiche Hinweise geben. Prompt-Bausteine wie „prompt_captured_with“ („aufgenommen mit“ / „captured with“) sorgen dafür, dass der Output in beiden Sprachen flüssig wirkt.
Die Einfachheit dieser Datei täuscht: Durch identische Schlüssel in beiden Sprachen ermöglicht sie nahtloses Umschalten in der UI. Ein kleines, aber entscheidendes Teil, das sicherstellt, dass das Tool eure Sprache spricht.
Die Maschine: gen.py
Zuletzt haben wir gen.py, das Python-Skript, das alles zusammenhält. Geschrieben in Python 3.x und mit der PyQt6-Bibliothek ausgestattet, erstellt es eine grafische Oberfläche, in der ihr Prompts aus den Optionen von portrait_options_extended.json mit Übersetzungen aus translations.json basteln könnt. Es ist der Dirigent dieses Orchesters, der statische Daten in dynamische Ergebnisse verwandelt.
Kernstück von gen.py ist vermutlich eine PortraitGenerator-Klasse, die von QMainWindow erbt. Beim Start lädt es beide JSON-Dateien mit Pythons json-Modul – etwa so: with open(‚portrait_options_extended.json‘, ‚r‘) as f: options = json.load(f). Dann füllt es eine UI mit Tabs oder Bereichen, jeder an eine Kategorie gebunden (z. B. „location“, „camera“, „emotion“). Dropdown-Menüs (QComboBox) oder Checkboxen (QCheckBox) werden mit Optionen aus dem JSON befüllt – etwa jedes Kameramodell unter „cameras“ – und Standardwerte sind vorausgewählt.
Wenn ihr Einstellungen anpasst und auf „Generieren“ klickt, baut gen.py einen Prompt, indem es eure Auswahl in einen zusammenhängenden String verknüpft. Wählt ihr etwa „outdoor“, „Mamiya RZ67 Pro II“ und „intensiver Fokus mit ruhiger Stärke“, könnte das Ergebnis lauten: „Outdoor-Porträt, aufgenommen mit Mamiya RZ67 Pro II, mit intensivem Fokus und ruhiger Stärke“. Die aktive Sprache aus translations.json fügt alles zusammen – wechselt auf Englisch, und es wird „Outdoor portrait captured with Mamiya RZ67 Pro II, showcasing intense focus with quiet strength“. Ein Vorschau-Widget (QTextEdit) aktualisiert sich vielleicht live, und der fertige Prompt kann kopiert oder gespeichert werden.
Das modulare Design macht es erweiterbar – fügt eine neue Kategorie ins JSON, und mit kleinen Anpassungen taucht sie in der UI auf. Ein schlanker, effizienter Übergang von Daten zu Kreativität.
Wo kann man die Prompts verwenden?
Die generierten Prompts sind vielseitig einsetzbar – ob für echte Fotoshootings oder digitale Kreationen. Besonders spannend wird es mit KI-Bildgeneratoren. Hier ein paar Plattformen, wo sie glänzen:
- Civitai: Diese Community-Plattform für Stable Diffusion-Modelle ist perfekt, um eure Prompts in beeindruckende Bilder zu verwandeln. Kopiert sie einfach in ein Modell wie SDXL, nutzt das „negative_prompt“-Feld für bessere Ergebnisse, und lasst die KI zaubern.
- Stable Diffusion (lokal): Wenn ihr Stable Diffusion auf eurem Rechner laufen habt (z. B. über AUTOMATIC1111’s WebUI), könnt ihr die Prompts direkt einfügen – die analogen Details wie Filmtypen oder Objektive geben den Bildern eine besondere Note.
- Midjourney: Auf Discord könnt ihr die Prompts in Midjourney einwerfen. Ergänzt sie mit Parametern wie –ar 2:3 für Porträtformate, und ihr bekommt kunstvolle Interpretationen.
- DALL·E: Über ChatGPT oder die OpenAI-Plattform könnt ihr die Prompts nutzen, um fotorealistische oder stilistische Porträts zu erstellen – ideal für schnelle Experimente.
- Fotografie-Planung: Selbst ohne KI sind die Prompts eine Blaupause für echte Shootings – Kameras, Licht, Stimmung, alles fertig formuliert.
Egal ob digital oder analog, diese Prompts sind euer kreativer Startschuss.
Installationsanweisungen
Lust, es auszuprobieren? So richtet ihr gen.py ein:
- Python installieren: Holt euch Python 3.11 oder neuer von python.org. Aktiviert bei der Installation „Add Python to PATH“, damit es im Terminal verfügbar ist. Prüft mit python –version im Terminal (cmd unter Windows, Terminal unter Mac/Linux) – eine Versionsnummer sollte erscheinen.
- PyQt6 installieren: Gebt im Terminal pip install PyQt6 ein. Das holt die Bibliothek für die GUI. Unter Mac/Linux könnte pip3 statt pip nötig sein.
- Dateien bereitstellen: Legt gen.py, portrait_options_extended.json und translations.json in denselben Ordner. Das Skript erwartet sie dort.
- Starten: Navigiert im Terminal zum Ordner (cd /pfad/zum/ordner), dann gebt python gen.py ein (oder python3 gen.py unter Mac/Linux). Ein Fenster mit der Generator-UI sollte erscheinen. Bei Fehlern prüft, ob Python und PyQt6 korrekt installiert sind und die JSON-Dateien da sind.
Fertig! Ihr könnt jetzt Prompts mit analogem Flair und digitaler Präzision erstellen.
Disclaimer
Dieses Projekt ist Open-Source – schnappt euch den Code, bastelt daran herum und macht, was ihr wollt! Er steht unter einer offenen Lizenz, also seid kreativ. Support gibt’s allerdings nicht; wenn was kaputtgeht, müsst ihr selbst ran. Ich behalte mir vor, Updates zu machen, wenn mir danach ist. Ein großes Dankeschön an Hannes Fischer (uptastic.de) und Sven Reichwagen (linkedin.com/in/sven-reichwagen-88683813) für ihre Unterstützung. Schaut bei johannes-wobus.de oder meinem Civitai-Profil (civitai.com/user/wobushannes325) vorbei, um mehr von mir zu sehen. Viel Spaß beim Prompten!






Schreibe einen Kommentar