Dev.to AI 🤖 Ai 👁 0 📖 9 min read

Comment prolonger une vidéo avec Gemini Omni 1.2 Flash

Réponse rapide : Pour étendre une vidéo avec Gemini Omni 1.2 Flash, envoyez votre clip et un court prompt de continuation à l'API Interactions. Chaque tour ajoute 3 à 10 secondes et renvoie le clip allongé. L'API Gemini

Comment prolonger une vidéo avec Gemini Omni 1.2 Flash

Réponse rapide : Pour étendre une vidéo avec Gemini Omni 1.2 Flash, envoyez votre clip et un court prompt de continuation à l'API Interactions. Chaque tour ajoute 3 à 10 secondes et renvoie le clip allongé. L'API Gemini plafonne à 30 secondes au total. L'Agent Platform de Google Cloud atteint 40, mais uniquement si vous planifiez chaque étape pour qu'elle ne rogne pas votre début.

Essayez Apidog dès aujourd'hui

Pour des conseils sur la rédaction des prompts, consultez notre guide sur l'extension de scènes avec Omni 1.1. Ce guide couvre les nouveautés : les requêtes, les calculs d'enchaînement et le coût d'un clip de 40 secondes.

Comment fonctionne l'extension vidéo de Gemini Omni 1.2 Flash

L'extension vidéo génère une suite à la fin d'un clip. Le modèle lit jusqu'aux 10 dernières secondes de votre entrée comme contexte, écrit 3 à 10 nouvelles secondes et les raccorde au clip. Il ne fait qu'ajouter à la suite : impossible d'insérer des images au début ou de prolonger le milieu.

Google documente des limites différentes selon l'endroit où vous appelez le modèle :

Gemini API Agent Platform (Google Cloud)
Authentification Clé API Projet et jeton d'accès
Durée totale 30 secondes 40 secondes
Durée de l'entrée Aucune limite distincte indiquée Toute durée
Images de référence Jusqu'à 6 sur Omni Jusqu'à 2 par extension
Mode d'extension Prompt d'abord, task en secours task: "extend" dans tous les exemples
Seed et labels Absents de la documentation Omni generation_config.seed, labels
Résultats stockés 55 jours sur le forfait payant Jusqu'à 7 jours

Sources : la documentation Omni de l'API Gemini et la documentation d'extension d'Agent Platform.

Sur Agent Platform, le modèle lit jusqu'aux 10 dernières secondes, puis concatène le nouveau segment aux 30 dernières secondes de l'entrée au maximum. L'exemple de Google étend une entrée de 60 secondes de 10 secondes et renvoie 40 secondes : les 30 premières secondes disparaissent.

Chronologie montrant un clip d'entrée de 60 secondes où les 30 premières secondes sont supprimées, les 30 dernières sont conservées, le modèle lit les 10 dernières secondes, et la sortie de 40 secondes correspond aux 30 secondes conservées plus 10 nouvelles secondes.

Vous n'avez aucun montage à faire vous-même, puisque la sortie inclut les images précédentes. Google modifie toutefois quelques dernières images de votre entrée pour adoucir la transition.

Ce qui change pour l'extension en 1.2

  • Clips de départ de 15 secondes. La version 1.1 plafonnait à 10. Chaque tour d'extension reste limité à 10 secondes.
  • Images de référence, seed et labels sur les requêtes d'extension d'Agent Platform.
  • Nouvelle syntaxe de prompt. Google a rendu obsolètes les balises telles que <IMAGE_REF_0>, utilisées par les anciens guides. Décrivez chaque image en langage naturel.
  • Nouveau type d'entrée. Les exemples actuels envoient "type": "video", et non le type document des exemples 1.1.

Étendre une vidéo pas à pas sur l'API Gemini

  1. Générez un clip, ou importez-en un via l'API Files. Les fichiers importés sont supprimés après 48 heures.
  2. Décrivez uniquement ce qui se passe ensuite.
  3. Définissez duration de "3s" à "10s" (10 par défaut).
  4. Conservez l'identifiant d'interaction pour le tour suivant.
from google import genai

client = genai.Client()

first = client.interactions.create(
    model="gemini-omni-1.2-flash",
    input="A courier in a yellow jacket cycles through a rainy night market.",
    response_format={"type": "video", "duration": "15s"},
)

second = client.interactions.create(
    model="gemini-omni-1.2-flash",
    previous_interaction_id=first.id,
    input="The courier brakes at a red door. Keep the same yellow jacket.",
    response_format={"type": "video", "duration": "10s", "delivery": "uri"},
)

