Skip to content
Étude de cas · ContentForge (projet interne) 2026

Pipeline vidéo verticale : script → voix → rendu → publication.

Une pipeline vidéo verticale en 7 étapes qui prend un sujet et livre un clip publié sans que personne ne touche à une caméra.

7

Étapes du pipeline

81

Tests

21

Commits jusqu'au MVP

Contexte

La vidéo verticale dévore l’attention. Chaque courtier retail-investor, marque de dev-tooling et SaaS B2B publie des clips de 30 secondes trois fois par semaine. Le coût de NE PAS être sur YouTube Shorts et TikTok devient de plus en plus mesurable ; le coût d’y être à qualité studio, c’est un monteur vidéo sous contrat.

ContentForge est la réponse à « et si un studio d’une personne livrait une chaîne sans visage sans jamais ouvrir d’application caméra. » Il choisit les sujets, écrit les scripts, génère les voix, source le footage de stock, rend les vidéos verticales, les filtre via une revue Telegram, et publie sur YouTube, le tout sans intervention humaine au-delà du prompt quotidien d’approbation/rejet.

Brief

  • Cadence quotidienne de clips sur une seule niche, sur une seule chaîne, pour moins de 5 €/mois en coûts API.
  • Interaction opérateur limitée à une approbation/rejet Telegram chaque matin.
  • Stratégie de fournisseurs pluggable, échanger Claude pour Perplexity, ElevenLabs pour Coqui, sans réécriture.
  • Code source disponible, les clients doivent pouvoir forker la pipeline pour leur propre niche.
  • Couverture de tests sur chaque étape du pipeline (~80%+) pour que les futurs échanges ne cassent pas en silence.

Architecture

Une pipeline BullMQ en 7 étapes tournant sur Node + TypeScript :

  1. Topic Scout, Claude Code CLI (lié à l’abonnement, 0 $/article) ou Perplexity pour les niches d’actualité fraîche.
  2. Script Writer, Claude Sonnet avec des prompts de tone-of-voice spécifiques à la niche.
  3. Asset Generator, API Pexels + Unsplash pour le footage de stock et les photos.
  4. Video Composer, templates verticaux Remotion 4 (layout listicle 9:16, intro/outro de marque).
  5. Review Gateway, bot Telegram (lxc-notify) envoie un aperçu, attend l’approbation/rejet.
  6. Publisher, YouTube Data API v3 avec flag de scheduled-publish.
  7. Analytics, scrape léger du nombre de vues + rétention réinjecté dans le signal du topic-scout.

Chaque étape est son propre worker BullMQ. Redis est la file + le store d’état. Cron déclenche le Topic Scout quotidiennement à 06h00 ; le reste cascade. 6 workers tournent en parallèle sous un seul processus Node ; l’orchestration est BullMQ flows.

La forme provider-agnostic (TOPIC_PROVIDER=claude|perplexity, SCRIPT_PROVIDER=claude|gemini, etc.) est la décision de design la plus difficilement gagnée. Elle a fait des échanges d’étapes une édition de config de 5 minutes au lieu d’une réécriture.

Résultats

  • 7 étapes de pipeline, toutes async, toutes testées unitairement.
  • 81 tests unitaires + d’intégration répartis sur 15 fichiers de test.
  • 21 commits d’un repo vide à un MVP en production.
  • Coût API par clip se situe entre 0,10 € et 0,50 € selon la longueur du script et le nombre d’images de stock.
  • La revue Telegram transforme un check-in quotidien de 90 secondes en seul coût opérateur.
  • Les fournisseurs pluggables signifient qu’ajouter une nouvelle niche est un changement de config, pas un fork.

Captures

[FILL: remplacer par des captures anonymisées du dashboard BullMQ, du prompt de revue Telegram avec une miniature, et de l’aperçu du template Remotion. Éviter les captures qui montrent la chaîne effectivement publiée, garder la niche hors de l’étude de cas pour que la même pipeline puisse servir de futurs engagements clients.]

La suite

Trois éléments sur la liste de la prochaine itération :

  1. Fournisseur de browser-automation pour la génération d’assets, Nano Banana pour les photos, Google Flow ou Runway pour le B-roll court. Les bibliothèques de stock atteignent un mur sur les requêtes de niche ; les assets génératifs sont l’étape suivante.
  2. Publisher multi-plateformes, le flux YouTube-only actuel s’étend naturellement à TikTok, Instagram Reels, LinkedIn Video. L’étape Publisher est à un seul switch statement de distance.
  3. Dashboard d’analytics par clip, l’étape Analytics actuelle réinjecte vers Topic Scout mais n’est pas visible à l’opérateur. Une petite app Vite lisant l’état Redis fermerait la boucle.

The tech

Technologies utilisées

  • Node
  • TypeScript
  • Remotion
  • BullMQ
  • Redis
  • Claude
  • ElevenLabs
  • Pexels

Ce que je ferais autrement

Figer Remotion sur une seule version majeure dès le départ et sandboxer le renderer dans Vercel Sandbox dès le début, au lieu de lancer les rendus en-process et de chasser les fuites de mémoire.

Vous voulez quelque chose de similaire pour votre équipe ?

Appel de découverte de 30 minutes. Aucun pitch deck. On parle de ce que vous voulez livrer, de ce qui bloque, et si je peux aider. Si oui, vous obtenez un devis fixe sous une semaine.