main
- app/ai_edit.py: OpenRouter chat/completions (image in/out), Presets + Prompt, Retry - bot: AI-Preset-Buttons + Bildunterschrift = freier AI-Prompt; _process refaktoriert - Freistellen/Upscaling bleiben lokal (originaltreu); AI-Edit fuer generative Edits - httpx pin, config OPENROUTER_* Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XNQ8ghPfzAfsyVYd6HgFb6
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
- Bild an den Bot senden (für volle Auflösung als Datei, nicht als komprimiertes Foto)
- Aktion im Menü wählen
- Ergebnis kommt als Datei zurück
Befehle: /start, /help, /picdrop <ordner> 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
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)./startzeigt die ID.UPSCALE_MODEL=fsrcnn(Default, schnell).edsrgibt mehr Detail, ist auf CPU aber sehr langsam.- Picdrop:
PICDROP_USER/PICDROP_PASSWORDsetzen, um/picdropzu 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=256lassen. - Für Real-ESRGAN-Qualität
ENABLE_REALESRGAN=1+ ONNX-Modell hinterlegen (stärkere Box/GPU empfohlen).
Description
Languages
Python
94.4%
Dockerfile
3.4%
Shell
2.2%