Pour étendre vos propres images, remplacez previous_interaction_id par un tableau d'entrées contenant {"type": "video", "uri": video_file.uri} et un élément de texte.

  • Omettez task au départ. Google indique qu'il ajoute des contraintes strictes ; définissez "task": "extend" dans video_config uniquement en dernier recours.
  • Utilisez delivery: "uri" au-delà de 4 Mo. Enregistrez l'URI de la réponse de création. Un GET ultérieur renvoie du base64 en ligne, même pour les requêtes URI.
  • Laissez store activé. Avec store: false, impossible de poursuivre à partir de cet identifiant d'interaction.

Les imports sont soumis à deux limites supplémentaires : pas d'ajout de dialogue lorsqu'une personne parle, et pas d'extension depuis l'Espace économique européen, la Suisse ou le Royaume-Uni. L'extension multi-tours d'une vidéo générée permet d'éviter ces deux restrictions.

Exemple de requête pas à pas sur Agent Platform

Empruntez cette voie pour atteindre 40 secondes ou pour bénéficier d'une file d'attente de tâches. La génération peut prendre plus d'une minute : envoyez donc ce corps en POST à https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions avec background activé :

{
  "model": "gemini-omni-1.2-flash",
  "background": true,
  "input": [
    { "type": "text", "text": "The courier opens the red door and steps inside." },
    { "type": "video", "uri": "gs://my-bucket/hop-1.mp4", "mime_type": "video/mp4" }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "gs://my-bucket/out/",
      "aspect_ratio": "16:9",
      "duration": "5s"
    }
  ],
  "generation_config": {
    "seed": 4242,
    "video_config": { "task": "extend" }
  },
  "labels": { "campaign": "courier", "hop": "2" }
}

L'appel renvoie un identifiant d'interaction avec le statut in_progress. Interrogez-le avec GET .../locations/global/interactions/INTERACTION_ID. Une fois terminé, lisez l'URI gs:// dans l'étape model_output de steps. Cet URI sert d'entrée pour votre prochaine étape.

Les modes sans état (store: false), avec état (store: true) et streaming existent également. Les résultats stockés et asynchrones sont conservés jusqu'à 7 jours : copiez tout ce dont vous avez besoin.

[À VÉRIFIER] Non exécuté : aucun projet Google Cloud n'était disponible. Le corps d'exemple de Google n'affiche ni seed ni labels, confirmez donc leur emplacement.

Enchaîner jusqu'à la limite de 40 secondes

Une étape ne conserve l'intégralité de vos images que si son entrée fait 30 secondes ou moins. Pour atteindre 40 secondes sans rien perdre, arrivez d'abord à exactement 30.

Étape duration prévue Sortie prévue duration naïve Sortie naïve
Départ 15 s 15 s 15 s 15 s
1 10 s 25 s 10 s 25 s
2 5 s 30 s 10 s 35 s
3 10 s 40 s 10 s 40 s, les 5 premières secondes perdues

Comparaison de deux plans d'enchaînement : la chaîne planifiée de 15 secondes plus 10, 5 et 10 atteint 40 secondes sans rien perdre, tandis que la chaîne naïve de 15 secondes plus trois étapes de 10 secondes atteint 40 secondes mais perd les 5 premières secondes.

La chaîne naïve gagne 5 secondes de plus, puis jette votre début. La longueur du clip ne vous alertera pas, car les deux chaînes renvoient 40 secondes.

Un départ de 15 secondes ne fait pas économiser d'appels pour un résultat de 40 secondes : partir de 10 demande également trois extensions. Cela aide ailleurs, puisque 25 secondes demandent une extension au lieu de deux, et 35 secondes deux au lieu de trois.

Sur l'API Gemini, arrêtez-vous après l'étape 2. Google ne précise pas ce qu'il advient d'une requête au-delà de 30 secondes.

Garder des personnages stables grâce aux images de référence et au seed

Un personnage sorti du champ avant les 10 dernières secondes est invisible pour le modèle, même si ses images restent dans le clip. La solution de Google : le mentionner à nouveau ou passer une image de référence dans le même tableau input :

{ "type": "image", "uri": "gs://my-bucket/courier.png", "mime_type": "image/png" },
{ "type": "text", "text": "The courier from the reference image walks back into frame." }
  • Réutilisez la même image à chaque étape qui a besoin de ce personnage.
  • Choisissez avec soin sur Agent Platform. Deux images par extension ne couvrent que ce qui risque le plus de dévier.
  • N'envoyez pas de vidéos de référence. Google les prend en charge pour la génération de nouvelles vidéos uniquement, pas pour l'extension.
  • Donnez les repères temporels à partir du nouveau segment. 0 s dans votre prompt désigne le début de la partie étendue, pas le début du clip.

Définissez generation_config.seed pour des résultats reproductibles. C'est surtout utile pour le débogage : relancez une étape avec le même seed pour déterminer si une modification vient de votre prompt. Google ne garantit pas qu'un seed maintienne un personnage stable d'un prompt à l'autre : comptez sur les références pour cela. Utilisez labels pour suivre la facturation par étape.

