Processus de demande
Pour utiliser l’API Gemini Videos Generation, obtenez d’abord votre API Token dans la console Ace Data Cloud et conservez-le pour une utilisation ultérieure.
Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Une fois terminé, vous reviendrez automatiquement sur la page actuelle.
Un seul API Token permet d’appeler tous les services de la plateforme, sans avoir besoin d’en demander un séparément pour chaque service. Lors de votre première demande, un quota gratuit vous sera offert pour permettre un essai gratuit ; lorsque le quota est insuffisant, vous pouvez recharger le solde général dans la console.
📘 Documentation complète : Gemini Videos Generation API →
Utilisation de base
Commençons par comprendre le mode d’utilisation de base : saisissez le texte d’inviteprompt, le modèle model ainsi que le rapport hauteur/largeur aspect_ratio pour générer la vidéo correspondante.
Vous pouvez voir qu’ici nous avons défini les Request Headers, y compris :
accept: le format de résultat de réponse que vous souhaitez recevoir ; ici, il est renseigné commeapplication/json, c’est-à-dire au format JSON.authorization: la clé pour appeler l’API, qui peut être directement sélectionnée dans la liste déroulante après la demande.
prompt: le texte d’invite décrivant le contenu vidéo que vous souhaitez générer, obligatoire.model: le modèle de génération vidéo ; actuellement, seulomni-flashest pris en charge, et la valeur par défaut estomni-flash.aspect_ratio: le rapport hauteur/largeur de la vidéo générée ; vous pouvez choisir16:9(paysage) ou9:16(portrait), avec16:9par défaut.resolution: la résolution de sortie facultative ; vous pouvez choisir720pou1080p, avec720ppar défaut.image_urls: un tableau facultatif de liens d’images de référence, utilisé pour guider la génération vidéo ; les éléments vides seront ignorés. Lors de l’utilisation devideo_urlspour l’édition vidéo, ce paramètre est obligatoire (au moins une image).video_urls: un tableau facultatif de liens de vidéos de référence (1 maximum), utilisé pour l’édition vidéo / la référence vidéo ; lorsqu’il est fourni, au moins uneimage_urlsdoit également être fournie.callback_url: l’adresse de rappel asynchrone ; après sa définition, l’API renvoie immédiatement letask_idet envoie le résultat par POST à cette adresse lorsque la tâche est terminée.async: facultatif ; lorsque défini surtrue, l’interface renvoie immédiatement letask_id, sans nécessiter de fournircallback_url, puis le résultat est obtenu en interrogeant l’interface de requête de tâche correspondante.
success: indique si cette demande de génération vidéo a réussi.task_id: l’ID de cette tâche de génération vidéo.trace_id: l’ID de suivi de cette demande, utilisé pour diagnostiquer les problèmes.data: la liste des résultats vidéo générés.id: l’identifiant unique de la vidéo générée.video_url: l’adresse du lien de la vidéo générée (nulllorsquestateestpending).state: l’état de la tâche de génération vidéo ; vous pouvez choisirpending/succeeded/failed.aspect_ratio: le rapport hauteur/largeur de cette vidéo, identique au paramètre de demande.prompt: le texte d’invite utilisé pour générer cette vidéo.
started_at, finished_at, elapsed (durée, en secondes) et cost (coût de cette demande, en Credits).
Il nous suffit d’obtenir la vidéo générée à partir de l’adresse de lien video_url dans data du résultat.
Le code CURL correspondant est le suivant :
Génération vidéo à partir d’images
Si vous souhaitez générer une vidéo à partir d’images de référence, vous pouvez transmettre un ou plusieurs liens d’images dansimage_urls afin de guider la génération vidéo :
Édition vidéo / vidéo de référence (vidéo en entrée, vidéo générée)
Il est possible de prendre directement « une vidéo en entrée et de générer une nouvelle vidéo » : transmettez un lien de vidéo de référence dansvideo_urls (1 maximum) et fournissez simultanément au moins une image de référence dans image_urls (exigence stricte en amont), puis utilisez prompt pour décrire l’effet d’édition souhaité (changer le style, modifier la scène, ajouter ou supprimer des éléments, etc.).
Voici un exemple réel complet — transformer une vidéo de plage ensoleillée en scène hivernale sous une forte chute de neige, tout en conservant la disposition de la plage, des cocotiers et du petit bateau. L’édition vidéo prend relativement longtemps (environ 6,5 minutes dans cet exemple), c’est pourquoi elle est soumise de manière asynchrone avec async: true :
task_id :
task_id comme id pour interroger l’API Gemini Tasks. Une fois la tâche terminée, vous pourrez obtenir la nouvelle vidéo générée (il s’agit du véritable résultat retourné dans cet exemple) :
resolution sur 1080p (les autres paramètres restent inchangés).
Conseil : les liens médias d’entrée / sortie dans l’exemple sont tous des résultats réellement générés. Les liens vers les vidéos et images générées par la plateforme ont une durée de conservation limitée et expireront, veuillez les télécharger et les enregistrer rapidement dans votre propre stockage après avoir obtenu le résultat.
Attention : au maximum 1 vidéo de référence est autorisée ; et lorsquevideo_urlsest fourni, vous devez fournir au moins uneimage_urls, sinon l’erreur de paramètre suivante sera retournée :
Rappel asynchrone
La génération de vidéos nécessite un certain temps de traitement. Si vous ne souhaitez pas maintenir une connexion longue en attente, vous pouvez transmettrecallback_url. Dans ce cas, l’API renverra immédiatement le task_id et enverra le résultat final par POST à cette adresse une fois la tâche terminée :
Interroger le résultat de la tâche
Si vous avez utilisé un rappel asynchrone ou souhaitez interroger activement l’état de la tâche, vous pouvez utiliser l’API Gemini Tasks (POST https://api.acedata.cloud/gemini/tasks) pour interroger le dernier état et le résultat de la tâche selon le task_id. Transmettez dans le corps de la requête le task_id retourné lors de la création de la vidéo comme id :
response.data est identique à celle lors de la génération synchrone (pendant la génération, state est pending et video_url est null) :
Gestion des erreurs
Lorsqu’un problème survient avec la requête, l’API renvoie le code d’erreur et la description correspondants. Les erreurs courantes sont les suivantes :400: les paramètres de la requête sont incorrects, par exemplepromptest manquant ou la valeur deaspect_ratioest invalide.401: l’authentification a échoué, le token est invalide ou ne correspond pas à l’API.403: solde insuffisant, ou l’invite a été refusée car elle a déclenché la modération de contenu.500: erreur interne du serveur ou échec de génération en amont.

