Lección 2 — Cadrer : brief, storyboard et prompts

Prompts vidéo et choix du modèle Veo

8 min de lectura

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

Prompts vidéo et choix du modèle Veo

Deux prompts pour le même plan. Le premier : « une bouteille de cold brew sur un comptoir, ambiance café le matin ». Le second décrit le sujet, l'action, la caméra, la focale, la lumière et le son. Le premier donne un clip différent à chaque essai, parce que le modèle comble seul tout ce que vous n'avez pas fixé : angle, mouvement, heure, bande-son. À 0,05 lasecondeenLiteet0,40la seconde en Lite et 0,40 en standard, chaque trou dans le prompt se paie en essais.

Le mécanisme : un prompt est une fiche technique de tournage

La documentation Veo liste les éléments qu'un prompt doit couvrir : sujet, action, style, position et mouvement de caméra, composition, mise au point et objectif, ambiance. Veo 3.1 génère aussi le son : dialogues entre guillemets, effets sonores et ambiance décrits explicitement. Le code assemble ces éléments toujours dans le même ordre, à partir du plan et de la bible.

flowchart TB
  subgraph Bible["Bible (identique pour tous les plans)"]
    BP["produit"]
    BD["décor"]
    BL["lumière + style"]
  end
  subgraph Plan["Plan p2"]
    S["sujet"]
    A["action (une seule)"]
    C["caméra + objectif"]
    So["son"]
    D["dialogue entre guillemets, ou « no dialogue »"]
  end
  Bible --> P["prompt_video()"]
  Plan --> P
  N["exclusions (« Avoid: … »)"] --> P
  P --> V["Veo : 1 024 tokens maximum"]
ÉlémentCe qu'il fixeFormulation qui marcheFormulation qui ne fixe rien
Sujetce qui est à l'image« a 25 cl clear glass bottle, kraft label reading CALADE »« notre produit »
Actionle seul mouvement du plan« a condensation droplet slowly runs down the glass »« vivant, dynamique »
Camérahauteur, mouvement« slow push-in, eye level, perfectly stable »« cinématique »
Objectiffocale, profondeur de champ« 85mm macro feel, focus locked on the label »« beau flou »
Lumièredirection, couleur, heure« low golden sunrise light from the left »« belle lumière »
Sonambiance, bruitages« distant espresso machine hiss, soft street noise »(rien : Veo invente une musique)
Dialoguetexte exact prononcé à l'écran"Je le bois chaque matin." entre guillemets« elle dit qu'elle aime le produit »

Deux règles tirées des essais du 2026-10-15. Écrivez le prompt en anglais : la documentation indique que l'anglais est pleinement pris en charge et que les autres langues donnent des résultats variables. Le texte prononcé (dialogue, voix off) reste en français. Et quand le plan ne doit contenir ni voix ni musique, dites-le : sans « no dialogue, no music », Veo ajoute volontiers une musique d'ambiance qui se battra avec la vôtre au mixage.

files/pubcourte/prompts.py (extrait)
def prompt_video(b: Brief, plan: Plan) -> str:
    bi = b.bible
    morceaux = [
        f"Subject: {plan.sujet}. The product is {bi.produit}.",
        f"Setting: {bi.decor}.",
        f"Action: {plan.action}.",
        f"Camera: {plan.camera}.",
    ]
    if plan.objectif:
        morceaux.append(f"Lens and focus: {plan.objectif}.")
    morceaux.append(f"Lighting: {bi.lumiere}. Style: {bi.style}.")
    if plan.son:
        morceaux.append(f"Audio: {plan.son}.")
    if plan.dialogue:
        morceaux.append(f'Dialogue, spoken on screen: "{plan.dialogue}"')
    else:
        morceaux.append("No dialogue, no voice, no music: ambient sound only.")
    if b.video.negatif:
        # Écrit dans le prompt plutôt qu'en paramètre negative_prompt, que Veo 3.1 Lite refuse.
        morceaux.append(f"Avoid: {b.video.negatif}.")
    ...

Le commentaire sur negative_prompt vient d'un échec réel, détaillé plus bas.

Les trois modèles Veo 3.1 disponibles avec une clé Gemini API

Tarifs officiels du palier payant, relevés le 2026-10-15 sur la page de tarification, audio inclus. Veo n'est facturé que si la vidéo est produite : un clip bloqué par les filtres ne coûte rien.

Modèle720p1080p4KImages de référenceExtension8 s en 720p
veo-3.1-generate-preview0,40 $/s0,40 $/s0,60 $/sjusqu'à 3oui3,20 $
veo-3.1-fast-generate-preview0,10 $/s0,12 $/s0,30 $/sjusqu'à 3oui0,80 $
veo-3.1-lite-generate-preview0,05 $/s0,08 $/snonnonnon0,40 $

