feat(costs): Filler-Übersetzung + OpenRouter-TTS kostenerfasst

- fillers.py translate_pool: usage:{include:true} + Ist-Kosten (Kategorie llm).
- OpenRouter-TTS: geschaetzte Kosten (Zeichen × openrouter_tts_usd_per_char,
  Kategorie tts) — der Audio-Endpunkt liefert keine inline-usage. Preis (Default
  ~$15/1M Zeichen) live-setzbar; an Modellpreis anpassbar.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-30 19:25:34 +02:00
commit a1e49dde11
5 changed files with 23 additions and 2 deletions

View file

@ -194,6 +194,7 @@ class Settings(BaseSettings):
# Kostenerfassung Stufe 2 (geschätzte Quellen). Siehe Docs/kosten-erfassung.md.
usd_per_eur: float = 1.08 # Umrechnung EUR-naher Schätzungen in die USD-Anzeige
cartesia_usd_per_char: float = 0.00005 # Cartesia: 100k Credits ≈ 100.000 Zeichen → $5
openrouter_tts_usd_per_char: float = 0.000015 # OpenRouter-TTS (Schätzung, ≈ $15/1M Zeichen) — an Modellpreis anpassen
emergency_alert_eur: float = 0.20 # SMS+Voice pro Alarm (Schätzung)
# Lokales LLM: Stromkosten pro Anfrage (marginal über Leerlauf), 2× RTX 3090.
gpu_idle_watts: float = 40.0 # Leerlauf je GPU = Infrastruktur (nicht pro Anfrage)