diff --git a/_transfer/routing_tiers-worker97-2026-07-24.json b/_transfer/routing_tiers-worker97-2026-07-24.json new file mode 100644 index 0000000..9bcb2f7 --- /dev/null +++ b/_transfer/routing_tiers-worker97-2026-07-24.json @@ -0,0 +1,285 @@ +{ + "_meta": { + "titel": "Content-Pipeline Routingkarte (#61) - local-first, guenstig-vor-teuer, Flatrate bevorzugt", + "stand": "2026-07-24", + "quelle_auftrag": "Baer-Kurskorrektur 2026-07-24 + Nachtrag Antigravity/Mammouth-Prioritaet + #95 Toggle-Abschaffung", + "prinzip": "LOCAL zuerst mit POWER von EXTERN. Extern ist IMMER erlaubt (kein Toggle/kein Baer-GO mehr, #95), aber die Reihenfolge je Schritt ist zwingend: 1) lokal (A40/Shadow/Monster) 2) Mammouth-Flatrate/Hermes/Bridges (fuer uns quasi kostenlos) 3) Guthaben-Dienste (Azure-Sponsorship/MiniMax/IONOS, tracken) 4) teure Einzel-APIs (OpenRouter u.ae., nur letzter Ausweg). Gemini + Mammouth bleiben PWA-only, NIE API (goldene Regel, REZEPT AI5).", + "overflow_logik": "Jeder Schritt versucht sein primaeres Ziel. Bei Ueberlast/Fehler (A40-Guard-Signal voll, Timeout, VRAM>90%+Stall) faellt der Orchestrator automatisch auf den naechsten Tier-Eintrag der jeweiligen Kategorie -- ohne Rueckfrage, kein Baer-GO noetig. Einzige feste Ausnahme: Video bleibt primaer LOKAL (Wan2.2/A40), Cloud-Video nur als Failover wenn lokal wirklich nicht reicht (nicht Default).", + "a40_guard_endpoint": "http://100.114.24.89:9090 (VM201, gpu1-status/app.py) -- liefert Ueberlast-Signal (Queue-Tiefe/Lock-Status) fuer den Overflow-Trigger.", + "external_toggle_status": "ABGESCHAFFT (#95, 2026-07-24) -- war VM201:9090/api/external-tools, jetzt hart auf enabled=true gepinnt + Orchestrator-Funktion external_pool_enabled() gibt immer True zurueck (main.py, Backup main.py.bak-toggleremoved-20260724-081307).", + "worker97_nachtrag": "Worker #97 (2026-07-24): Cloudflare Workers AI additiv als GRATIS-Tier eingebaut (10.000 Neurons/Tag, Text @cf/meta/llama-3.1-8b-instruct + Bild @cf/stabilityai/stable-diffusion-xl-base-1.0), echter Testcall verifiziert (Text-Response + 1.6MB PNG). Key: Vaultwarden 'KI API Keys' -> CLOUDFLARE-WORKERS-AI. Kling AI als Video-Failover-Option neben MiniMax (#96) ergaenzt -- KEIN API-Key vorhanden (Vaultwarden-Suche 'kling' leer), daher Default AUS + [BAER-SIGNUP] noetig, nicht selbst angelegt. AI6-Regel (Katalog barby/memory/keys-consoro-it/TOOL-STORE-KATALOG.md) ist durch Baer-Kurskorrektur 2026-07-24 UEBERHOLT: Cloud-Video ist jetzt als Failover erlaubt (nicht mehr generell gesperrt), siehe external_toggle_status oben (#95)." + }, + "kategorien": { + "video": { + "regel": "IMMER lokal primaer. Cloud-Video nur Failover, kein Default. Goldene Regel feedback-video-nur-lokal bleibt fuehrend.", + "tiers": [ + { + "stufe": 1, + "ziel": "A40 (VM302, ComfyUI :8188, Wan2.2 GGUF Q5_K_M + Lightning-4step)", + "typ": "lokal", + "kosten": "0", + "trigger_naechste_stufe": "A40-Guard voll / VRAM>90%+Stall>45s / Queue-Timeout" + }, + { + "stufe": 2, + "ziel": "Shadow (Burst-Node, siehe #71/burst-nodes-65)", + "typ": "lokal-remote", + "kosten": "0 (eigene HW)", + "trigger_naechste_stufe": "Shadow ebenfalls ausgelastet/offline" + }, + { + "stufe": 3, + "ziel": "Monster (Burst-Node)", + "typ": "lokal-remote", + "kosten": "0 (eigene HW)", + "trigger_naechste_stufe": "Monster ebenfalls ausgelastet/offline" + }, + { + "stufe": 4, + "ziel": "Mammouth-PWA/veo (Veo 3.1 Lite) oder Mammouth-PWA/kling", + "typ": "extern-flatrate", + "kosten": "~10?/Monat Flat, kein Grenzkosten-Zuwachs", + "hinweis": "PWA-only via gpu-pc CDP-Bridge, nie API" + }, + { + "stufe": 5, + "ziel": "MiniMax Hailuo Video (API, pay-as-you-go)", + "typ": "extern-hybrid", + "kosten": "~$0.017-0.045/s (720p/T2V-01), API offiziell erlaubt (kein PWA-Zwang wie Gemini/Mammouth)", + "hinweis": "#96 (2026-07-24): additiv verdrahtet in main.py (run_video_job automatischer Failover bei ComfyUI-nicht-erreichbar + call_minimax_video()). Hybrid-Ueberlauf: extern rendern lassen (Endpoint api.minimax.io/v1/video_generation, T2V-01, 6s/720P), lokal (VM302/A40) per interpolate_motion() nachbearbeiten. Default AUS -- Aktivierung braucht Baer-OK: MINIMAX_API_KEY + CLOUD_VIDEO_FALLBACK_ENABLED=1 (Key liegt in Vaultwarden 'KI API Keys'->MINIMAX). Echter Testclip (~$0.19-0.56) noch NICHT ausgeloest -- braucht explizite Baer-Freigabe fuer den Geldausgeben-Schritt." + }, + { + "stufe": 6, + "ziel": "Kling AI (Kling 3.0/O3, native Audio-Option) -- guenstigste Cloud-Video-Option am Markt", + "typ": "extern-hybrid", + "kosten": "$0.075-0.17/s offiziell, Reseller (EvoLink) ab $0.075/s fuer Kling 3.0", + "hinweis": "Worker #97 (2026-07-24): NICHT verdrahtet -- kein API-Key in Vaultwarden gefunden (Suche 'kling' ohne Treffer). [BAER-SIGNUP] noetig: Account bei klingai.com bzw. EvoLink-Reseller anlegen, API-Key erzeugen, dann in Vaultwarden 'KI API Keys' als KLING-AI eintragen (analog MINIMAX-Eintrag), Key in main.py-Umgebungsvariable KLING_API_KEY hinterlegen. Erst dann als echter Failover neben MiniMax (#96) aktivierbar, Default bleibt AUS bis Baer-Freigabe fuer den ersten Test-Spend." + }, + { + "stufe": 7, + "ziel": "Qolaba-PWA (Veo/Kling/Sora, gpu-pc)", + "typ": "extern-guthaben", + "kosten": "~$1-1,56 je 60s-Clip (Credits)", + "hinweis": "PWA-only, Reserve-Guthaben tracken" + } + ] + }, + "bildgenerierung": { + "tiers": [ + { + "stufe": 1, + "ziel": "SDXL/FLUX lokal (A40, ComfyUI)", + "typ": "lokal", + "kosten": "0" + }, + { + "stufe": 2, + "ziel": "Shadow (SDXL/FLUX)", + "typ": "lokal-remote", + "kosten": "0" + }, + { + "stufe": 3, + "ziel": "Cloudflare Workers AI Bild (@cf/stabilityai/stable-diffusion-xl-base-1.0 u.a. SDXL/Flux-Varianten)", + "typ": "extern-gratis-limitiert", + "kosten": "0 -- Teil desselben 10.000-Neurons/Tag-Budgets wie Text-Tier (SDXL-Bild kostet mehrere Hundert Neurons/Bild, also nur wenige Bilder/Tag gratis)", + "hinweis": "Worker #97 (2026-07-24): verdrahtet + getestet (echter Call, HTTP 200, 1.6MB PNG erhalten). Fuer kleine/schnelle Bilder bzw. Bulk-Vorschau geeignet, NICHT Ersatz fuer lokale SDXL/FLUX-Qualitaet (Checkpoints/LoRAs) -- daher klar NACH lokal, VOR Mammouth-Flat einsortiert (Neurons-Budget ist knapp)." + }, + { + "stufe": 4, + "ziel": "Mammouth-PWA/image (FLUX Pro/Dev, Nano-Banana, Recraft, SD)", + "typ": "extern-flatrate", + "kosten": "im Flat-Abo inkl." + }, + { + "stufe": 5, + "ziel": "Gemini-Bridge Nano-Banana (kostenlos via Google-One-Ultra)", + "typ": "extern-flatrate", + "kosten": "0 extra" + }, + { + "stufe": 6, + "ziel": "IONOS FLUX.1-schnell (offizielle API)", + "typ": "extern-guthaben", + "kosten": "~0,01-0,015?/Bild, Guthaben-basiert" + }, + { + "stufe": 7, + "ziel": "Qolaba-PWA FLUX", + "typ": "extern-guthaben", + "kosten": "~10 Credits/Bild" + } + ] + }, + "lipsync_upscale": { + "tiers": [ + { + "stufe": 1, + "ziel": "A40 lokal (MuseTalk/GFPGAN/RealESRGAN)", + "typ": "lokal", + "kosten": "0" + }, + { + "stufe": 2, + "ziel": "Shadow", + "typ": "lokal-remote", + "kosten": "0" + }, + { + "stufe": 3, + "ziel": "kein etablierter externer Ersatz aktuell verdrahtet -- Empfehlung: bei Bedarf pruefen (Aufgabe fuer #94-Folgeschritt)", + "typ": "n/a", + "kosten": "n/a" + } + ] + }, + "tts_deutsch": { + "regel": "IMMER extern zuerst (Akzentfreiheit) -- lokal (XTTS/Piper) nur Offline-Fallback, siehe Baer-Kurskorrektur 2026-07-24.", + "tiers": [ + { + "stufe": 1, + "ziel": "Azure Speech Neural TTS (de-DE-KatjaNeural/ConradNeural/SeraphinaMultilingualNeural etc., 10 dt. Stimmen)", + "typ": "extern-guthaben", + "kosten": "0 -- $2600 Sponsorship-Guthaben (bis 2027), TRACKEN" + }, + { + "stufe": 2, + "ziel": "MiniMax speech-02-hd (voice_id female-shaonv, t2a_v2 API)", + "typ": "extern-guthaben", + "kosten": "pay-per-use, Guthaben tracken" + }, + { + "stufe": 3, + "ziel": "Mammouth-PWA/audio (Azure TTS/OpenAI TTS/Play.ht ueber PWA-Bridge)", + "typ": "extern-flatrate", + "kosten": "im Flat-Abo inkl., Fallback wenn direkte Azure-Route down" + }, + { + "stufe": 4, + "ziel": "edge-tts (kostenlos, gleiche Neural-Stimmen ohne Sponsorship-Konto)", + "typ": "extern-kostenlos", + "kosten": "0", + "hinweis": "Notfall-Fallback falls Azure-Sponsorship-Konto Probleme macht" + }, + { + "stufe": 5, + "ziel": "XTTS v2 lokal (CPU, VM302)", + "typ": "lokal-offline-fallback", + "kosten": "0", + "hinweis": "NUR wenn komplett offline / kein Netz -- nicht Default, Akzent-Qualitaet schlechter" + }, + { + "stufe": 6, + "ziel": "Piper lokal (CPU)", + "typ": "lokal-offline-fallback", + "kosten": "0", + "hinweis": "letzter Fallback, geringste Qualitaet" + } + ] + }, + "musik": { + "tiers": [ + { + "stufe": 1, + "ziel": "ACE-Step lokal (Shadow, M:\\ACE-Step)", + "typ": "lokal-remote", + "kosten": "0" + }, + { + "stufe": 2, + "ziel": "Mammouth-PWA/music (Suno v5.5/v4.5 via Mammouth-Flat)", + "typ": "extern-flatrate", + "kosten": "im Flat-Abo inkl." + }, + { + "stufe": 3, + "ziel": "Suno-PWA direkt (falls Mammouth-Route down)", + "typ": "extern-flatrate", + "kosten": "eigenes Suno-Abo" + } + ] + }, + "text_prompt_planung": { + "regel": "Guenstig/Flatrate strikt vor teuer. Hermes + Mammouth-Flat ganz vorne (fuer uns quasi kostenlos), Antigravity fuer Coding/lange Kontexte/Web-grounded, teure Einzel-APIs (OpenRouter) nur letzter Ausweg.", + "tiers": [ + { + "stufe": 1, + "ziel": "Hermes / Hub-LiteLLM (ask_go_ki_hermes, keys.consoro.it :4000, Default-Chain MiniMax-M2 -> Ionos-Llama-405B -> Cloudflare-Llama-70b)", + "typ": "hub-flatrate", + "kosten": "0/quasi-flat" + }, + { + "stufe": 2, + "ziel": "Cloudflare Workers AI Text (@cf/meta/llama-3.1-8b-instruct u.a., 47+ Modelle)", + "typ": "extern-gratis-limitiert", + "kosten": "0 -- 10.000 Neurons/Tag GRATIS (danach $0.011/1k Neurons), geteiltes Tages-Budget mit Bildgenerierung-Tier", + "hinweis": "Worker #97 (2026-07-24): verdrahtet + getestet (echter Call, HTTP 200, deutsche Antwort erhalten). Endpoint https://api.cloudflare.com/client/v4/accounts//ai/run/, Key Vaultwarden 'KI API Keys'->CLOUDFLARE-WORKERS-AI (Account 9776ea02d0dd34d6e1c81d96b75f478f). Geeignet fuer Text/Bulk-Aufgaben (Klassifikation, kurze Antworten, Embeddings via @cf/baai/bge-*), NICHT fuer lange/komplexe Kontexte (kleine Modelle)." + }, + { + "stufe": 3, + "ziel": "Mammouth-PWA Chat (40+ Modelle inkl. Claude/GPT/Gemini/DeepSeek ueber PWA-Bridge)", + "typ": "extern-flatrate", + "kosten": "im ~10?/Monat Flat-Abo inkl. -- BEVORZUGT vor Einzel-APIs" + }, + { + "stufe": 4, + "ziel": "Antigravity/ask-agy (Google Gemini CLI, Google-Sub-Flat, lange Kontexte >200k, Web-Search-grounded, Multi-Tool-Loops)", + "typ": "extern-flatrate", + "kosten": "0 (Subscription-flat, kein Pay-per-Token)" + }, + { + "stufe": 5, + "ziel": "Qolaba-PWA Text/Chat (60+ Modelle, Sonar/Perplexity inkludiert)", + "typ": "extern-guthaben", + "kosten": "Credits-Reserve, Fair-Use" + }, + { + "stufe": 6, + "ziel": "DeepSeek (chat/reasoner, teuerstes laufende Abo = quasi-Flat fuer uns)", + "typ": "extern-abo", + "kosten": "Abo-gedeckt, vor echten Pay-per-Token-APIs" + }, + { + "stufe": 7, + "ziel": "IONOS LLM (llama-3.1-405b/8b, qwen3-coder, offizielle API)", + "typ": "extern-guthaben", + "kosten": "guenstig, Guthaben-basiert" + }, + { + "stufe": 8, + "ziel": "OpenRouter (claude-sonnet-4/opus-4.6)", + "typ": "extern-teuer", + "kosten": "teuer -- NUR letzter Ausweg, wenn 1-6 nicht reichen (Komplexitaet/Qualitaet)" + } + ] + }, + "websuche": { + "tiers": [ + { + "stufe": 1, + "ziel": "Antigravity/ask-agy (Google-Search-grounded, Flat)", + "typ": "extern-flatrate", + "kosten": "0" + }, + { + "stufe": 2, + "ziel": "SearXNG (nas2, :8888, selbst gehostete Meta-Suche)", + "typ": "lokal-remote", + "kosten": "0" + }, + { + "stufe": 3, + "ziel": "Perplexity sonar/sonar-pro (ueber Hub-LiteLLM oder Qolaba)", + "typ": "extern-abo", + "kosten": "Abo-gedeckt" + }, + { + "stufe": 4, + "ziel": "web_search-Tool (Claude-nativ, wenn verfuegbar)", + "typ": "extern-inklusive", + "kosten": "0 (Teil der Session)" + } + ] + } + } +} \ No newline at end of file