KI-Video — Lokale Produktionspipeline
Stand: 16.03.2026
Ziel
Lokale, praktisch nutzbare Produktionsstrecke fuer YouTube-Videos im Commentary-/Erklaerstil.
Kein Spielzeug-Demo, kein Forschungsprojekt: Thema rein → fertiges Video raus.
Videoformat
| Eigenschaft |
Beschreibung |
| Typ |
Commentary, Erklaervideos, Meinungs-/Analyseformate |
| Stil |
Sprecherstimme + Bilder + leichte Bewegung + Einblendungen |
| Optional |
Sprechender Avatar (SadTalker) — erst ab v2 |
| Nicht |
Realfilm, Hollywood-VFX, aufwendige 3D-Animation |
Pipeline
1. Themenfindung / Recherche (manuell)
│
2. Skript-Erstellung → Qwen 14B (ki-tower)
│
3. Bildgenerierung → FLUX.1-dev (ki-tower)
│
4. Voiceover → Piper TTS (CPU, ki-tower)
│
5. Compositing → FFmpeg + Ken-Burns (CPU, ki-tower)
│
6. Encoding → FFmpeg + NVENC (ki-tower)
│
7. Export → fertiges MP4 fuer YouTube
Hardware
ki-tower — Hauptmaschine (Muldenstein, geplant)
| Eigenschaft |
Wert |
| CPU |
AMD Ryzen 7 7700 (8C/16T) |
| RAM |
64 GB DDR5 |
| GPU |
NVIDIA RTX 3090 (24 GB VRAM) |
| Storage |
1 TB NVMe |
| OS |
Debian 12 + Docker + CUDA |
| Logischer Name |
ki-tower |
| Rolle |
Chef. Alle schweren Aufgaben, Orchestrierung, Hauptpfad. |
gpu-worker — AMD-Rig (Muldenstein, geplant)
| Eigenschaft |
Wert |
| GPUs |
8x AMD RX 6600 XT Dual (je 8 GB GDDR6, PCIe 4.0 x8) |
| Chip |
Navi 23 (gfx1032), RDNA 2 |
| ROCm |
Inoffiziell (HSA_OVERRIDE_GFX_VERSION=10.3.0 noetig) |
| OS |
Debian 12 + Docker + ROCm (kein Proxmox) |
| Logischer Name |
gpu-worker |
| Rolle |
Arbeiterkolonne. Nur Nebenjobs, nichts Produktionskritisches. |
| Status |
1-Karten-Test steht aus. Kein Aufbau vor positivem Test. |
Rollenverteilung — Was laeuft wo
ki-tower (RTX 3090) — Hauptpfad
| Aufgabe |
Modell |
VRAM |
Anmerkung |
| Skripte |
Qwen 2.5 14B (Q5) |
~12 GB |
Default. 32B nur wenn 14B nachweislich nicht reicht. |
| Hauptbilder |
FLUX.1-dev |
~12 GB |
Visueller Kern der Videos |
| TTS (v1) |
Piper TTS |
CPU-only |
Fuer v1 ausreichend, kein VRAM-Verbrauch |
| TTS (v2) |
XTTS v2 |
~4 GB |
Upgrade in v2, bessere Stimme, Voice-Cloning |
| Avatar (v2) |
SadTalker |
~6 GB |
Optional, erst ab v2 |
| Compositing |
FFmpeg |
CPU |
Ken-Burns, Ueberblendungen, Overlays |
| Encoding |
FFmpeg + NVENC |
~1 GB |
Hardware-beschleunigt |
| Orchestrator |
Python |
CPU |
Steuert alle Schritte |
Wichtig: Schritte laufen SEQUENTIELL. Nur eine schwere GPU-Aufgabe gleichzeitig.
14B statt 32B als Default — laesst 12 GB VRAM frei, kein Flush zwischen Schritten noetig.
gpu-worker (RX 6600 XT) — Nebenjobs
| Aufgabe |
VRAM |
Karten |
Anmerkung |
| Whisper (Untertitel) |
~1.5 GB |
1 |
whisper.cpp + HIP, gut getestet auf AMD |
| Real-ESRGAN (Upscaling) |
~2 GB |
1 |
Einfache Inference, ROCm-Support vorhanden |
| SDXL (Nebenbilder, Batch) |
~7 GB |
1-2 |
NUR wenn ROCm-Test erfolgreich |
| Piper TTS |
CPU |
0 |
Braucht keine GPU, nutzt CPU/RAM des Rigs |
| Embeddings (lokale) |
~1 GB |
1 |
Fuer Jarvis/RAG, nicht Video-Pipeline |
Realistisch nutzbar: 3-4 von 8 Karten. Rest idle lassen oder ausbauen (Strom sparen).
Das Rig wird NICHT 24/7 laufen — nur einschalten wenn Batch-Jobs anstehen.
NICHT auf das Rig
| Aufgabe |
Warum nicht |
| Qwen (jede Groesse) |
PyTorch + ROCm + Textgen auf inoffizieller HW = Frust |
| FLUX.1-dev |
>8 GB VRAM, CUDA-optimiert |
| SadTalker |
CUDA-only in der Praxis |
| XTTS v2 |
PyTorch + ROCm ungetestet — erst v2 wenn ROCm stabil |
| Irgendwas im Hauptpfad |
Rig-Absturz darf Produktion nicht blockieren |
Worker-Architektur
ki-tower (3090, Chef) gpu-worker (RX 6600 XT, Arbeiter)
┌─────────────────────────┐ ┌──────────────────────────────┐
│ Orchestrator (Python) │ │ Debian 12 + Docker + ROCm │
│ ├── Job Queue (SQLite) │ Tailscale │ │
│ ├── /api/submit-job │◄────────────►│ GPU #0: whisper-worker :8501 │
│ ├── /api/job-status │ │ GPU #1: upscale-worker :8502 │
│ └── /api/get-result │ │ GPU #2: sdxl-worker :8503 │
│ │ │ (GPU #3-7: idle/aus) │
│ Qwen 14B (vLLM) :8401 │ │ │
│ FLUX.1 (ComfyUI):8402 │ │ piper-tts (CPU) :8504 │
│ FFmpeg (lokal) │ └──────────────────────────────┘
└─────────────────────────┘
Prinzipien:
- 1 Container = 1 GPU = 1 Aufgabe. Feste Zuordnung, kein dynamisches Scheduling.
- SQLite als Job-Queue. Ein User, nicht tausend. Eine Datei reicht.
- HTTP-APIs pro Worker. Orchestrator ruft per REST auf, pollt Status.
- Kein Service-Mesh, kein Kubernetes. Tailscale verbindet die zwei Maschinen.
VRAM-Budget (ki-tower, sequentiell)
Schritt 1: Skript → Qwen 14B → ~12 GB VRAM
Schritt 2: Bilder → FLUX.1-dev → ~12 GB VRAM
Schritt 3: TTS → Piper (CPU) → 0 GB VRAM
Schritt 4: Compositing → FFmpeg (CPU) → 0 GB VRAM
Schritt 5: Encoding → NVENC → ~1 GB VRAM
Mit Qwen 14B statt 32B: kein VRAM-Flush zwischen Schritt 1 und 2 noetig.
Geschaetzte Produktionszeit: ~1-2 Stunden pro 10-Min-Video.
Nicht-Ziele
- Kein Forschungsprojekt
- Keine Bastelwiese ohne Ergebnis
- Keine Dauerabhaengigkeit von Cloud-Abos
- Keine Architektur die nur auf dem Papier funktioniert
- Kein sofortiger Avatar als Kernbestandteil
- Keine ueberkomplizierte Proxmox-/VM-Orgie auf dem Rig
- Kein Schoenreden von AMD-ROCm-Limitierungen
v1 — Minimal Viable Pipeline (nur ki-tower)
v1 beweist: die Pipeline funktioniert. Kein Rig, kein Avatar, keine Automatisierung.
v1 Pipeline (alles auf ki-tower):
Thema (manuell)
│
▼
Qwen 14B → Skript (vLLM, :8401)
│
▼
FLUX.1-dev → 20-30 Bilder (ComfyUI, :8402)
│
▼
Piper TTS → Voiceover (CPU, :8504)
│
▼
FFmpeg → Ken-Burns + Audio + Overlays → fertiges MP4
Was v1 NICHT hat:
- Keinen Avatar
- Kein GPU-Worker-Rig
- Keine automatische Orchestrierung (Schritte manuell anstossen)
- Keinen YouTube-Upload
- Keine XTTS v2 (Piper reicht fuer v1)
Erfolgskriterium v1: Ein 10-Minuten-Video komplett lokal produziert.
v2 — Erweiterungen (nach funktionierender v1)
| Feature |
Abhaengigkeit |
| XTTS v2 statt Piper |
Auf ki-tower (3090), bessere Stimme |
| SadTalker Avatar |
Auf ki-tower, optional pro Video |
| GPU-Worker-Rig |
ROCm 1-Karten-Test muss positiv sein |
| Python-Orchestrator |
Erst manuell verstehen, dann automatisieren |
| Qwen 32B statt 14B |
Nur wenn 14B-Skripte nachweislich zu schwach |
v3+ — Spaeter
| Feature |
Anmerkung |
| YouTube-Upload-Automation |
Manueller Upload = 2 Klicks. Lohnt erst bei >3 Videos/Woche |
| Multi-User / geklonte Instanzen |
Erst ein funktionierendes Produkt haben |
| Prompt-Templates Bibliothek |
Waechst organisch mit der Produktion |
| Research-Hub-Integration |
Themenvorschlaege automatisch aus RSS/News |
Umsetzungsreihenfolge
PHASE 1 — ki-tower Grundinstallation (Woche 1-2)
├── Debian 12 + NVIDIA-Treiber + CUDA 12 + Docker
├── vLLM + Qwen 2.5 14B → erster Skript-Test
└── Ergebnis: "Ich kann lokal ein Skript generieren"
PHASE 2 — Bildgenerierung (Woche 3-4)
├── ComfyUI + FLUX.1-dev in Docker
├── Workflow: Skript-Szene → Bildprompt → Bild
└── Ergebnis: "Ich kann passende Bilder zu einem Skript erzeugen"
PHASE 3 — TTS + Assembly (Woche 5)
├── Piper TTS in Docker (CPU)
├── FFmpeg-Pipeline: Bilder + Audio → Video mit Ken-Burns
└── Ergebnis: "Erstes komplettes Video, lokal produziert"
PHASE 4 — Polieren + erstes echtes Video (Woche 6)
├── Prompt-Templates fuer Skripte verfeinern
├── FFmpeg-Presets fuer verschiedene Szenentypen
├── Erstes Video auf YouTube hochladen
└── Ergebnis: "v1 steht und produziert"
PHASE 5 — RX 6600 XT 1-Karten-Test (Woche 7-8)
├── Eine Karte in Testrechner
├── Debian + ROCm + whisper.cpp + Real-ESRGAN testen
├── Go/No-Go Entscheidung fuer Rig-Aufbau
└── Ergebnis: "Weiss ob das Rig sich lohnt"
PHASE 6 — Rig-Integration (nur wenn Phase 5 positiv)
├── Rig aufbauen (3-4 Karten, Debian + Docker + ROCm)
├── Whisper-Worker + Upscale-Worker aufsetzen
├── In Pipeline einbinden via Tailscale
└── Ergebnis: "Nebenjobs laufen parallel auf dem Rig"
PHASE 7 — v2 Features (nach stabiler Produktion)
├── XTTS v2 auf ki-tower (bessere Stimme)
├── SadTalker Avatar (optional pro Video)
├── Python-Orchestrator (automatische Verkettung)
└── Ergebnis: "Semi-automatische Videoproduktion"
Entscheidungen (getroffen)
| Frage |
Entscheidung |
Begruendung |
| OS ki-tower |
Debian 12 |
Einfacher fuer GPU, Docker, kein Hypervisor-Overhead |
| OS gpu-worker |
Debian 12 |
GPU-Passthrough in Proxmox auf AMD = Kampf |
| LLM-Modell |
Qwen 14B (Default) |
12 GB VRAM, laesst Platz. 32B nur als Upgrade. |
| LLM-Server |
vLLM |
Schneller als llama.cpp bei Batch, Model-Unloading |
| Bildgenerierung |
ComfyUI + FLUX.1-dev |
Flexibel, Workflow-basiert, gute Qualitaet |
| TTS v1 |
Piper TTS (CPU) |
Kein GPU-Verbrauch, sofort einsatzbereit |
| TTS v2 |
XTTS v2 (3090) |
Voice-Cloning, natuerlichere Stimme |
| Avatar |
Nicht in v1 |
Nice-to-have, nicht Kernprodukt |
| Job-Queue |
SQLite |
Ein User, kein Redis/RabbitMQ noetig |
| Netzwerk |
Tailscale |
Verbindet ki-tower + gpu-worker, fertig |
Risiken
| # |
Risiko |
Wahrscheinlichkeit |
Impact |
Mitigation |
| 1 |
ROCm auf RX 6600 XT instabil |
Hoch |
Mittel |
1-Karten-Test VOR Rig-Aufbau. Fallback: alles auf 3090. |
| 2 |
Piper TTS deutsch zu robotisch |
Mittel |
Hoch |
Testen. Wenn zu schlecht: OpenAI TTS als Bruecke (~0.50 EUR/Video). XTTS in v2. |
| 3 |
VRAM-Tetris auf 3090 |
Mittel |
Mittel |
14B statt 32B. Sequentiell. vLLM Model-Unloading. |
| 4 |
Pipeline wird zu komplex vor v1 |
Hoch |
Hoch |
v1 brutal einfach. Bash-Scripts, keine Frameworks. |
| 5 |
Stromkosten Rig vs. Nutzen |
Mittel |
Niedrig |
Nur 3-4 Karten bestuecken. Rig nur bei Batch-Jobs einschalten. |
Kosten-Schaetzung
| Posten |
Einmalig |
Monatlich |
| ki-tower Hardware |
vorhanden |
— |
| gpu-worker Hardware |
vorhanden |
— |
| Strom ki-tower (24/7) |
— |
~30-40 EUR |
| Strom gpu-worker (bei Bedarf) |
— |
~10-30 EUR (nicht 24/7) |
| Cloud-APIs (Fallback TTS) |
— |
~5-10 EUR |
| Gesamt |
0 EUR |
~45-80 EUR |
Zum Vergleich: Vollstaendig cloud-basierte Videoproduktion (Runway, ElevenLabs, GPT-4) = 100-300 EUR/Monat.