till cfe5d36c70 AI-Edit-Ebene via OpenRouter (Gemini Image): Studio-Hintergrund, Retusche, Restaurierung + freier Prompt
- 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
2026-07-23 10:46:38 +00:00

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 <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). /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).
S
Description
Self-hosted Telegram-Bot fuer AI-Bildaufbereitung (Freistellen + Upscaling)
Readme 50 KiB
Languages
Python 94.4%
Dockerfile 3.4%
Shell 2.2%