Loading...
Loading...
Generate video from up to seven reference images with Gemini Omni 1.1 Flash. The reference images carry character and style consistency into the result.
0/7 éléments
Connectez-vous pour exécuter des modèles
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/omni-1.1-flash/reference-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Coût estimé par génération selon la durée et la résolution. Vous ne payez que ce que vous utilisez.
Une campagne n'est jamais un seul clip. C'est une liste de plans — onze lignes, le même sac coursier dans chacune, et aucun budget pour l'après-midi où le sac vire au gris à la sixième ligne. Le reference-to-video garde le sac identique à lui-même. Nous l'opérons sous google/omni-1.1-flash/reference-to-video et facturons $0.09 par seconde de sortie 720p : le clip de huit secondes par défaut coûte donc $0.72, audio compris.
Le champ qui fait le travail est image_urls — un tableau, avec minItems: 1 et maxItems: 7 dans notre schema. Ce plafond est la raison d'être de cette page. Sept emplacements montrent un sujet sous assez d'angles pour que le modèle cesse d'inventer ceux que vous avez gardés pour vous.
Autre matériau, autre porte : une image fixe seule, c'est Omni 1.1 Flash image-to-video, les deux extrémités d'un plan avec un trou entre elles, c'est start-end-frame-to-video, et un brief sans le moindre asset, c'est Omni 1.1 Flash text-to-video, qui porte la grille tarifaire complète.
Notre tarif, relevé dans le catalogue en direct le 28 août 2026 :
| Longueur du clip | Prix en 720p |
|---|---|
| 4 secondes | $0.36 |
| 6 secondes | $0.54 |
| 8 secondes (par défaut) | $0.72 |
| 10 secondes | $0.90 |
Le catalogue est à $0.15 la seconde ; une remise permanente de 40 % le ramène à $0.09. La résolution fait varier le reste — $0.0297 en 360p, $0.18 en 4K, donc un rendu de dix secondes en 4K coûte $1.80. Puis vient le chiffre qui décide de votre architecture : attachez une référence ou sept, rien de tout ce qui précède ne bouge. duration et resolution sont la formule entière. Les références sont du poids gratuit.
Les prix et les conditions produit peuvent changer. Vérifiez les tarifs en vigueur de chaque provider avant toute décision d'achat. La tarification Google Batch ou Flex n'est pas directement équivalente à une requête API on-demand standard, car les conditions de planification, de disponibilité et de traitement diffèrent ; elle est donc exclue de cette comparaison. Il s'agit d'une comparaison délimitée, et non d'une affirmation selon laquelle E2X serait l'option la moins chère au monde dans toutes les configurations.
L'API va chercher chaque URL du tableau : elles doivent donc se trouver là où nos workers peuvent les atteindre en HTTPS simple — un bucket public, un lien signé non expiré, rien derrière un login.
Sept est un maximum validé, pas une ligne dans une page de doc. Envoyez-en une huitième et la requête est rejetée avant qu'un GPU soit touché. Cela ressemble à une limite ; traitez-la comme un budget. Un jeu qui mérite ses sept emplacements comporte un trois-quarts, un profil, un dos, un détail porteur de marque, un à la distance que le clip cadrera, et un sous lumière neutre. Dupliquer l'angle héros gâche un emplacement. Les angles que vous retenez seront devinés.
C'est là le basculement par rapport à la génération précédente. Notre endpoint Gemini Omni Flash reference-to-video fait tourner la même idée à $0.075 la seconde sans aucun plafond documenté — Google n'en a jamais publié, nous avons donc refusé d'imprimer un chiffre que nous ne pouvions pas défendre. C'est l'endpoint le moins cher, de vingt pour cent, et on voit pourquoi : pas de maximum validé à sept emplacements, et pas de palier 360p pour répéter un jeu de références avant de dépenser. Google retire ce modèle le 30 septembre 2026. Si un pipeline pointe encore là-bas, la migration est un simple changement de slug, elle coûte un cinquième de plus à la seconde, et elle atterrit ici.
Construisez le tableau une fois. Stockez les sept URL à côté de votre liste de plans et postez ce tableau identique avec chaque job. Le jeu est le terme fixe ; le prompt est la variable.
Cette inversion, c'est le workflow. Comme les références portent le sujet, chaque prompt cesse de décrire à quoi la chose ressemble et se met à décrire ce qui lui arrive — la caméra, ce qui bouge, la lumière, le son. Les prompts raccourcissent et les clips gagnent en cohérence, ce qui n'est pas l'arbitrage auquel on s'attend. Épinglez un seed quand vous comparez deux formulations d'un même plan, pour savoir si c'est la réécriture qui a aidé ou les dés.
Comptez 240 secondes par job et lancez la liste en parallèle. Puis restez calibré par ce que la model card de Google admet :
Maintenir une cohérence totale d'un bout à l'autre des retouches, générer des scènes au mouvement complexe ou rendre du texte parfaitement exact reste un défi.
Sept références réduisent la dérive. Elles ne l'abolissent pas.
Deux champs sont obligatoires : prompt et image_urls. Gardez votre clé côté serveur et postez le job.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-1.1-flash/reference-to-video",
"input": {
"prompt": "Image 1 est le vélo plié, image 2 la charnière, image 3 le cycliste. Cour pavée au lever du jour. Le cycliste le déplie et referme le cadre en un geste sec. Plan large fixe. Des oiseaux, un tramway au loin.",
"image_urls": [
"https://example.com/bike-folded.jpg",
"https://example.com/bike-hinge.jpg",
"https://example.com/rider.jpg"
],
"duration": "8",
"aspect_ratio": "16:9"
}
}'
Revient data.jobId. Les rendus prennent des minutes : faites du polling lentement — ou passez un webhookUrl et sautez le polling.
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
// Un seul tableau, réutilisé par chaque prompt.
const image_urls = [
"https://example.com/fox-puppet-front.jpg",
"https://example.com/fox-puppet-muzzle.jpg",
"https://example.com/fox-puppet-profile.jpg",
];
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/reference-to-video",
input: {
prompt:
"Image 1 est la marionnette de renard. Elle se penche depuis la gauche du cadre et incline la tête. Lent travelling avant. Froissement de papier, ambiance de pièce feutrée.",
image_urls,
duration: "10",
aspect_ratio: "9:16",
resolution: "1080p",
seed: 70413,
},
}),
}).then((r) => r.json());
const { jobId } = submitted.data;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") { console.log(job.data.outputs[0].url); break; }
if (job.data.status === "failed") throw new Error(job.data.error?.message);
await new Promise((r) => setTimeout(r, 5000));
}
Les statuts passent pending → processing → completed, ou se posent sur failed / cancelled. Un piège : duration et resolution sont des chaînes. "10", jamais 10. Le schema et le prix vivent dans la spécification lisible par machine.
Veo 3.1 Fast reference-to-video coûte $0.01 la seconde sur cette même plateforme. Neuf fois moins. Huit secondes là-bas font $0.08 contre $0.72 ici, et nous n'allons pas l'enterrer sous un tableau.
La réponse par défaut est donc Veo. Si une liste de plans demande trois références, huit secondes et du 720p, appeler autre chose revient à dépenser de l'argent pour rien.
Quatre choses renversent la décision. Il vous faut plus de références que Veo n'en accepte, lui qui s'arrête à trois contre nos sept — la différence entre couvrir un sujet et l'échantillonner. Il vous faut dix secondes, que Veo ne vous donnera pas. Il vous faut la 4K. Ou vous voulez le palier 360p, où vingt brouillons coûtent moins qu'un clip fini et où le gagnant se re-rend depuis le même tableau et le même seed. En dehors de ces quatre cas, prenez le moins cher. D'autres options dans la catégorie reference-to-video, et le reste dans le catalogue de modèles.
Vos références sont des uploads de choses réelles, et parfois de personnes réelles. Google bloque les uploads d'images montrant des mineurs, ou certaines personnes reconnaissables, pour les utilisateurs du Royaume-Uni, de Suisse et de l'Espace économique européen. Ici, c'est une contrainte de casting, pas une note de bas de page. Mettez-la dans le brief, pas dans un job qui échoue à 2 h du matin.
Chaque image porte SynthID. Le watermark invisible de Google se trouve sur toutes les sorties et aucun provider ne peut le désactiver, nous compris. Réglez tout contrat interdisant les assets IA étiquetés avant d'intégrer.
Le son vient des mots. L'audio est généré avec l'image et piloté depuis le même prompt — pas de bascule has_sound, pas d'upload de référence audio.
Les URL de résultat expirent. Copiez chaque sortie vers votre propre stockage dans le handler qui lit outputs[0].url. Une campagne que vous re-rendez est une campagne payée deux fois.
L'anglais est la seule langue de prompt pleinement supportée, et il figure dans la Gemini Enterprise Agent Platform, le successeur que Google a mis à la place de Vertex AI en avril 2026. Le contexte se trouve dans notre compte rendu de sortie.
Attacher sept images dit au modèle ce qui existe. Cela ne dit pas laquelle est la vedette. Ça, vous le faites en prose : image 1 est la bouilloire, image 2 est le couvercle émaillé, image 3 est la cuisine. Numéroté, première ligne, avant toute direction.
Ensuite, arrêtez de décrire le sujet. Un prompt qui respécifie la couleur et la forme de quelque chose que vous avez déjà attaché se dispute avec vos propres références, et le modèle coupe la poire en deux. Dépensez les mots sur ce que le tableau ne peut pas porter : la caméra, un mouvement, la lumière, l'ambiance. Tenez chaque prompt sur un seul plan continu — demandez un récit en trois scènes et vous obtenez une bouillie. Notre guide de prompting Gemini Omni creuse le vocabulaire de plan.
Sept, et la limite est publiée plutôt que devinée : image_urls est validé avec minItems: 1 et maxItems: 7, donc une huitième entrée échoue à la soumission. Le prédécesseur n'avait aucun plafond documenté. C'est la plus grande différence pratique.
Non. Nous facturons à la seconde de vidéo finie, mise à l'échelle par la résolution ; le nombre de références n'entre pas dans ce calcul. Une référence ou sept, un clip de huit secondes en 720p coûte $0.72. La longueur et la résolution sont les seuls leviers.
Numérotez-les dans le prompt — quelle image porte le produit, laquelle le détail, laquelle l'environnement — puis décrivez l'action. image_urls n'est qu'une liste brute tant que votre prose ne distribue pas les rôles.
C'est la forme prévue. Stockez le tableau une fois et postez-le inchangé avec chaque prompt, en ne faisant varier que la direction. Un seed épinglé garde la lumière assez stable pour que les clips se montent ensemble.
Presque toujours, à $0.01 la seconde — Veo 3.1 Fast est neuf fois moins cher pour une requête équivalente. Venez ici quand trois références ne suffisent pas à couvrir le sujet, quand le montage a besoin de dix secondes, quand le livrable est en 4K, ou pour la boucle de brouillons en 360p.
360p, 720p, 1080p ou 4K, en 16:9 ou 9:16, sur 4, 6, 8 ou 10 secondes, toujours à 24 fps. Les deux résolutions les plus hautes sont upscalées plutôt que rendues nativement : jugez la netteté sur vos propres images.
Google déprécie gemini-omni-flash-preview à cette date, et tous les providers qui font tourner ces poids s'arrêtent le même jour. Pointez vos jobs ici : même forme de requête, plafond de références documenté. L'ancienne page reference-to-video reste en ligne comme référence de migration.