Video-Produzent
Erstelle komplette Videos mit Sprachausgabe, Musik und visuellen Effekten.
Dies ist eine Orchestrator-Fertigkeit, die Folgendes kombiniert:
- Skript-/Storyboard-Erstellung (Claude)
- Sprachsynthese (Gemini TTS)
- Hintergrundmusik (Lyria)
- Videoclip-Generierung (Veo 3.1) oder Bildanimation
- Finaler Zusammenschnitt (FFmpeg über media-utils)
Workflow
Schritt 1: Anforderungen sammeln (ERFORDERLICH)
⚠️ Überspringe diesen Schritt nicht. Führe init_project.py erst aus, wenn du ALLE Antworten hast.
Verwende interaktive Fragen – stelle EINE Frage nach der anderen, warte auf die Antwort, dann stelle die nächste. Dies schafft einen kollaborativen, spezifikationsgesteuerten Prozess.
Fragenablauf
⚠️ Verwende das AskUserQuestion-Tool für jede der folgenden Fragen. Gib die Fragen nicht nur in deiner Antwort aus – verwende das Tool, um interaktive Aufforderungen mit den angezeigten Optionen zu erstellen.
F1: Thema
„Ich erstelle das Video! Zuerst – worum geht es?
(z. B. Produkteinführung, Markengeschichte, Tutorial, Erklärvideo – oder beschreibe dein eigenes)“
Warte auf Antwort.
F2: Dauer
„Wie lang soll das Video sein?
- 15 Sekunden (schneller Aufhänger)
- 30 Sekunden (Standard-Werbespot)
- 60 Sekunden (Erklärvideo)
- 2+ Minuten (ausführlich)
- Oder gib eine eigene Dauer an“
Warte auf Antwort.
F3: Stil
„Welcher visuelle Stil?
- Premium/Luxus
- Lustig/verspielt
- Unternehmensorientiert/professionell
- Dramatisch/kinoreif
- Minimalistisch/sauber
- Oder beschreibe deinen eigenen Stil“
Warte auf Antwort.
F4: Assets
„Hast du vorhandene Bilder oder Videoclips, die du verwenden möchtest?
- Nein, alles generieren
- Ja, ich habe Bilder (Pfade angeben)
- Ja, ich habe Videoclips (Pfade angeben)“
Warte auf Antwort.
F5: Audiostrategie
„Wie sollen wir das Audio handhaben?
- Benutzerdefiniert – Ich generiere Sprachaufnahme + Hintergrundmusik
- Veo nativ – Verwende Veos integrierte Dialoge/SFX/Umgebungsgeräusche
- Stumm – Kein Audio, später hinzufügen“
Warte auf Antwort.
F6: Stimme (bei benutzerdefiniertem Audio)
„Welcher Stimmton für die Sprachaufnahme?
- Professionell
- Freundlich/warm
- Energisch
- Ruhig/beruhigend
- Dramatisch
- Oder beschreibe deinen eigenen Ton“
Warte auf Antwort.
F7: Musik (bei benutzerdefiniertem Audio)
„Welche Musikrichtung?
- Modern elektronisch
- Kinoreif/episch
- Fröhlicher Pop
- Ambient/Chill
- Corporate
- Oder beschreibe deinen eigenen Stil“
Warte auf Antwort.
F8: Format
„Welches Seitenverhältnis?
- 16:9 (YouTube, Web)
- 9:16 (TikTok, Reels, Shorts)
- 1:1 (Instagram-Feed)“
Warte auf Antwort.
F9: Auflösung
„Welche Auflösung?
- 720p (schnellere Generierung)
- 1080p (Standard-HD)“
Warte auf Antwort.
F10: Modell
„Welches Veo-Modell?
veo-3.1– Neuestes, höchste Qualität (Standard)veo-3.1-fast– Schnellere Generierung, etwas geringere Qualitätveo-3– Vorherige Generationveo-3-fast– Vorherige Gen., schneller“
Warte auf Antwort.
Kurzreferenz
| Frage | Bestimmt |
|---|---|
| Thema | Szeneninhalt und Prompts |
| Dauer | Anzahl der Szenen (Veo-Clips müssen 4, 6 oder 8 Sekunden lang sein) |
| Stil | Visuelle Prompts und Musikauswahl |
| Assets | Generieren vs. Vorhandenes verwenden |
| Audio | benutzerdefiniert, veo_audio oder stumm |
| Stimme | TTS-Stimmauswahl |
| Musik | Lyria-Prompt |
| Format | Seitenverhältnis für Veo |
| Auflösung | 720p oder 1080p Ausgabequalität |
| Modell | veo-3.1, veo-3.1-fast, veo-3, veo-3-fast |
Schritt 2: Projekt initialisieren
Sobald du die Antworten des Benutzers hast, initialisiere das Projekt mit seinen Einstellungen:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
--name "Produkteinführungsvideo" \
--duration 30 \
--aspect-ratio 16:9 \
--audio-strategy custom \
--scenes 5
Schritt 3: project.json konfigurieren
Bearbeite project.json mit Szenen-Prompts, Sprachaufnahme-Text und Musikstil basierend auf den Antworten des Benutzers.
Schritt 4: Video zusammenbauen
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
--project ~/mein_videoprojekt/
Projektstruktur
Wenn du ein Projekt initialisierst, wird diese Ordnerstruktur erstellt:
mein_projekt/
├── project.json # Konfiguration: Szenen, Sprachaufnahme, Musik, Einstellungen
├── storyboard.md # Planungsdokument für das Video
├── scenes/ # Generierte Videoclips von Veo
│ ├── szene1_einfuehrung.mp4
│ ├── szene2_funktionen.mp4
│ └── szene3_cta.mp4
├── audio/ # Audio-Assets
│ ├── voiceover.wav # Generierte Sprachaufnahme
│ ├── background_music.wav # Generierte Musik
│ └── final_mix.mp3 # Gemischte Audiospur
├── work/ # Zwischendateien (automatisch generiert)
│ ├── silent_szene1.mp4
│ ├── video_concatenated.mp4
│ └── ...
└── output/ # Finale Ergebnisse
└── produkt_einfuehrung_video_final.mp4
Skripte
init_project.py
Initialisiere ein neues Videoprojekt mit Ordnerstruktur und Vorlagen.
# Einfaches Projekt
python3 init_project.py --name "Mein Video" --duration 30
# In einem bestimmten Verzeichnis erstellen
python3 init_project.py --name "Demo-Video" --output ~/Videos/
# Vertikales Video für soziale Medien
python3 init_project.py --name "Instagram Reel" --aspect-ratio 9:16 --duration 15
# Verwende Veos natives Audio (keine benutzerdefinierte Sprachaufnahme/Musik)
python3 init_project.py --name "Filmszene" --audio-strategy veo_audio
# Mehr Szenen
python3 init_project.py --name "Langes Video" --duration 60 --scenes 5
Optionen:
| Option | Standard | Beschreibung |
|---|---|---|
--name | erforderlich | Projektname |
--output | aktuelles Verz. | Übergeordnetes Verzeichnis |
--duration | 30 | Zieldauer in Sekunden |
--aspect-ratio | 16:9 | 16:9, 9:16, 1:1, 4:3 |
--audio-strategy | custom | custom, veo_audio, silent |
--scenes | 3 | Anzahl der Szenenplatzhalter |
assemble.py
Orchestriere die vollständige Video-Assembly-Pipeline.
# Vollständige Pipeline (alles generieren + zusammenbauen)
python3 assemble.py --project ~/mein_projekt/
# Generierung überspringen (vorhandene Szenen-/Audiodateien verwenden)
python3 assemble.py --project ~/mein_projekt/ --skip-generation
# Probelauf (zeige, was getan würde)
python3 assemble.py --project ~/mein_projekt/ --dry-run
Pipeline-Schritte:
- Videoszenen generieren (Veo 3.1)
- Audio aus Szenen entfernen (bei benutzerdefiniertem Audio)
- Sprachaufnahme generieren (Gemini TTS)
- Hintergrundmusik generieren (Lyria)
- Sprachaufnahme + Musik mischen
- Videoclips concatenieren
- Audio mit Video zusammenführen
- Finales Video ausgeben
project.json Konfiguration
{
"name": "Produkteinführungsvideo",
"duration_target": 30,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio_strategy": "custom",
"scenes": [
{
"id": 1,
"name": "szene1_held",
"prompt": "Kinoreifer langsamer Zoom auf Premiumprodukt, dramatische Beleuchtung, High-End-Werbestil",
"duration": 6,
"notes": "Nur Musik, keine Sprachaufnahme"
},
{
"id": 2,
"name": "szene2_funktionen",
"prompt": „Produktmerkmale demonstrieren, elegante Animationen, moderne Tech-Ästhetik“,
"duration": 8,
"notes": „Sprachaufnahme beginnt hier“
},
{
"id": 3,
"name": "szene3_cta",
"prompt": „Produkt mit Logo auf sauberem Hintergrund, Call-to-Action-Moment“,
"duration": 6,
"notes": „Musik wird lauter, Sprachaufnahme endet“
}
],
"voiceover": {
"enabled": true,
"text": „Wir stellen die Zukunft des Audios vor. Kristallklarer Klang. Den ganzen Tag Komfort. Erlebe den Unterschied.“,
"voice": „Charon“,
"style": „Professionell, selbstbewusst, Premium-Markenstimme“
},
"music": {
"enabled": true,
"prompt": „modern elektronisch, Premium, elegant, Produktpräsentation, dezenter Bass“,
"duration": 35,
"bpm": 100,
"brightness": 0.6
},
"assembly": {
"transition": „fade“,
"transition_duration": 0.5,
"music_volume": 0.3,
"fade_in": 1.0,
"fade_out": 2.0
}
}
Audiostrategien
| Strategie | Beschreibung | Verwende, wenn |
|---|---|---|
custom | Veo-Audio entfernen, benutzerdefinierte Sprachaufnahme + Musik hinzufügen | Die meisten Videos |
veo_audio | Veos generiertes Audio behalten (Dialoge, SFX) | Filmszenen, Dialoge |
silent | Audio entfernen, stummes Video ausgeben | Audio später hinzufügen |
Workflow: Ein Video erstellen
Schritt 1: Projekt initialisieren
python3 init_project.py --name „Kabellose Ohrhörer-Promo“ --duration 30
Schritt 2: Storyboard planen
Bearbeite storyboard.md, um deine Videostruktur zu planen:
## Szene 1: Helden-Enthüllung (0–5s)
- Visuell: Ohrhörer tauchen aus dem Schatten auf, Premium-Beleuchtung
- Audio: Nur Musik (dramatischer Intro)
## Szene 2: Klangqualität (5–12s)
- Visuell: Schallwellen, Person genießt Musik
- Audio: Sprachaufnahme: „Kristallklarer Klang. Immersiver Bass.“
## Szene 3: Komfort (12–20s)
- Visuell: Nahaufnahme der Passform, Person läuft
- Audio: Sprachaufnahme: „Den ganzen Tag Komfort. Sicherer Sitz.“
## Szene 4: CTA (20–30s)
- Visuell: Produkt + Logo
- Audio: Sprachaufnahme: „Erlebe den Unterschied.“ + Musik wird lauter
Schritt 3: project.json konfigurieren
Fülle die Szenen-Prompts, den Sprachaufnahme-Text und den Musikstil basierend auf deinem Storyboard aus.
Schritt 4: Zusammenbauen
python3 assemble.py --project ~/kabellose_ohrhoerer_promo/
Schritt 5: Überprüfen und iterieren
Überprüfe die Ausgabe in output/. Falls Anpassungen nötig sind:
# Mit vorhandenen Szenen erneut ausführen (nur Audio neu mischen)
python3 assemble.py --project ~/kabellose_ohrhoerer_promo/ --skip-generation
Was du erstellen kannst
| Typ | Beispiel |
|---|---|
| Produktvideo | 30s Heldenvideo, das ein Produkt präsentiert |
| Erklärvideo | Anleitung oder Funktionserklärung |
| Werbevideo | Marketing-Anzeige |
| Demo-Video | Produktdemonstration |
| Schulungsvideo | Interne Schulungsinhalte |
| Testimonial | Kundenmeinungs-Video |
| Markenvideo | Unternehmens-/Markengeschichte |
Voraussetzungen
GOOGLE_API_KEY- Für Veo (Video), Gemini TTS (Sprache), Lyria (Musik)- FFmpeg installiert:
brew install ffmpeg
Videostile & Musik-Paarungen
| Stil | Musik-Prompt | Stimme |
|---|---|---|
| Premium/Luxus | „elegant, minimalistisch, Ambient, anspruchsvoll“ | Charon (informativ) |
| Tech/Modern | „elektronisch, futuristisch, sauber, innovativ“ | Kore (fest) |
| Lustig/Verspielt | „fröhlich, heiter, akustisch, positiv“ | Puck (fröhlich) |
| Corporate | „professionell, inspirierend, leicht orchestral“ | Orus (fest) |
| Lifestyle | „lässig, anspruchsvoll, Indie, warm“ | Aoede (lässig) |
| Dramatisch/Kinoreif | „episch, orchestral, emotional, aufbauend“ | Gacrux (reif) |
Häufige Videostrukturen
Produktvideo (30s)
0–5s: Heldenaufnahme (nur Musik)
5–15s: Funktionen (Sprachaufnahme + Musik)
15–25s: Lifestyle/Anwendungsfall (Sprachaufnahme + Musik)
25–30s: Logo + CTA (Musik ausgeblendet)
Erklärvideo (60s)
0–5s: Haken/Problemstellung
5–20s: Lösungseinführung
20–45s: Wie es funktioniert (3 Schritte)
45–55s: Zusammenfassung der Vorteile
55–60s: CTA
Testimonial-Video (45s)
0–5s: Intro/Namenskarte
5–35s: Testimonial-Zitat (mehrere Szenen)
35–45s: Produktaufnahme + Logo
Manueller Workflow (Ohne Skripte)
Wenn du jeden Schritt manuell ausführen möchtest:
Szenen generieren:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--batch scenes.json
Sprachaufnahme generieren:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
--text "Dein Sprachaufnahme-Text..." \
--voice Charon \
--style "Professionell, warm"
Musik generieren:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
--prompt "modern elektronisch, Premium" \
--duration 35
Audio aus Clips entfernen:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
-i szene*.mp4
Videos concatenieren:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
-i silent_*.mp4 --transition fade -o video.mp4
Audio mischen:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
--voice voiceover.wav --music music.wav -o audio.mp3
Audio + Video zusammenführen:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
--video video.mp4 --audio audio.mp3 -o final.mp4
Eingabedateien, die du bereitstellen kannst
| Dateityp | Wie es verwendet wird |
|---|---|
| Produktbilder | Mit Veo als erstes Bild animieren |
| Logo (PNG) | Über die letzte Szene legen |
| Vorhandene Sprachaufnahme | In audio/voiceover.wav platzieren |
| Markenmusik | In audio/background_music.wav platzieren |
| Videoclips | Im Ordner scenes/ platzieren |
| Skript/Text | Für Sprachaufnahme-Text verwenden |
Einschränkungen
- Veo-Videodauer: Maximal 8 Sekunden pro Clip (für längere Dauer concatenieren)
- Veo 3.1 enthält Audio: Alle Clips haben generiertes Audio (bei benutzerdefiniertem Audio entfernen)
- Verarbeitungszeit: Die Videogenerierung dauert 1–3 Minuten pro Clip
- Auflösung: Derzeit 720p oder 1080p (1080p nur für 8s)
Fehlerbehandlung
| Fehler | Lösung |
|---|---|
| „GOOGLE_API_KEY not set“ | API-Schlüssel gemäß README einrichten |
| „FFmpeg not found“ | Installieren: brew install ffmpeg |
| „project.json not found“ | Zuerst init_project.py ausführen |
| Videogenerierungs-Timeout | Erneut versuchen oder kürzere Dauer verwenden |
| Audio/Video-Synchronisationsprobleme | Szenendauern anpassen |
Beispiel-Prompts
Einfach:
„Erstelle ein 30-sekündiges Produktvideo für meine neue Kaffeemaschine“
Ausführlich:
„Erstelle ein 45-sekündiges Produktvideo für unsere neuen kabellosen Ohrhörer. Premium, luxuriöses Gefühl. Ich habe Produktfotos beigefügt. Professionelle männliche Sprachaufnahme. Moderne elektronische Musik. 16:9 für YouTube.“
Mit Projekt:
„Initialisiere ein Videoprojekt namens 'App-Demo' mit 5 Szenen, insgesamt 60 Sekunden, vertikales Format für TikTok“