Integrations
Provides community support and discussions through a Discord server for users seeking help with the Short Video Maker tool.
Offers containerized deployment options for running the Short Video Maker, including specialized images for CPU and NVIDIA GPU acceleration.
Utilizes FFmpeg for audio and video manipulation during the video creation process, enabling professional audio/video processing capabilities.
Beschreibung
Ein Open-Source-Tool zur automatisierten Videoerstellung für kurze Videoinhalte. Short Video Maker kombiniert Text-to-Speech, automatische Untertitel, Hintergrundvideos und Musik, um aus einfachen Texteingaben ansprechende Kurzvideos zu erstellen.
Dieses Projekt soll eine kostenlose Alternative zur GPU-intensiven Videogenerierung (und eine kostenlose Alternative zu teuren API-Aufrufen von Drittanbietern) bieten. Es generiert kein Video von Grund auf neu basierend auf einem Bild oder einer Bildaufforderung.
Das Repository wurde vom YouTube-Kanal „AI Agents AZ“ als Open Source bereitgestellt. Wir empfehlen Ihnen, den Kanal für weitere KI-bezogene Inhalte und Tutorials zu besuchen.
Der Server stellt einen MCP- und einen REST-Server bereit.
Während der MCP-Server mit einem KI-Agenten (wie n8n) verwendet werden kann, bieten die REST-Endpunkte mehr Flexibilität bei der Videogenerierung.
In diesem Repository finden Sie Beispiele für n8n-Workflows, die mit dem REST/MCP-Server erstellt wurden.
Inhaltsverzeichnis
Erste Schritte
Verwendung
Info
- Merkmale
- So funktioniert es
- Einschränkungen
- Konzepte
- Fehlerbehebung
- Bereitstellung in der Cloud
- Häufig gestellte Fragen
- Abhängigkeiten
- Beitragen
- Lizenz
- Danksagung
Tutorial mit n8n
Beispiele
Merkmale
- Generieren Sie komplette Kurzvideos aus Textaufforderungen
- Text-zu-Sprache-Konvertierung
- Automatische Untertitelgenerierung und -gestaltung
- Hintergrundvideosuche und -auswahl über Pexels
- Hintergrundmusik mit Genre-/Stimmungsauswahl
- Dient sowohl als REST-API als auch als Model Context Protocol (MCP)-Server
Wie es funktioniert
Shorts Creator nimmt einfache Texteingaben und Suchbegriffe entgegen und führt dann Folgendes aus:
- Wandelt Text mit Kokoro TTS in Sprache um
- Generiert präzise Untertitel über Whisper
- Findet relevante Hintergrundvideos von Pexels
- Komponiert alle Elemente mit Remotion
- Rendert ein professionell aussehendes Kurzvideo mit perfekt abgestimmten Untertiteln
Einschränkungen
- Das Projekt kann nur Videos mit englischem Voiceover erstellen (kokoro-js unterstützt derzeit keine anderen Sprachen).
- Die Hintergrundvideos stammen von Pexels
Allgemeine Anforderungen
- Internet
- kostenloser Pexels-API-Schlüssel
- ≥ 3 GB freier RAM, meine Empfehlung ist 4 GB RAM
- ≥ 2 vCPU
- ≥ 5 GB Speicherplatz
NPM
Docker wird empfohlen, Sie können das Projekt aber auch mit npm oder npx ausführen. Zusätzlich zu den allgemeinen Anforderungen sind die folgenden Voraussetzungen für den Serverbetrieb erforderlich.
Unterstützte Plattformen
- Ubuntu ≥ 22.04 (libc 2.5 für Whisper.cpp)
- Erforderliche Pakete:
git wget cmake ffmpeg curl make libsdl2-dev libnss3 libdbus-1-3 libatk1.0-0 libgbm-dev libasound2 libxrandr2 libxkbcommon-dev libxfixes3 libxcomposite1 libxdamage1 libatk-bridge2.0-0 libpango-1.0-0 libcairo2 libcups2
- Erforderliche Pakete:
- Mac OS
- ffmpeg (
brew install ffmpeg
) - node.js (getestet auf 22+)
- ffmpeg (
Windows wird derzeit NICHT unterstützt (die Installation von whisper.cpp schlägt gelegentlich fehl).
Konzepte
Szene
Jedes Video besteht aus mehreren Szenen. Diese Szenen bestehen aus
- Text: Erzählung, der Text, den das TTS vorliest und aus dem es Untertitel erstellt.
- Suchbegriffe: Die Schlüsselwörter, die der Server verwenden soll, um Videos von der Pexels-API zu finden. Wenn keine gefunden werden, werden Jokerbegriffe verwendet (
nature
,globe
,space
,ocean
).
Erste Schritte
Docker (empfohlen)
Es gibt drei Docker-Images für drei verschiedene Anwendungsfälle. Normalerweise möchten Sie das tiny
Image starten.
Winzig
- Verwendet das Modell
tiny.en
whisper.cpp - Verwendet das quantisierte
q4
-Kokoro-Modell CONCURRENCY=1
um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrührenVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 MB), um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrühren
Normal
- Verwendet das
base.en
whisper.cpp-Modell - Verwendet das
fp32
-Kokoro-Modell CONCURRENCY=1
um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrührenVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 MB), um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrühren
Cuda
Wenn Sie eine Nvidia-GPU besitzen und ein größeres Whisper-Modell mit GPU-Beschleunigung verwenden möchten, können Sie das für CUDA optimierte Docker-Image verwenden.
- Verwendet das
medium.en
whisper.cpp-Modell (mit GPU-Beschleunigung) - Verwendet das
fp32
-Kokoro-Modell CONCURRENCY=1
um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrührenVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 MB), um OOM-Fehler zu überwinden, die von Remotion mit begrenzten Ressourcen herrühren
Docker-Compilierung
Sie verwenden Docker Compose möglicherweise zum Ausführen von n8n oder anderen Diensten und möchten diese kombinieren. Stellen Sie sicher, dass Sie das gemeinsame Netzwerk zur Dienstkonfiguration hinzufügen.
Wenn Sie das selbstgehostete KI-Starterkit verwenden, möchten Sie networks: ['demo']
zum ** short-video-maker
Dienst hinzufügen, damit Sie ihn mit http://short-video-maker:3123 in n8n erreichen können.
Web-Benutzeroberfläche
@mushitori hat eine Web-Benutzeroberfläche erstellt, um die Videos aus Ihrem Browser zu generieren.
Sie können es unter http://localhost:3123 laden.
Umgebungsvariablen
🟢 Konfiguration
Schlüssel | Beschreibung | Standard |
---|---|---|
PEXELS_API_KEY | Ihr (kostenloser) Pexels API-Schlüssel | |
LOG_LEVEL | Pino-Log-Ebene | Info |
WHISPER_VERBOSE | ob die Ausgabe von whisper.cpp an stdout weitergeleitet werden soll | FALSCH |
HAFEN | der Port, auf dem der Server lauscht | 3123 |
⚙️ Systemkonfiguration
Schlüssel | Beschreibung | Standard |
---|---|---|
KOKORO_MODEL_PRECISION | Die Größe des zu verwendenden Kokoro-Modells. Gültige Optionen sind fp32 , fp16 , q8 , q4 und q4f16 | kommt drauf an, siehe die Beschreibungen der Docker-Images oben ^^ |
GLEICHZEITIGKEIT | Parallelität gibt an, wie viele Browser-Tabs während eines Renderings parallel geöffnet sind. Jeder Chrome-Tab rendert Webinhalte und erstellt anschließend Screenshots davon. Die Anpassung dieses Werts hilft bei der Ausführung des Projekts mit begrenzten Ressourcen. | kommt drauf an, siehe die Beschreibungen der Docker-Images oben ^^ |
VIDEO_CACHE_SIZE_IN_BYTES | Cache für Frames in Remotion. Das Anpassen dieses Werts hilft beim Ausführen des Projekts mit begrenzten Ressourcen. | kommt drauf an, siehe die Beschreibungen der Docker-Images oben ^^ |
⚠️ Gefahrenzone
Schlüssel | Beschreibung | Standard |
---|---|---|
WHISPER_MODEL | Welches whisper.cpp-Modell verwendet werden soll. Gültige Optionen sind tiny , tiny.en , base , base.en , small , small.en , medium , medium.en , large-v1 , large-v2 , large-v3 , large-v3-turbo | Hängt davon ab, siehe die Beschreibungen der Docker-Images oben. Für npm ist die Standardoption medium.en |
DATA_DIR_PATH | das Datenverzeichnis des Projekts | ~/.ai-agents-az-video-generator mit npm, /app/data in den Docker-Images |
DOCKER | ob das Projekt in einem Docker-Container ausgeführt wird | true für die Docker-Images, sonst false |
ENTWICKLER | erraten! :) | false |
Konfigurationsoptionen
Schlüssel | Beschreibung | Standard |
---|---|---|
PolsterungZurück | Der Endbildschirm, der angibt, wie lange das Video nach dem Ende des Kommentars weitergespielt werden soll (in Millisekunden). | 0 |
Musik | Die Stimmung der Hintergrundmusik. Rufen Sie die verfügbaren Optionen vom Endpunkt GET /api/music-tags ab. | zufällig |
Beschriftungsposition | Die Position, an der die Untertitel angezeigt werden sollen. Mögliche Optionen: top , center , bottom . Standardwert | bottom |
BeschriftungHintergrundfarbe | Die Hintergrundfarbe des aktiven Untertitelelements. | blue |
Stimme | Die Kokoro-Stimme. | af_heart |
Orientierung | Die Videoausrichtung. Mögliche Optionen sind portrait und landscape | portrait |
Verwendung
MCP-Server
Server-URLs
/mcp/sse
/mcp/messages
Verfügbare Werkzeuge
create-short-video
Erstellt ein kurzes Video. Das LLM ermittelt die passende Konfiguration. Wenn Sie eine bestimmte Konfiguration verwenden möchten, müssen Sie diese in der Eingabeaufforderung angeben.get-video-status
Ziemlich nutzlos. Es ist zum Überprüfen des Status des Videos gedacht, aber da die KI-Agenten mit dem Zeitkonzept nicht wirklich gut umgehen können, werden Sie dafür wahrscheinlich sowieso die REST-API verwenden.
REST-API
GET /health
Healthcheck-Endpunkt
POST /api/short-video
GET /api/short-video/{id}/status
GET /api/short-video/{id}
Antwort: die Binärdaten des Videos.
GET /api/short-videos
LÖSCHEN /api/short-video/{id}
GET /api/voices
GET /api/music-tags
Fehlerbehebung
Docker
Der Server benötigt mindestens 3 GB freien Speicher. Stellen Sie sicher, dass Docker genügend RAM zugewiesen wird.
Wenn Sie den Server unter Windows und über WSL2 ausführen, müssen Sie die Ressourcenlimits über das WSL-Dienstprogramm 2 festlegen. Andernfalls legen Sie sie über Docker Desktop fest. (Ubuntu schränkt die Ressourcen nicht ein, sofern dies nicht mit dem Befehl „Ausführen“ angegeben wird.)
NPM
Stellen Sie sicher, dass alle erforderlichen Pakete installiert sind.
n8n
Die Einrichtung des MCP- (oder REST-)Servers hängt davon ab, wie Sie n8n und den Server betreiben. Bitte folgen Sie den Beispielen aus der folgenden Matrix.
|n8n läuft lokal, mit n8n start
|n8n läuft lokal mit Docker|n8n läuft in der Cloud|
|---|---|---|---|
|short-video-maker
läuft lokal in Docker|http://localhost:3123
|Es kommt darauf an. Technisch gesehen können Sie http://host.docker.internal:3123
verwenden, da es auf den Host verweist. Sie können es aber auch so konfigurieren, dass dasselbe Netzwerk verwendet wird und der Dienstname zur Kommunikation verwendet wird, z. B. http://short-video-maker:3123
|funktioniert nicht - short-video-maker
in der Cloud bereitstellen|
|short-video-maker
läuft mit npm/npx|http://localhost:3123
|http://host.docker.internal:3123
|funktioniert nicht - short-video-maker
in der Cloud bereitstellen|
|short-video-maker
läuft in der Cloud|Sie sollten Ihre IP-Adresse http://{YOUR_IP}:3123
verwenden.|Sie sollten Ihre IP-Adresse http://{YOUR_IP}:3123
verwenden.|Sie sollten Ihre IP-Adresse http://{YOUR_IP}:3123
verwenden.|
Bereitstellung in der Cloud
Obwohl jeder VPS-Anbieter anders ist und es unmöglich ist, für alle eine Konfiguration bereitzustellen, finden Sie hier einige Tipps.
- Verwenden Sie Ubuntu ≥ 22.04
- Verfügt über ≥ 4 GB RAM, ≥ 2 vCPUs und ≥ 5 GB Speicher
- Verwenden Sie pm2 , um den Server auszuführen/zu verwalten
- Fügen Sie die Umgebungsvariablen in die
.bashrc
Datei (oder eine ähnliche Datei) ein.
Häufig gestellte Fragen
Kann ich andere Sprachen verwenden? (Französisch, Deutsch usw.)
Leider ist dies derzeit nicht möglich. Kokoro-js unterstützt nur Englisch.
Kann ich Bilder und Videos einfügen und können diese zusammengefügt werden?
NEIN
Soll ich das Projekt mit npm
oder docker
ausführen?
Zum Ausführen des Projekts wird Docker empfohlen.
Wie viel GPU wird für die Videogenerierung verwendet?
Ehrlich gesagt nicht viel – nur whisper.cpp kann beschleunigt werden.
Remotion ist CPU-lastig und Kokoro-js läuft auf der CPU.
Gibt es eine Benutzeroberfläche, mit der ich die Videos generieren kann?
Noch nicht)
Kann ich eine andere Quelle für die Videos als Pexels auswählen oder mein eigenes Video bereitstellen?
NEIN
Kann das Projekt Videos aus Bildern generieren?
NEIN
Abhängigkeiten für die Videogenerierung
Abhängigkeit | Version | Lizenz | Zweck |
---|---|---|---|
Entfernung | ^4.0.286 | Motion-Lizenz | Videokomposition und -rendering |
Flüstern CPP | Version 1.5.5 | MIT | Sprache-zu-Text für Untertitel |
FFmpeg | ^2.1.3 | LGPL/GPL | Audio-/Videobearbeitung |
Kokoro.js | ^1.2.0 | MIT | Text-to-Speech-Generierung |
Pexels API | N / A | Pexels-Bedingungen | Hintergrundvideos |
Wie kann ich beitragen?
PRs sind willkommen. Anweisungen zum Einrichten einer lokalen Entwicklungsumgebung finden Sie in der Datei CONTRIBUTING.md .
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
Danksagung
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Kurzvideo-Maker MCP
- Inhaltsverzeichnis
- Tutorial mit n8n
- Beispiele
- Merkmale
- Wie es funktioniert
- Einschränkungen
- Allgemeine Anforderungen
- NPM
- Konzepte
- Erste Schritte
- Web-Benutzeroberfläche
- Umgebungsvariablen
- Konfigurationsoptionen
- Verwendung
- REST-API
- Fehlerbehebung
- n8n
- Bereitstellung in der Cloud
- Häufig gestellte Fragen
- Kann ich andere Sprachen verwenden? (Französisch, Deutsch usw.)
- Kann ich Bilder und Videos einfügen und können diese zusammengefügt werden?
- Soll ich das Projekt mit npm oder docker ausführen?
- Wie viel GPU wird für die Videogenerierung verwendet?
- Gibt es eine Benutzeroberfläche, mit der ich die Videos generieren kann?
- Kann ich eine andere Quelle für die Videos als Pexels auswählen oder mein eigenes Video bereitstellen?
- Kann das Projekt Videos aus Bildern generieren?
- Abhängigkeiten für die Videogenerierung
- Wie kann ich beitragen?
- Lizenz
- Danksagung
Related MCP Servers
- -securityAlicense-qualityA MCP server that creates graphic recordings by converting websites or text input into visual summaries using different prompt styles (standard, elementary, timeline).Last updated -TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server providing video processing capabilities through FFmpeg, enabling dialog-based local video search, trimming, concatenation, and playback functionalities.Last updated -79PythonMIT License
- AsecurityAlicenseAqualityMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.Last updated -77TypeScriptMIT License
- Rust