Curso

Vidéo IA : de l'idée au montage, Veo et formats UGC

Un pipeline qui transforme un brief YAML en publicité de 8 secondes sous-titrée en 9:16, 1:1 et 16:9 : storyboard, prompts vidéo, image-to-video Veo 3.1, voix off Gemini TTS, musique Lyria, montage ffmpeg, et les règles de transparence et de droits qui s'appliquent.

Avanzado 7 lecciones 6h
Empezar el curso
Progreso 0% · 0/7

Este contenido aún no está traducido. Se muestra la versión original.

Vidéo IA : de l'idée au montage, Veo et formats UGC

Une marque de cold brew veut tester une publicité de 8 secondes sur Reels, TikTok, le fil Instagram et YouTube. L'agence demande deux semaines. Un essai « à la main » dans une interface web produit trois clips où la bouteille change de forme d'un plan à l'autre, une musique que personne n'a choisie, aucun sous-titre, et une facture qu'on ne sait pas expliquer.

Ce projet construit l'autre façon de faire : un brief YAML versionné qui passe par un contrôle de conformité et un devis, puis un pipeline qui génère la voix off, l'image produit, deux clips Veo en image-to-video et une musique Lyria, monte le tout avec ffmpeg et livre trois formats sous-titrés de moins de 3 Mo chacun, avec la mention « Contenu généré par IA ». Coût mesuré de la vidéo publiée le 2026-10-15 : **0,575 ∗∗demeˊdias,dont0,40** de médias, dont 0,40 de Veo.

Ce que vous livrez

Les trois formats livrés : 9:16, 1:1, 16:9
Publicité 9:16 livrée (8 s, 1,12 Mo)
Déclinaison 1:1 (0,68 Mo)
Déclinaison 16:9 (0,55 Mo)

La planche du 9:16, une image par seconde : plan 1 en image-to-video depuis l'image produit, plan 2 depuis une image dérivée par édition.

Planche du 9:16, une image par seconde

Le pipeline produit aussi un rapport de validation à envoyer au client : storyboard, prompts exacts, devis, dépense réelle, trois formats.

Rapport de validation

Architecture

flowchart LR
  B["brief.yaml"] --> CF{"Conformité<br/>+ devis ≤ budget"}
  CF -->|"refus"| X["0 $ dépensé"]
  CF --> T["Gemini TTS<br/>voix par plan"]
  T --> CT{"durée ≤ plan<br/>consigne non lue"}
  CT --> IP["Image produit<br/>gemini-3.1-flash-image"]
  IP --> ID["Images dérivées<br/>(édition)"]
  IP --> V["Veo 3.1 Lite<br/>image-to-video 4 s"]
  ID --> V
  V --> LY["Lyria Clip<br/>musique 30 s"]
  LY --> FF["ffmpeg : concat, mixage,<br/>sous-titres, 3 formats"]
  FF --> OUT["MP4 ≤ 3 Mo × 3<br/>SRT, manifeste, rapport"]
  K[("cache des médias payés")] -.-> T
  K -.-> IP
  K -.-> V
  K -.-> LY
ComposantChoixPourquoi
BriefYAML + pydanticrefuse avant l'appel ce que l'API refuserait après (durées, ratios)
Vidéoveo-3.1-lite-generate-preview, 720p, 9:160,05 $/s ; Fast et standard pour les cas qui les justifient (leçon 2)
Image produitgemini-3.1-flash-imagetient l'identité du produit entre les plans pour 0,067 $
Voixgemini-3.8-flash-tts (API Interactions), Vertex : gemini-2.5-flash-ttsstyle en annotation, sortie WAV
Musiquelyria-3-clip-preview30 s instrumentales pour 0,04 $, filigrane SynthID
Montageffmpeg (libass, libfreetype)concat, sidechain, loudnorm, ASS, recadrage ; installé partout
Testspytest, faux générateur ffmpeg27 tests, montage complet sans clé

Coût et durée

CoûtDurée
make test, make run0 $10 s
make e2e (2 clips Lite 4 s, 2 images, 2 voix, 1 musique)0,575 (devis),0,507(devis), 0,507 payés lors de l'exécution finale, le reste venant du cache106 s
Journée de mise au point, essais ratés compris~0,63 $
Formation6 h

Prérequis

  • Python 3.10 ou plus, ffmpeg 4.4 ou plus avec libass, police DejaVu Sans.
  • Une clé Gemini API sur un projet avec facturation (Veo n'a pas de palier gratuit), ou un projet Vertex AI.
  • À l'aise avec la ligne de commande et Python ; aucune expérience du montage vidéo requise.

Programme

LeçonCe que vous faitesCe qui marche à la fin
1. Brief, storyboard et découpagebrief exécutable, plans de 4 s, bible visuellemake test : 27 tests verts
2. Prompts vidéo et choix du modèleprompt structuré, Lite/Fast/standard, devisrun.py --plan affiche devis et prompts
3. Image produit et image-to-videocohérence par l'image, opération Veo, cachedeux clips Veo réels de 4 s
4. Voix off et musiqueTTS par plan, contrôle de durée et de transcription, Lyriavoix mesurées, musique de 30 s
5. Montage, sous-titres et formatsconcat, mixage, ASS, recadrage, taillemake run : 3 MP4 sous-titrés
6. Formats UGC, transparence et droitsce qui fonctionne, ce qui est interdit, SynthIDun faux témoignage refusé avant génération
7. Exécution réelle, coûts et exploitationmake e2e, coût par vidéo publiée, Vertex AI, nettoyagepublicité livrée, make clean vérifié

Le dépôt complet est dans files/ : README, Makefile, brief.yaml.

En local ou avec Google Cloud

Sans GCP (clé Gemini API)Avec GCP (Vertex AI)
ConfigurationGOOGLE_API_KEY dans .envGOOGLE_GENAI_USE_VERTEXAI=TRUE, GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION
Voix offgemini-3.8-flash-tts, style par annotationgemini-2.5-flash-tts (testé en europe-west1), style ignoré
Veo, Lyriatestés le 2026-10-15code identique, identifiants à vérifier par région, non exécutés ici
Ressources crééesaucuneaucune (appels d'API uniquement)

Recursos

Descargar todo (.zip)

Referencias