Kurzvideo-Pipeline
GPU-lokale Script-to-Render-Automatisierung, doppelt bereitgestellt: CUDA zu Hause, CPU-only für öffentliche Demo
Überblick
Kontext, Ansatz und Ergebnis.
Problem
Konsistent Kurzvideos zu produzieren ist eigentlich ein Planungsproblem, das sich als kreatives tarnt. Ich wollte die mechanische Hälfte — Skript, passendes Footage, Untertitel, Musikbett, Rendern — automatisieren und auf Hardware laufen lassen, die ich bereits besitze, statt pro Minute für gehostete Generierung zu zahlen.
Meine Rolle
Das ist ein Fork des Open-Source-Projekts MoneyPrinterTurbo von harry0703, das den Kern-Generator liefert. Die Upstream-Autoren haben den Großteil der Commits beigesteuert und verdienen die Anerkennung für das Fundament. Mein Beitrag ist die Homelab-Integration und eine Reihe von Erweiterungen: ein lizenzierter Musikpool, damit Audio rechtlich abgesichert ist, „Content Packs“, die die Identität eines Accounts von der Generierungsmaschine trennen, Insight-Messung, die über Hashtag-Zählen hinausgeht, und ein Motion-Clip-Pool, der durch die reale Uhrzeit begrenzt ist.
Einschränkungen
- Eine GPU, die mit einem lokalen LLM-Stack und einem „Second Brain“ geteilt wird, das ein morgendliches Briefing ausführt. Die Video-Generierung darf die zeitgesteuerten Prozesse nicht ausbremsen.
- Das öffentliche Demo hat überhaupt keine GPU, also muss derselbe Code auf CPU-only zurückfallen können.
Architektur
Thema zu Skript zu passendem Footage zu Untertiteln zu Musik zu gerendertem Short. Hardware-beschleunigtes Encoding und lokale Speech-to-Text auf der Workstation; derselbe Stack CPU-only hinter dem Reverse Proxy des Homelabs als öffentliches Demo ausgerollt.
Ergebnis
Zwei Live-Deployments aus einer Codebasis. Rund 57 eigene Commits on top von Upstream, konzentriert auf Scheduling, Lizenzierung und Ressourcen-Contention, weniger am Generator selbst.
Was ich anders machen würde
Der Bug, an den ich mich erinnere, war ein Ressourcen-Contention-Problem und hat mir etwas Grundsätzliches beigebracht: Ein vom Scheduler eingereihtes Job erbt immer ein frisches Dauer-Budget, nicht das verbleibende Zeitfenster an der Uhr. Etwas, das eigentlich über Nacht laufen sollte, lief vier Stunden in den Arbeitstag hinein und blockierte die GPU, die das morgendliche Briefing gebraucht hätte. Ein Dauer-Limit kann niemals eine reale Uhrzeit begrenzen — wenn ein Job zu einer bestimmten Zeit fertig sein muss, muss genau diese Zeit als Constraint kodiert werden.
Erkenntnisse
Was ich mitnehme.
Etwas Gutes zu forken und es richtig zu integrieren, ist oft mehr wert, als es selbst zu bauen – der Mehrwert, den ich geschaffen habe, lag komplett im Scheduling, Licensing und Resource Contention, was alles nicht der spannende Teil des Generators ist. Und noch ein Tipp: Lass niemals einen unbegrenzten GPU-Job auf derselben Hardware laufen wie etwas, das nach Zeitplan ausgeführt wird.
Stack
Tools und Plattformen.
Reden wir
Möchtest du über solche Arbeit sprechen?
Wenn du für ähnliche Backend-, AWS-, Voice- oder Integrations-Arbeit einstellst — oder einfach Architektur-Notizen vergleichen willst — melde dich direkt.