Le projet🔗
Un pipeline Python qui génère, en continu, des vidéos verticales courtes (format 9:16, pour TikTok / Instagram / YouTube Shorts). L'idée est absurde et drôle : Mistral invente une thématique, la découpe en scènes, écrit des prompts pour un modèle de génération vidéo (Agnes), récupère les clips, et les assemble avec ffmpeg.
Aucune intervention humaine. Le pipeline tourne tout seul, produit une vidéo toutes les ~15 minutes, et publie automatiquement sur les plateformes.
Je ne prétends pas que ce projet a une valeur commerciale. C'est de la R&D pure — mais qui m'a appris énormément sur l'orchestration de modèles génératifs et la construction de systèmes résilients.
Le pipeline en 5 étapes🔗
1. Mistral invente une thématique absurde
↓
2. Mistral découpe en scènes + écrit les prompts
↓
3. Agnes génère chaque clip (~90s par scène)
↓
4. Téléchargement des clips
↓
5. Assemblage ffmpeg + upload plateformesSimple en apparence. Mais chaque étape cache ses propres problèmes.
Les 4 défis techniques🔗
Défi 1 : Orchestrer deux modèles aux rythmes très différents🔗
Mistral répond en quelques secondes. Agnes met 90 secondes par clip. Un épisode d'une minute contient 4 à 6 scènes, donc la génération prend 6 à 10 minutes réelles.
Comment gérer cette asymétrie ? Le pipeline est séquentiel pour chaque run mais peut en théorie paralléliser plusieurs runs. Pour l'instant, il tourne en séquentiel — c'est plus simple et ça suffit pour un flux continu.
Défi 2 : Le prompt engineering pour la vidéo🔗
Écrire un prompt pour un LLM texte, je sais faire. Écrire un prompt pour un modèle vidéo, c'est autre chose. Il faut :
- Décrire précisément ce qu'on veut voir (mouvements, cadrage, ambiance)
- Rester dans les limites du modèle (certaines compositions ne marchent pas)
- Assurer une cohérence visuelle entre les scènes — c'est le plus dur
- Gérer la durée : une scène de 8 secondes demande un prompt très différent d'une scène de 3 secondes
Le pipeline utilise un prompt système très structuré : pour chaque scène, on précise le sujet, l'action, le style, la caméra, et l'ambiance. C'est ce qui donne une vidéo cohérente au final — même si le résultat reste volontairement absurde.
Défi 3 : L'assemblage vidéo avec ffmpeg🔗
ffmpeg est puissant mais capricieux. Chaque clip généré arrive avec :
- Son propre codec
- Sa propre résolution
- Son propre ratio (parfois légèrement différent de 9:16)
- Parfois sans piste audio, parfois avec
Le pipeline normalise tout avant assemblage :
# Normalisation d'un clip
ffmpeg -i input.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -preset fast -crf 23 -an normalized.mp4Puis assemblage avec transitions via le filtre concat et xfade.
Défi 4 : La résilience🔗
C'est le défi le plus important — et le moins visible.
Un pipeline qui tourne 24h/24 doit survivre à tout :
- API Mistral qui timeout
- API Agnes qui renvoie une erreur 500
- Téléchargement de clip qui coupe au milieu
- ffmpeg qui plante sur un clip corrompu
- Disque plein
Solution : state.json. À chaque étape réussie, l'état est sauvegardé sur disque. Si le script plante, on le relance — il reprend exactement là où il s'était arrêté, sans régénérer les scènes déjà produites.
C'est ce qui fait la différence entre un prototype et un système de production.
Ce que ça produit🔗
Des vidéos verticales absurdes et drôles, publiées en continu sur TikTok, Instagram et YouTube Shorts. Le contenu n'a pas de prétention artistique — c'est de l'exploration technique.
Mais le pipeline, lui, est un actif sérieux. Il démontre ma capacité à :
- Orchestrer plusieurs modèles génératifs (texte + vidéo)
- Construire un système résilient avec gestion d'état
- Manipuler du média programmatiquement (vidéo, audio)
- Automatiser une chaîne de production complète
Ce que ça m'a appris🔗
1. Les modèles génératifs vidéo sont jeunes🔗
La qualité est encore inégale. Les modèles texte sont matures — un LLM produit du texte cohérent 95% du temps. Les modèles vidéo sont à 60-70% de qualité constante. Il faut anticiper les ratés et prévoir des régénérations.
2. Le meilleur pipeline est celui qui survit🔗
Un pipeline élégant qui plante toutes les 2 heures vaut moins qu'un pipeline banal qui tourne 3 semaines sans intervention. La robustesse est plus importante que l'élégance.
3. La publication automatique est complexe🔗
Les plateformes (TikTok, Instagram, YouTube) ont des APIs restrictives, des quotas, et des règles changeantes. La publication automatique demande beaucoup plus de travail que la génération en elle-même.
Ce que ça peut apporter à une PME🔗
Directement : rien. C'est un projet R&D personnel.
Indirectement : tout. Les compétences mobilisées sont exactement celles dont une PME a besoin pour automatiser des chaînes de production :
- Orchestration d'outils hétérogènes
- Gestion d'état et reprise sur erreur
- Manipulation de fichiers (documents, images, vidéos)
- Automatisation de bout en bout
Une PME qui veut automatiser sa production de contenu social, ses fiches produits, ou ses rapports internes, a besoin des mêmes briques. C'est ce que je construis.
Conclusion🔗
Ce projet est un laboratoire. Il explore les limites de ce qu'on peut faire avec des modèles génératifs, en mode continu, sans intervention.
Le résultat visible est drôle et absurde. Le vrai résultat est un savoir-faire technique — orchestration, résilience, automatisation — que je peux appliquer à des cas concrets de PME.
Vous avez un processus créatif répétitif à automatiser ? Parlons-en. Ce que j'ai appris sur ce projet peut probablement s'appliquer à votre cas.