Que fait Producteur vidéo ?
Créez des vidéos complètes avec voix off, musique et visuels.
Il s'agit d'une compétence orchestratrice qui combine :
- Génération de script/storyboard (Claude)
- Synthèse vocale (Gemini TTS)
- Musique de fond (Lyria)
- Génération de clips vidéo (Veo 3.1) ou animation d'images
- Assemblage final (FFmpeg via media-utils)
Flux de travail
Étape 1 : Recueillir les exigences (OBLIGATOIRE)
⚠️ NE SAUTEZ PAS cette étape. N'exécutez PAS init_project.py tant que vous n'avez pas TOUTES les réponses.
Utilisez le questionnement interactif — posez UNE question à la fois, attendez la réponse, puis posez la suivante. Cela crée un processus collaboratif piloté par les spécifications.
Déroulement des questions
⚠️ Utilisez l'outil AskUserQuestion pour chaque question ci-dessous. N'affichez pas simplement les questions dans votre réponse — utilisez l'outil pour créer des invites interactives avec les options présentées.
Q1 : Sujet
« Je vais créer cette vidéo ! Tout d'abord — de quoi s'agit-il ?
(par exemple, lancement de produit, histoire de marque, tutoriel, explicatif — ou décrivez le vôtre) »
Attendez la réponse.
Q2 : Durée
« Quelle doit être la durée de la vidéo ?
- 15 secondes (accroche rapide)
- 30 secondes (publicité standard)
- 60 secondes (explicatif)
- 2 minutes ou plus (détaillé)
- Ou spécifiez votre propre durée »
Attendez la réponse.
Q3 : Style
« Quel style visuel ?
- Haut de gamme/luxe
- Amusant/ludique
- Corporate/professionnel
- Dramatique/cinématographique
- Minimaliste/propre
- Ou décrivez votre propre style »
Attendez la réponse.
Q4 : Assets
« Avez-vous des images ou des clips vidéo existants à utiliser ?
- Non, tout générer
- Oui, j'ai des images (fournir les chemins)
- Oui, j'ai des clips vidéo (fournir les chemins) »
Attendez la réponse.
Q5 : Stratégie audio
« Comment devons-nous gérer l'audio ?
- Personnalisé — Je génère la voix off + la musique de fond
- Veo natif — Utiliser les dialogues/SFX/ambiance intégrés de Veo
- Silencieux — Pas d'audio, ajout ultérieur »
Attendez la réponse.
Q6 : Voix (si audio personnalisé)
« Quel ton de voix pour la voix off ?
- Professionnel
- Amical/chaleureux
- Énergique
- Calme/apaisant
- Dramatique
- Ou décrivez votre propre ton »
Attendez la réponse.
Q7 : Musique (si audio personnalisé)
« Quelle ambiance musicale ?
- Électronique moderne
- Cinématographique/épique
- Pop dynamique
- Ambient/détente
- Corporate
- Ou décrivez votre propre style »
Attendez la réponse.
Q8 : Format
« Quel ratio d'aspect ?
- 16:9 (YouTube, web)
- 9:16 (TikTok, Reels, Shorts)
- 1:1 (flux Instagram) »
Attendez la réponse.
Q9 : Résolution
« Quelle résolution ?
- 720p (génération plus rapide)
- 1080p (HD standard) »
Attendez la réponse.
Q10 : Modèle
« Quel modèle Veo ?
veo-3.1— Dernier, meilleure qualité (par défaut)veo-3.1-fast— Génération plus rapide, qualité légèrement inférieureveo-3— Génération précédenteveo-3-fast— Génération précédente, plus rapide »
Attendez la réponse.
Référence rapide
| Question | Détermine |
|---|---|
| Sujet | Contenu des scènes et prompts |
| Durée | Nombre de scènes (les clips Veo doivent durer 4, 6 ou 8 secondes) |
| Style | Prompts visuels et sélection musicale |
| Assets | Générer vs utiliser l'existant |
| Audio | custom, veo_audio, ou silent |
| Voix | Sélection de la voix TTS |
| Musique | Prompt Lyria |
| Format | Ratio d'aspect pour Veo |
| Résolution | Qualité de sortie 720p ou 1080p |
| Modèle | veo-3.1, veo-3.1-fast, veo-3, veo-3-fast |
Étape 2 : Initialiser le projet
Une fois que vous avez les réponses de l'utilisateur, initialisez le projet avec ses préférences :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
--name "Vidéo de lancement produit" \
--duration 30 \
--aspect-ratio 16:9 \
--audio-strategy custom \
--scenes 5
Étape 3 : Configurer project.json
Modifiez project.json avec les prompts de scène, le texte de la voix off et le style musical en fonction des réponses de l'utilisateur.
Étape 4 : Assembler la vidéo
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
--project ~/mon_projet_video/
Structure du projet
Lorsque vous initialisez un projet, cette structure de dossiers est créée :
mon_projet/
├── project.json # Configuration : scènes, voix off, musique, paramètres
├── storyboard.md # Document de planification de la vidéo
├── scenes/ # Clips vidéo générés par Veo
│ ├── scene1_intro.mp4
│ ├── scene2_features.mp4
│ └── scene3_cta.mp4
├── audio/ # Assets audio
│ ├── voiceover.wav # Voix off générée
│ ├── background_music.wav # Musique générée
│ └── final_mix.mp3 # Piste audio mixée
├── work/ # Fichiers intermédiaires (générés automatiquement)
│ ├── silent_scene1.mp4
│ ├── video_concatenated.mp4
│ └── ...
└── output/ # Livrables finaux
└── video_lancement_produit_finale.mp4
Scripts
init_project.py
Initialise un nouveau projet vidéo avec la structure de dossiers et les modèles.
# Projet de base
python3 init_project.py --name "Ma vidéo" --duration 30
# Créer dans un répertoire spécifique
python3 init_project.py --name "Vidéo de démo" --output ~/Videos/
# Vidéo verticale pour les réseaux sociaux
python3 init_project.py --name "Reel Instagram" --aspect-ratio 9:16 --duration 15
# Utiliser l'audio natif de Veo (pas de voix off/musique personnalisée)
python3 init_project.py --name "Scène cinématographique" --audio-strategy veo_audio
# Plus de scènes
python3 init_project.py --name "Vidéo longue" --duration 60 --scenes 5
Options :
| Option | Défaut | Description |
|---|---|---|
--name | requis | Nom du projet |
--output | répertoire courant | Répertoire parent |
--duration | 30 | Durée cible en secondes |
--aspect-ratio | 16:9 | 16:9, 9:16, 1:1, 4:3 |
--audio-strategy | custom | custom, veo_audio, silent |
--scenes | 3 | Nombre d'espaces réservés de scènes |
assemble.py
Orchestre le pipeline complet d'assemblage vidéo.
# Pipeline complet (tout générer + assembler)
python3 assemble.py --project ~/mon_projet/
# Ignorer la génération (utiliser les fichiers de scène/audio existants)
python3 assemble.py --project ~/mon_projet/ --skip-generation
# Test à blanc (montrer ce qui serait fait)
python3 assemble.py --project ~/mon_projet/ --dry-run
Étapes du pipeline :
- Générer les scènes vidéo (Veo 3.1)
- Supprimer l'audio des scènes (si audio personnalisé)
- Générer la voix off (Gemini TTS)
- Générer la musique de fond (Lyria)
- Mixer la voix off + musique
- Concaténer les clips vidéo
- Fusionner l'audio avec la vidéo
- Générer la vidéo finale
Configuration project.json
{
"name": "Vidéo de lancement produit",
"duration_target": 30,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio_strategy": "custom",
"scenes": [
{
"id": 1,
"name": "scene1_hero",
"prompt": "Zoom cinématographique lent sur un produit haut de gamme, éclairage dramatique, style commercial haut de gamme",
"duration": 6,
"notes": "Musique uniquement, pas de voix off"
},
{
"id": 2,
"name": "scene2_features",
"prompt": "Démonstration des fonctionnalités du produit, animations élégantes, esthétique tech moderne",
"duration": 8,
"notes": "La voix off commence ici"
},
{
"id": 3,
"name": "scene3_cta",
"prompt": "Produit avec logo sur fond propre, moment d'appel à l'action",
"duration": 6,
"notes": "La musique monte, la voix off se termine"
}
],
"voiceover": {
"enabled": true,
"text": "Découvrez le futur de l'audio. Un son cristallin. Un confort toute la journée. Vivez la différence.",
"voice": "Charon",
"style": "Professionnel, confiant, voix de marque haut de gamme"
},
"music": {
"enabled": true,
"prompt": "électronique moderne, haut de gamme, élégant, vitrine produit, basse subtile",
"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
}
}
Stratégies audio
| Stratégie | Description | Quand l'utiliser |
|---|---|---|
custom | Supprimer l'audio Veo, ajouter voix off + musique personnalisée | La plupart des vidéos |
veo_audio | Conserver l'audio généré par Veo (dialogues, SFX) | Scènes cinématographiques, dialogues |
silent | Supprimer l'audio, générer une vidéo silencieuse | Ajout d'audio ultérieur |
Flux de travail : Créer une vidéo
Étape 1 : Initialiser le projet
python3 init_project.py --name "Promotion écouteurs sans fil" --duration 30
Étape 2 : Planifier le storyboard
Modifiez storyboard.md pour planifier la structure de votre vidéo :
## Scène 1 : Révélation du héros (0-5s)
- Visuel : Écouteurs émergeant de l'ombre, éclairage haut de gamme
- Audio : Musique uniquement (intro dramatique)
## Scène 2 : Qualité sonore (5-12s)
- Visuel : Ondes sonores, personne profitant de la musique
- Audio : Voix off : « Son cristallin. Basses immersives. »
## Scène 3 : Confort (12-20s)
- Visuel : Gros plan de l'ajustement, personne courant
- Audio : Voix off : « Confort toute la journée. Maintien sécurisé. »
## Scène 4 : Appel à l'action (20-30s)
- Visuel : Produit + logo
- Audio : Voix off : « Vivez la différence. » + montée musicale
Étape 3 : Configurer project.json
Remplissez les prompts de scène, le texte de la voix off et le style musical en fonction de votre storyboard.
Étape 4 : Assembler
python3 assemble.py --project ~/promotion_ecouteurs_sans_fil/
Étape 5 : Réviser et itérer
Vérifiez la sortie dans output/. Si des ajustements sont nécessaires :
# Réexécuter avec les scènes existantes (juste ré-mixer l'audio)
python3 assemble.py --project ~/promotion_ecouteurs_sans_fil/ --skip-generation
Ce que vous pouvez créer
| Type | Exemple |
|---|---|
| Vidéo produit | Vidéo héros de 30s présentant un produit |
| Vidéo explicative | Tutoriel ou explication de fonctionnalité |
| Vidéo promo/pub | Publicité marketing |
| Vidéo démo | Démonstration de produit |
| Vidéo de formation | Contenu de formation interne |
| Témoignage | Vidéo style citation client |
| Vidéo de marque | Histoire de l'entreprise/de la marque |
Prérequis
GOOGLE_API_KEY- Pour Veo (vidéo), Gemini TTS (voix), Lyria (musique)- FFmpeg installé :
brew install ffmpeg
Styles vidéo et associations musicales
| Style | Prompt musical | Voix |
|---|---|---|
| Haut de gamme/Luxe | « élégant, minimal, ambiant, sophistiqué » | Charon (informatif) |
| Tech/Moderne | « électronique, futuriste, propre, innovant » | Kore (ferme) |
| Amusant/Ludique | « dynamique, joyeux, acoustique, positif » | Puck (enthousiaste) |
| Corporate | « professionnel, inspirant, orchestral léger » | Orus (ferme) |
| Lifestyle | « chill, aspirant, indie, chaleureux » | Aoede (léger) |
| Dramatique/Cinématographique | « épique, orchestral, émotionnel, montant » | Gacrux (mature) |
Structures vidéo courantes
Vidéo produit (30s)
0-5s : Plan héros (musique uniquement)
5-15s : Fonctionnalités (voix off + musique)
15-25s : Mode de vie/cas d'usage (voix off + musique)
25-30s : Logo + CTA (fondu musical)
Vidéo explicative (60s)
0-5s : Accroche/énoncé du problème
5-20s : Présentation de la solution
20-45s : Comment ça marche (3 étapes)
45-55s : Résumé des avantages
55-60s : CTA
Vidéo témoignage (45s)
0-5s : Introduction/carte de nom
5-35s : Citation du témoignage (plusieurs scènes)
35-45s : Plan produit + logo
Flux de travail manuel (sans scripts)
Si vous préférez exécuter chaque étape manuellement :
Générer les scènes :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--batch scenes.json
Générer la voix off :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
--text "Votre texte de voix off..." \
--voice Charon \
--style "Professionnel, chaleureux"
Générer la musique :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
--prompt "électronique moderne, haut de gamme" \
--duration 35
Supprimer l'audio des clips :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
-i scene*.mp4
Concaténer les vidéos :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
-i silent_*.mp4 --transition fade -o video.mp4
Mixer l'audio :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
--voice voiceover.wav --music music.wav -o audio.mp3
Fusionner l'audio + vidéo :
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
--video video.mp4 --audio audio.mp3 -o final.mp4
Fichiers d'entrée que vous pouvez fournir
| Type de fichier | Comment il est utilisé |
|---|---|
| Images produit | Animer avec Veo comme première image |
| Logo (PNG) | Superposer sur la scène finale |
| Voix off existante | Placer dans audio/voiceover.wav |
| Musique de marque | Placer dans audio/background_music.wav |
| Clips vidéo | Placer dans le dossier scenes/ |
| Script/texte | Utiliser pour le texte de la voix off |
Limitations
- Durée des vidéos Veo : Maximum 8 secondes par clip (concaténer pour plus long)
- Veo 3.1 inclut l'audio : Tous les clips ont un audio généré (supprimer si utilisation personnalisée)
- Temps de traitement : La génération vidéo prend 1 à 3 minutes par clip
- Résolution : Actuellement 720p ou 1080p (1080p pour 8s uniquement)
Gestion des erreurs
| Erreur | Solution |
|---|---|
| « GOOGLE_API_KEY non définie » | Configurer la clé API selon le README |
| « FFmpeg introuvable » | Installer : brew install ffmpeg |
| « project.json introuvable » | Exécuter init_project.py d'abord |
| Délai d'attente de génération vidéo | Réessayer, ou utiliser une durée plus courte |
| Problèmes de synchronisation audio/vidéo | Ajuster les durées des scènes |
Exemples de prompts
Simple :
« Crée une vidéo produit de 30 secondes pour ma nouvelle cafetière »
Détaillé :
« Crée une vidéo produit de 45 secondes pour nos nouveaux écouteurs sans fil. Ambiance haut de gamme, luxe. J'ai des photos produit jointes. Voix off masculine professionnelle. Musique électronique moderne. 16:9 pour YouTube. »
Avec projet :
« Initialise un projet vidéo appelé 'Démo Application' avec 5 scènes, 60 secondes au total, format vertical pour TikTok »