Vidéo courte en un clic (orchestration de bout en bout)
Saisissez un thème, une vidéo courte est automatiquement produite. Cette compétence est la couche d'orchestration : elle enchaîne les briques de production existantes — Script (video-script) → Image par phrase (ai-image-gen) ou clip (ai-video-gen) → Doublage (tts-voiceover) → Sous-titres (auto-subtitle) → BGM (ai-music) → Montage (scripts/assemble.py). Issue de l'approche des moteurs de vidéo automatique Pixelle-Video / MoneyPrinterTurbo.
Entrée
- Thème / Script (obligatoire)
- Optionnel : durée souhaitée, style, doublage/sous-titres/BGM, images générées par IA ou assets utilisateur
- Vérification obligatoire du format : si l'utilisateur ou la tâche amont n'a pas précisé l'orientation (paysage/portrait) ou la résolution (16:9/9:16/spécifique), il faut demander et attendre confirmation avant toute génération ou paiement ; ne pas déduire silencieusement de la plateforme, du profil ou d'une valeur par défaut. Si déjà précisé, ne pas redemander.
Sortie
La vidéo finale est écrite dans outputs/nom_du_thème/final.mp4 ; les images storyboard, doublage, sous-titres et le storyboard JSON sont stockés dans outputs/nom_du_thème/assets/.
Étapes d'exécution (ajustables, les étapes sans clé API sont automatiquement dégradées ou demandent confirmation)
-
Écrire le script et le storyboard : utiliser video-script pour rédiger un script de présentation orale à partir du thème, le découper en N phrases (chaque phrase = un plan) et associer à chaque phrase une description visuelle.
-
Générer les visuels (une image ou un clip par plan) :
- Si clé API image disponible → ai-image-gen text2img phrase par phrase (au format confirmé)
- Si besoin de dynamisme → ai-video-gen text2video/image2video
- Si assets utilisateur fournis → utiliser image-editing
padpour les adapter au format confirmé - Sinon → choisir un modèle de carte adapté au format confirmé (portrait : card-xiaohongshu/poster-hero, paysage : card-quote) puis appliquer
padpour éviter toute incohérence de format.
-
Doublage : tts-voiceover synthétise le script en voix-off (produit également un fichier SRT). Si
VOICE_PROVIDERest configuré, utiliser par défaut une voix premium (expressive, réaliste) ; seulement en l'absence de clé, se rabattre sur edge (voix mécanique). Pour une voix-off naturelle, il est impératif de fournir une clé API premium. Ignorer cette étape si aucun doublage n'est souhaité. -
Sous-titres : utiliser le SRT fourni par TTS, ou exécuter auto-subtitle sur le doublage ; on peut aussi laisser l'assembleur générer les sous-titres à partir des légendes de chaque plan.
-
BGM : générer avec ai-music, ou utiliser une musique fournie par l'utilisateur. Optionnel.
-
Montage final : assembler les assets dans un storyboard JSON et lancer le composeur :
python skills/openclaw/auto-short-video/scripts/assemble.py assemble \ --storyboard outputs/nom_du_thème/assets/storyboard.json \ -o outputs/nom_du_thème/final.mp4Structure du storyboard (image ou vidéo, narration/BGM/sous-titres optionnels, durée par défaut répartie également si non précisée) :
{ "size": "<format confirmé, ex. 1080x1920 ou 1920x1080>", "image_motion": "ken-burns", "shots": [ {"image": "outputs/nom_du_thème/assets/shot1.png", "duration": 3, "caption": "Première phrase", "motion": "static"}, {"video": "outputs/nom_du_thème/assets/clip2.mp4", "caption": "Deuxième phrase"} ], "narration": "outputs/nom_du_thème/assets/voice.mp3", "bgm": "outputs/nom_du_thème/assets/bgm.mp3", "subtitle": "outputs/nom_du_thème/assets/voice.srt" }image_motiondéfinit le mouvement par défaut pour toutes les images ;motionsur un plan peut le surcharger : pour les photos, utiliserken-burns; pour les contenus textuels (slides, graphiques, interfaces), utiliser impérativementstatic(redimensionnement proportionnel + remplissage des bords, sans recadrage ni translation). Le composeur effectue automatiquement : génération d'images fixes ou Ken Burns selonimage_motion, remplissage des bords pour correspondre au format, assemblage, mixage doublage+BGM (BGM automatiquement atténué), et incrustation des sous-titres. -
Livraison : produire final.mp4, accompagné d'une note précisant les étapes utilisées et celles qui ont été dégradées.
Principes d'orchestration
- Briques optionnelles : les étapes sans clé API (image, vidéo, TTS) sont automatiquement dégradées (carte de remplacement / pas de doublage) sans bloquer l'ensemble, et l'utilisateur est informé des dégradations effectuées.
- Plan avant exécution : pour les étapes utilisant plusieurs API payantes (génération d'images, vidéos, musique), présenter à l'utilisateur les API appelées, le temps et le coût approximatifs, et attendre confirmation avant de lancer.
- Archivage des intermédiaires : les images storyboard, doublage, sous-titres et storyboard JSON sont conservés dans
outputs/nom_du_thème/assets/, facilitant les remplacements individuels et le réassemblage ultérieur.
Détection du profil utilisateur
- Si un profil est présent : utiliser
style.mdpour la tonalité et le style visuel dans tout le script et les prompts d'images ;platforms.mduniquement pour suggérer le format/durée, mais le format nécessite toujours confirmation ;preferences.mdpour filtrer les contenus interdits. - Sans profil : demander d'abord l'orientation (paysage/portrait), puis utiliser un style de présentation orale générique.