Combien coûte un clip de 40 secondes

La page de tarification de Google facture la sortie vidéo d'Omni 1.2 à 12,00 $ par million de tokens. Elle ne précise pas si une extension est facturée uniquement sur les nouvelles secondes ou sur chaque seconde renvoyée. La chaîne planifiée génère 40 secondes mais renvoie 15, 25, 30 et 40, soit un total de 110.

Résolution Par seconde Si seules les nouvelles secondes sont facturées Si chaque seconde renvoyée est facturée
360p 0,023 $ 0,93 $ 2,55 $
720p Environ 0,07 $ 2,78 $ 7,65 $
1080p (suréchantillonnée) 0,104 $ 4,17 $ 11,47 $
4K (suréchantillonnée) 0,209 $ 8,34 $ 22,94 $

Ce sont les tarifs de l'API Gemini, calculés à partir des tokens par seconde de Google. Les tokens d'entrée (1,50 $ par million) et les tokens de réflexion (9,00 $ par million) s'ajoutent.

En attendant d'avoir vérifié, budgétez la colonne de droite. Pour limiter la facture :

  • Faites vos brouillons en 360p et validez toute la chaîne avant de payer pour du 720p.
  • Choisissez la résolution avant d'enchaîner. La page du modèle Agent Platform plafonne l'entrée d'upscaling à 15 secondes : un clip de 40 secondes déjà terminé ne tiendra pas en une seule passe.
  • Budgétez des relances pour les plans difficiles. L'annonce de Google cite les actions sportives rapides, les changements de script rapides et la physique complexe comme des points encore en cours d'amélioration.

À partir du 3 décembre 2026, les requêtes vers gemini-omni-1.1-flash sont routées vers la version 1.2 et facturées aux tarifs de la 1.2.

Laissez votre agent de codage tester le flux asynchrone avec Apidog CLI

Une chaîne asynchrone échoue en silence : un polling qui ne se termine jamais, une exécution qui se solde par un statut failed, une forme de réponse qui change. Laissez votre agent de codage construire ce test avec Apidog CLI et l'exécuter pour vous.

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install

Donnez ensuite un seul prompt à Claude Code, Codex ou Cursor :

In Apidog project <id>, create endpoints for POST and GET on the Omni
interactions URL. Build a test scenario named omni-extend-async: start a
3-second 360p extension with background set to true, save the interaction
ID, then loop with a 10-second delay on GET until status leaves in_progress.
Assert status is completed and a model_output step holds a video/mp4 item
with a uri or data. Run it and summarize any failures.

L'agent valide sa charge utile, puis construit et exécute le scénario :

apidog cli-schema get test-scenario-update
apidog test-scenario create --project <id> --name "omni-extend-async" --folder-id <folderId> --priority 1
apidog test-scenario import-steps <scenarioId> --project <id> --source endpoint --ids <postId>,<getId>
apidog cli-schema validate test-scenario-update --file scenario.json
apidog test-scenario update <scenarioId> --project <id> --file scenario.json
apidog run -t <scenarioId> --project <id> -e <envId> --timeout-request 300000 -r cli,junit --out-dir ./reports

Chaque exécution facture un vrai clip : lancez-la chaque nuit, pas à chaque commit. Une étape de 3 secondes en 360p coûte environ 0,07 $ si seules les nouvelles secondes sont facturées. La même ligne s'intègre dans un pipeline, comme le montre notre guide CI/CD d'Apidog CLI, et le guide de configuration de Claude Code couvre le côté agent. Apidog Free couvre jusqu'à 4 utilisateurs.

FAQ

Quelle peut être la durée d'une vidéo Gemini Omni 1.2 Flash ? Une génération isolée dure de 3 à 15 secondes. Avec l'extension, la documentation de l'API Gemini indique 30 secondes au total et celle d'Agent Platform 40.

Pourquoi le début de ma vidéo étendue a-t-il disparu ? Sur Agent Platform, seules les 30 dernières secondes de l'entrée sont conservées. Toute entrée de plus de 30 secondes perd son début. Planifiez vos étapes pour que la dernière démarre à exactement 30 secondes.

Puis-je étendre une vidéo que j'ai filmée moi-même ? Oui, en dehors de l'Espace économique européen, de la Suisse et du Royaume-Uni. Importez-la via l'API Files, ou pointez vers Cloud Storage sur Agent Platform. Impossible d'ajouter du dialogue à un clip importé où une personne parle.

Puis-je étendre un clip gratuitement ? Pas via l'API. Google indique le forfait gratuit comme « Non disponible » pour Omni 1.2 et 1.1, donc même un test est facturé. Une extension de 3 secondes en 360p est la moins chère que vous puissiez exécuter.

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.