# Klarbildbot Self-hosted Telegram-Bot für **AI-Bildaufbereitung** – alles lokal auf CPU, keine externen/US-APIs. - 🔍 **Klarbild (Upscaling)** – AI-Super-Resolution (OpenCV `dnn_superres`, FSRCNN/EDSR) + Entrauschung + Schärfung - ✂️ **Freistellen** – Hintergrund per AI entfernen (`rembg`, ISNet/U2Net) → PNG mit Transparenz - ✨ **Freistellen + Klarbild** – kombiniert - 📁 **Picdrop-Batch** (optional) – ganze Galerie per SFTP ziehen, verarbeiten, zurückladen ## Nutzung 1. Bild an den Bot senden (für volle Auflösung **als Datei**, nicht als komprimiertes Foto) 2. Aktion im Menü wählen 3. Ergebnis kommt als Datei zurück Befehle: `/start`, `/help`, `/picdrop up2|up4|cut` ## Stack Python 3.11 · python-telegram-bot (Polling) · rembg + onnxruntime · opencv-contrib (dnn_superres) · aiohttp (Health) · paramiko (Picdrop-SFTP). Deployment: Docker → Coolify, Repo in Gitea. ## Lokal starten ```bash pip install -r requirements.txt bash scripts/fetch_models.sh models # SR-Modelle laden export BOT_TOKEN=... MODELS_DIR=$PWD/models U2NET_HOME=$PWD/models/u2net python -m app.bot ``` ## Konfiguration Siehe `.env.example`. Wichtig: - `BOT_TOKEN` (Pflicht) - `ALLOWED_USER_IDS` – auf die eigene Telegram-ID setzen (Zugriffsschutz). `/start` zeigt die ID. - `UPSCALE_MODEL=fsrcnn` (Default, schnell). `edsr` gibt mehr Detail, ist auf CPU aber sehr langsam. - Picdrop: `PICDROP_USER` / `PICDROP_PASSWORD` setzen, um `/picdrop` zu aktivieren. ## Deployment (Coolify) Dockerfile-Build. Modelle werden beim Build gebacken (SR-Modelle von raw.githubusercontent, rembg-Modell vom HuggingFace-Mirror). Health-Endpoint auf `:8080/health`. Bot läuft im Polling-Modus – kein öffentlicher Webhook nötig, die Coolify-URL dient nur dem Health-Check. ## Hinweise - Telegram-Bots können Dateien bis **20 MB** laden/senden. - Auf schwachen Boxen (z. B. Hetzner CX33, 8 GB, keine GPU) `fsrcnn` + `MAX_INPUT_EDGE≤1600` + `TILE_SIZE=256` lassen. - Für Real-ESRGAN-Qualität `ENABLE_REALESRGAN=1` + ONNX-Modell hinterlegen (stärkere Box/GPU empfohlen).