Les trois acceptent le texte seul, l'image de départ (image-to-video) et l'interpolation entre une première et une dernière image ; 1080p et 4K imposent des clips de 8 s. Les trois sont en préversion : identifiants et tarifs peuvent changer. La page vidéo de la documentation recommande désormais Gemini Omni Flash comme modèle vidéo par défaut ; ce projet reste sur Veo, dont le paramétrage plan par plan (durée, ratio, image de départ) colle au découpage d'un storyboard.

Le devis sort avant tout appel :

.venv/bin/python run.py --plan
{
  "devis_usd": {
    "video": 0.4,
    "images": 0.134,
    "voix": 0.001,
    "musique": 0.04,
    "total": 0.575
  },
  "blocages": [],
  ...

Résultat obtenu

Exécution du 2026-10-15, premier essai réel sur veo-3.1-lite-generate-preview avec un paramètre negative_prompt :

POST .../models/veo-3.1-lite-generate-preview:predictLongRunning "HTTP/1.1 400 Bad Request"
google.genai.errors.ClientError: 400 INVALID_ARGUMENT. {'error': {'code': 400, 'message':
"`negativePrompt` isn't supported by this model. Please remove it or refer to the Gemini API
documentation for supported usage.", 'status': 'INVALID_ARGUMENT'}}

L'erreur est gratuite (aucune vidéo produite). La correction : les exclusions passent dans le texte (« Avoid: on-screen text overlays, extra bottles, visible faces… »), ce qui fonctionne sur les trois modèles. Le test test_bible_dans_chaque_plan vérifie depuis que chaque prompt se termine par cette ligne.

Ce qui casse en production

SymptômeCauseParade
400 negativePrompt isn't supportedparamètre accepté par Veo standard, refusé par Liteexclusions écrites dans le prompt
Musique parasite dans le clipson non spécifié : Veo en invente un« No dialogue, no voice, no music: ambient sound only »
Le personnage dit autre chose que le texte prévuréplique paraphrasée au lieu d'être citéeréplique entre guillemets, courte (moins de 4 s de parole par plan de 4 s)
Texte illisible ou inventé sur l'étiquettele modèle génère des lettresétiquette fixée par l'image de départ (leçon 3), « distorted label » dans les exclusions
Facture triplée sans meilleur résultatpassage en standard « pour la qualité » sur des brouillonsbrouillons en Lite 720p, standard réservé au plan final validé

La règle de décision

Prototypez en Lite 720p : à 0,05 /s,unstoryboardde8scou^te0,40/s, un storyboard de 8 s coûte 0,40 et l'on peut itérer. Passez en Fast quand il faut des images de référence (un personnage récurrent, un produit vu sous plusieurs angles) ou l'extension d'un clip. Réservez le standard au rendu final d'un plan validé, en 1080p ou 4K, quand la diffusion le justifie (télévision connectée, grand écran). Pour un format social vu sur téléphone, le 720p Lite tient la comparaison sur la plupart des plans produit ; vérifiez-le sur votre propre contenu avant de payer 8 fois plus.

Pratique

Votre clip Lite contient une musique d'ascenseur que personne n'a demandée. Que modifiez-vous en premier ?

Une marque veut le même personnage fictif dans 12 publicités. Quel modèle choisissez-vous pour la production ?

Exercice. Écrivez le plan d'un format « face caméra » de 6 s : une barista fictive dit « Seize heures d'infusion, zéro amertume. ». Quels champs remplissez-vous, quelle réplique va dans dialogue plutôt que dans voix, et quel modèle choisissez-vous pour un premier essai ?

Voir la solution
  - id: p1
    duree: 6
    image: "Portrait of a fictional adult barista behind the same zinc counter, holding the bottle at chest height, looking at camera."
    sujet: "a fictional adult barista in a dark apron, holding the cold brew bottle"
    action: "she looks into the camera and speaks one sentence with a slight smile"
    camera: "static medium close-up, eye level, portrait framing"
    objectif: "50mm, focus on her face, bottle sharp"
    son: "quiet café ambience, no music"
    dialogue: "Seize heures d'infusion, zéro amertume."

La phrase va en dialogue : le personnage la prononce à l'écran, la synchronisation labiale vient de Veo. Elle doit tenir en moins de 6 s. Premier essai en Lite 720p (0,30 $). Ce format est un « face caméra » : la leçon 6 montre que le pipeline exige alors temoignage.fictif_assume: true et une mention « personnage fictif » à l'écran, sinon il refuse de générer. Le dialogue en français est accepté, mais la documentation annonce des résultats variables hors anglais : prévoyez un deuxième essai dans le budget.

  • J'écris un prompt vidéo qui fixe sujet, action, caméra, objectif, lumière et son
  • Je cite les répliques entre guillemets et je dis explicitement quand il n'y en a pas
  • Je choisis Lite, Fast ou standard selon le besoin (itération, références, diffusion)
  • Je lis le devis de run.py --plan avant toute génération
Siguiente