Passer au contenu principal
POST

Authentification

string
requis
Toutes les requêtes nécessitent une authentification par Bearer Token.Obtenir une clé API :Rendez-vous sur la page de gestion des clés API pour obtenir votre clé API.Ajoutez l’en-tête suivant lors de l’envoi des requêtes :

Paramètres de la requête

string
requis
Nom du modèle de génération vidéo. Toujours gemini-omni-1.2-flash-ext.
string
requis
Description de la vidéo ou instruction d’édition. Ne doit pas être vide une fois les espaces de début et de fin supprimés. En texte vers vidéo, décrivez la scène, les personnages, les actions, la caméra et le son ; avec des images ou une vidéo, décrivez le mouvement, le style ou les modifications souhaitées.Exemple : "Aerial shot over a misty mountain lake at sunrise."
prompt est obligatoire dans tous les modes, y compris première image, référence multi-images, édition et prolongation. En son absence, une erreur 400 est renvoyée.
integer
défaut:"10"
Durée de la vidéo en secondes. Doit être un entier.
  • Texte vers vidéo / première image / référence multi-images : durée de sortie, 3–15
  • Première et dernière image : durée de sortie, 3–10
  • Prolongation (extend) : durée du segment ajouté, 3–10
  • Édition (edit) : ne doit pas être transmis ; la durée de sortie suit la vidéo source
L’alias seconds est également accepté. Si les deux sont transmis, leurs valeurs doivent être identiques.
Transmettre duration en mode édition renvoie l’erreur video edit does not accept duration.
string
défaut:"720p"
Résolution de la vidéo, insensible à la casse. Elle détermine le prix à la seconde.Valeurs autorisées :
  • 360p
  • 720p
  • 1080p
  • 4k (2160p est également accepté)
Toute autre résolution renvoie une erreur 400.
string
défaut:"16:9"
Seuls 16:9 (paysage, par défaut) et 9:16 (portrait) sont pris en charge ; les autres valeurs renvoient une erreur 400.
string
Type de tâche, qui indique comment les éléments fournis sont utilisés.Valeurs autorisées :
  • edit - Éditer une vidéo ; à utiliser avec video_urls ou extend_from_task_id
  • extend - Prolonger une vidéo en ajoutant du contenu à la fin ; à utiliser avec video_urls ou extend_from_task_id
  • reference - Référence multi-images ; à utiliser avec image_urls
  • text_to_video / image_to_video / reference_to_video - Texte vers vidéo / première image / images de référence
  • auto - Déterminé automatiquement selon les entrées ; traité comme edit en présence d’une vidéo
Facultatif sans vidéo ; le mode est déterminé automatiquement selon les entrées.
Lorsque video_urls ou extend_from_task_id est transmis, un type de tâche est obligatoire (omni_reference_task_type, ou le champ compatible generation_type) ; s’il est omis, une erreur 400 est renvoyée. Il est recommandé de transmettre explicitement edit ou extend ; auto est traité comme edit.
string
Champ de compatibilité, équivalent à omni_reference_task_type. Valeurs autorisées : frame (identique à image_to_video), reference, edit, extend.
generation_type et omni_reference_task_type ne peuvent pas être transmis ensemble.
array<url>
Tableau d’images de référence pour la référence multi-images (personnages, produits, styles, etc.). De 1 à 10 images.Seules les URL d’image HTTP/HTTPS accessibles publiquement sont prises en charge. Téléversez d’abord les images locales pour obtenir une URL publique, puis transmettez cette URL ; les Data URL Base64 ne sont pas prises en charge actuellement et renvoient une erreur 400.Lorsqu’une seule image est transmise, son utilisation dépend du type de tâche :
  • omni_reference_task_type omis : utilisée comme image de référence
  • omni_reference_task_type vaut auto ou image_to_video : utilisée comme première image
Pour générer à partir d’une première image, utilisez directement first_frame_image plutôt que de vous fier au nombre d’images.
image_urls ne peut pas être transmis avec first_frame_image ou last_frame_image, et les images de image_urls ne sont jamais traitées comme première image ; aucune image ne peut non plus être transmise lors d’une édition ou d’une prolongation.
string
Première image : la première image de la vidéo générée sera cette image. Seules les URL d’image HTTP/HTTPS accessibles publiquement sont prises en charge ; les Data URL Base64 ne le sont pas.Transmis avec last_frame_image, il génère une vidéo à partir de la première et de la dernière image.
string
Dernière image, pour la génération à partir de la première et de la dernière image : la vidéo passe de la première image à celle-ci. Seules les URL d’image HTTP/HTTPS accessibles publiquement sont prises en charge ; les Data URL Base64 ne le sont pas.En mode première et dernière image :
  • duration accepte 3–10 ; 10 secondes si omis
  • system_prompt et negative_prompt ne peuvent pas être transmis
