Eine lokale Prompt-Battle-App, bei der Spieler gegeneinander antreten und mithilfe von Text-zu-Bild-KI versuchen, Zielbilder so genau wie möglich nachzubilden.
Gebaut mit einem FastAPI-Backend (Python) und einem SvelteKit-Frontend (TypeScript).
- Allen Spielern wird ein Zielbild angezeigt
- Die Spieler formulieren Prompts, um ein KI-Bild zu generieren, das dem Zielbild möglichst nahe kommt
- Die beste Übereinstimmung gewinnt die Runde
- Python 3.11+
- Node.js 18+
- uv (Python-Paketmanager)
# Python-Abhängigkeiten installieren
uv sync
# Frontend-Abhängigkeiten installieren
cd frontend && npm install && cd ..# Manuell
uv run run.py
# Als systemd-Service (Autostart beim Booten)
sudo ln -s $(pwd)/promptbattle.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now promptbattle
# Logs
journalctl -u promptbattle -fAlle Einstellungen über .env mit PB_-Prefix:
| Variable | Beschreibung | Default |
|---|---|---|
PB_IMAGE_BACKEND |
Bildgenerierung: local oder gemini |
local |
PB_SIMILARITY_BACKEND |
Bewertung: clip oder gemini |
clip |
PB_GEMINI_API_KEY |
Google Gemini API Key (für gemini-Backends) | — |
PB_ROUND_TIME_SECONDS |
Sekunden pro Runde | 60 |
PB_LOBBY_TIMEOUT_SECONDS |
Sekunden bis Auto-Start in Lobby | 120 |
PB_BASE_THRESHOLD |
Start-Schwellenwert (%) | 25 |
Alle Optionen: siehe backend/config.py
Dieses Projekt ist inspiriert von Prompt Battle — einem Live-Event-Format, bei dem Menschen mit Text-zu-Bild-Software gegeneinander antreten.
Das ursprüngliche Prompt-Battle-Format wurde entwickelt von:
Zusammen mit Designstudierenden der HTW Dresden:
Creative Commons