last_frame_image doit être transmis avec first_frame_image ; transmettre uniquement la dernière image renvoie l’erreur last_frame_image requires first_frame_image. Il ne peut pas être transmis avec image_urls.
array<object>
Tableau d’images avec rôles, forme équivalente de first_frame_image / last_frame_image / image_urls.
array<url>
Tableau contenant la vidéo à éditer ou à prolonger ; une seule vidéo est prise en charge. Vous pouvez aussi utiliser le champ à valeur unique video_url ; transmettez l’un ou l’autre.Seules les URL vidéo HTTP/HTTPS accessibles publiquement sont prises en charge. Format MP4 / MOV / WebM, 15 secondes et 64 MB maximum.
Lorsque video_urls est transmis, un type de tâche est obligatoire ; il est recommandé de définir omni_reference_task_type sur edit ou extend (auto est traité comme edit). S’il est omis, une erreur 400 est renvoyée. Transmettre 2 vidéos ou plus renvoie une erreur 400.
string
ID de tâche de cette plateforme (task_01…). Permet de poursuivre l’édition ou la prolongation de l’une de vos tâches gemini-omni-1.2-flash-ext déjà terminées, sans renvoyer la vidéo.Conditions d’utilisation :
  • La tâche appartient au compte actuel
  • Le modèle de la tâche est gemini-omni-1.2-flash-ext
  • Le statut de la tâche est completed
  • Le canal ayant généré la tâche d’origine est toujours disponible ; sinon, 503 source_channel_unavailable est renvoyé
  • La vidéo d’origine ne dépasse pas 15 secondes (s’applique à l’édition comme à la prolongation) ; en mode édition, sa durée doit aussi pouvoir être déterminée
Si le canal n’est pas disponible ou si la durée de la vidéo d’origine ne peut pas être déterminée, téléchargez la vidéo d’origine puis envoyez-la via video_urls. Si la vidéo d’origine dépasse 15 secondes, coupez-la à 15 secondes maximum avant de l’envoyer.
extend_from_task_id ne peut pas être transmis avec video_urls, et un type de tâche est obligatoire ; il est recommandé de définir omni_reference_task_type sur edit ou extend (auto est traité comme edit).
string
Contenu à ne pas faire apparaître dans la vidéo.Exemple : "people, cars, color"
negative_prompt ne peut pas être transmis en mode première et dernière image.
string
Instruction système, par exemple pour imposer un style visuel ou interdire le texte à l’écran. Doit être une chaîne de caractères.Exemple : "Render as a black-and-white silent film."
system_prompt ne peut pas être transmis en mode première et dernière image.

Réponse

integer
Code de statut de la réponse. Les requêtes réussies renvoient 200.
array
Tableau de tâches renvoyé.

Interroger le résultat de la tâche

La génération vidéo est asynchrone. Après la soumission, un task_id est renvoyé. Utilisez l’API Obtenir le statut d’une tâche pour suivre la progression et obtenir le résultat.
cURL
Interrogez toutes les 5-10 secondes et définissez un délai d’attente client d’au moins 10 minutes. Durées de génération indicatives (file d’attente comprise) : environ 46 secondes pour une vidéo de 15 secondes en 360p, environ 99 secondes pour 15 secondes en 1080p et environ 4-5 minutes pour 15 secondes en 4k. La progression peut rester longtemps à 10 % jusqu’à la fin.

Exemple de résultat réussi

L’URL de la vidéo est data.result.videos[0].url[0]. data.actual_time correspond au temps de traitement de la tâche en secondes, et non à la durée de la vidéo. La sortie est au format MP4 (H.264, 24fps) avec une piste audio AAC et un filigrane invisible SynthID ; en 4k, la piste audio est parfois absente.

Exemple de résultat échoué

Les tâches échouées sont intégralement remboursées.

Facturation

Facturation à la seconde : coût = prix à la seconde de la résolution choisie × secondes facturées. Tous les modes sont facturés selon le palier de résolution demandé. Consultez la page des tarifs pour les prix réels.

Cas d’usage

Scénario 1 : Texte vers vidéo

Scénario 2 : vidéo à partir d’une première image

Scénario 3 : vidéo à partir de la première et de la dernière image

En mode première et dernière image, duration accepte 3 à 10 secondes (10 secondes si omis), et system_prompt / negative_prompt ne peuvent pas être transmis.

Scénario 4 : référence multi-images

Scénario 5 : édition vidéo

Ne transmettez pas duration lors d’une édition ; la durée de sortie suit la vidéo source.

Scénario 6 : prolongation vidéo

Scénario 7 : prolonger une tâche existante

Scénario 8 : instruction système et prompt négatif