Loading...
Loading...
Generate smooth video transitions between two key frames with Gemini Omni 1.1 Flash. Provide a start frame, an end frame and a text prompt to guide the in-between motion.
Inicia sesión para ejecutar modelos
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/start-end-frame-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)Costo estimado por generación según duración y resolución. Solo pagas por lo que uses.
Gemini Omni 1.1 Flash es el gemini-omni-1.1-flash de Google, en GA desde el 27 de agosto de 2026 y un modelo de la familia Gemini más que un Veo. Operamos su capability de dos fotogramas como google/omni-1.1-flash/start-end-frame-to-video y cobramos por segundo de salida: $0.09 en 720p, un 40% permanente por debajo de la tarifa de lista de $0.15. El clip por defecto, de ocho segundos, sale por $0.72.
Entran tres campos: un fotograma inicial, un fotograma final y un prompt. Su primera imagen se convierte en el primer fotograma, la segunda en el último, y todo lo que hay en medio se lo inventa el modelo. Eso no es pedir un clip, es pedir un puente, y un puente vale lo que valen sus dos orillas.
Aquí también hay novedad: la generación anterior de Omni Flash salió sin esto, que es la prueba más simple del argumento de nuestro texto sobre la versión 1.1. Una release de continuidad, no de calidad.
Nuestras tarifas, comprobadas el 28 de agosto de 2026:
| Duración | 360p | 720p | 1080p | 4K |
|---|---|---|---|---|
| 4 s | $0.1188 | $0.36 | $0.54 | $0.72 |
| 6 s | $0.1782 | $0.54 | $0.81 | $1.08 |
| 8 s (por defecto) | $0.2376 | $0.72 | $1.08 | $1.44 |
| 10 s | $0.297 | $0.90 | $1.35 | $1.80 |
1080p y 4K son escalados, no nativos.
La interpolación es el modelo mental equivocado. Una herramienta de tweening mezcla el píxel A hacia el píxel B. Este modelo lee las dos imágenes, decide qué suceso pudo plausiblemente llevar la escena de una a otra, y renderiza eso, audio incluido, generado de forma nativa desde el mismo prompt. Sin campo has_sound, sin botón de silencio.
A 24 fps, un puente de cuatro segundos son noventa y seis fotogramas, dos de los cuales los puso usted. Los otros noventa y cuatro son una tesis sobre física, defendida se sostenga o no. El encuadre es 16:9 o 9:16; cuente con cuatro minutos por job.
Tres preguntas resuelven el par. ¿El mismo sujeto? No parecido: el mismo. ¿La misma luz? Dirección de la principal, temperatura de color, contraste. ¿Podría una cámara haber hecho ese movimiento? Si usted no sabe decirlo en una frase que un operador pudiera seguir, el modelo tampoco.
Cuando la respuesta es no, no salta ningún error: el modelo tapa el hueco, y lo hace de cuatro formas.
Un clip que no puede usar cuesta lo mismo que uno que sí.
A $0.0297 por segundo, una prueba de cuatro segundos en 360p son $0.1188; el definitivo de ocho segundos en 720p, $0.72, cinco veces más. Y 360p, demasiado pequeño para juzgar una cara, vale de sobra para juzgar el medio. Un corte es un corte a cualquier resolución. Un morphing es un morphing. Google afirma además que ese nivel corre hasta un 60% más rápido: redacción de blog de lanzamiento, no una cifra de la referencia de la API.
Eso hace que el trabajo de storyboard salga barato de iterar. Dos fotogramas clave por tiempo, la lista de planos lanzada a cuatro segundos y 360p, reproducida como animática: doce tiempos por unos $1.73. Los fallos son casi siempre un problema del par de fotogramas, y se arreglan redibujando una viñeta en lugar de reescribiendo el prompt cinco veces. Renderice solo a los supervivientes. Veo 3.1 Fast start-end-frame-to-video no tiene ningún nivel de borrador.
duration acepta 4, 6, 8 o 10, como string. Cada segundo cuesta lo mismo, así que parece una perilla de presupuesto. Es una perilla de dirección.
Los mismos dos fotogramas a cuatro segundos y a diez son dos planos distintos. Cuatro obliga al trayecto: la cámara se compromete y queda poco margen para inventar. Diez hay que llenarlo, y el modelo encontrará su propio relleno: una deriva, un tiempo sostenido, un segundo gesto. Ese relleno inventado es la salida menos predecible de todo esto.
Ajuste la duración a la distancia: dos ángulos de producto separados treinta grados, estirados a diez segundos, compran un arrastre y aire muerto. Diez es el techo de Omni y una ventaja real: Veo se queda en ocho.
Genere una key, guárdela en el servidor y envíe el job. prompt, start_frame_url y end_frame_url son obligatorios, y descargamos las dos imágenes, así que cada URL debe responder a una petición sin autenticar.
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/start-end-frame-to-video",
"input": {
"prompt": "La cámara traza un arco hacia la derecha alrededor de la cafetera mientras sube el vapor. Zumbido del molinillo, murmullo de cafetería.",
"start_frame_url": "https://example.com/07a-left.jpg",
"end_frame_url": "https://example.com/07b-right.jpg",
"duration": "6",
"resolution": "360p"
}
}'
Haga polling del job id, o pase un webhookUrl:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const { data } = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/start-end-frame-to-video",
input: {
prompt: "Una grúa lenta que baja desde la barandilla de la azotea hasta la mesa del patio. Un solo movimiento continuo.",
start_frame_url: "https://example.com/12a-roof.jpg",
end_frame_url: "https://example.com/12b-courtyard.jpg",
duration: "10",
resolution: "720p",
},
}),
}).then((r) => r.json());
let url = null;
while (!url) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${data.jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") url = job.data.outputs[0].url;
else if (["failed", "cancelled"].includes(job.data.status))
throw new Error(job.data.error?.message ?? job.data.status);
else await new Promise((r) => setTimeout(r, 5000));
}
El estado recorre pending, processing, completed, o aterriza en failed/cancelled. Dos trampas del schema: duration y resolution son strings, y los campos se llaman start_frame_url y end_frame_url, no el image_url en singular que se usa en otros sitios. Los valores en vivo están en la especificación legible por máquina.
Veo 3.1 Fast hace el mismo trabajo por la novena parte del dinero:
| Endpoint | 8 s en 720p | Tire de él cuando |
|---|---|---|
| Veo 3.1 Fast start-end-frame-to-video | $0.08 | Los fotogramas conectan y ocho segundos bastan |
| Omni 1.1 Flash start-end-frame-to-video | $0.72 | Necesita diez segundos, 4K, o una pasada de borrador |
| Omni 1.1 Flash image-to-video | $0.72 | Solo hay un extremo del plano fijado |
| Omni 1.1 Flash reference-to-video | $0.72 | Un sujeto debe seguir siendo él mismo a lo largo de muchos planos |
| Omni 1.1 Flash text-to-video | $0.72 | No hay ningún fotograma de partida |
Los precios y las condiciones de los productos pueden cambiar con el tiempo; consulte los precios vigentes de cada proveedor antes de tomar una decisión de compra. Los precios de Google Batch o Flex no son directamente equivalentes a un request estándar de API bajo demanda, porque la programación, la disponibilidad y las condiciones de procesamiento son distintas; por eso quedan excluidos de esta comparación. Se trata de una comparación acotada, no de una afirmación de que E2X sea la opción más barata del mundo en cualquier configuración.
Empiece por Veo. Vuelva aquí cuando su muro de ocho segundos le estorbe, cuando el entregable sea 4K, o cuando una pasada de borrador ahorre más de lo que cuesta. El resto está bajo image-to-video y text-to-video, y el catálogo de modelos entero cabe en una página.
Describa el trayecto, no el decorado: el modelo ya ve los dos extremos. Nombre el movimiento que los conecta ("arco a la derecha", "grúa hacia abajo", "cambio de foco a la ventana del fondo") y después diga a qué debe sonar, porque el audio se escribe desde esa misma línea. No pida sucesos que ninguno de los dos fotogramas implica. Hay más vocabulario de cámara en nuestra guía de prompting de Omni; el inglés es el único idioma de prompt evaluado.
Tres cosas antes de que esto se acerque a un cliente. Cada fotograma lleva SynthID, la marca de procedencia invisible de Google, y ningún proveedor puede quitarla. La model card de Google es tajante: "mantener una consistencia completa a lo largo de las ediciones, generar escenas con movimiento complejo o renderizar texto perfectamente exacto sigue siendo un desafío", y el movimiento complejo es justo lo que pide un hueco amplio entre fotogramas. En el EEE, Suiza y el Reino Unido no puede subir imágenes con menores ni con ciertas personas reconocibles: un límite sobre sus entradas. Las URLs de resultado son temporales, así que vuelva a alojarlas en el handler de finalización.
Cobramos $0.09 por cada segundo de salida en 720p, así que un clip de ocho segundos son $0.72 y el máximo de diez segundos, $0.90: un 40% por debajo de una tarifa de lista de $0.15. La resolución lo multiplica, con lo que un borrador de cuatro segundos en 360p sale por $0.1188 y un render de diez segundos en 4K por $1.80. Comprobado el 28 de agosto de 2026.
El mismo sujeto, el mismo esquema de iluminación y un movimiento de cámara que pudiera ir físicamente de uno al otro en el tiempo pedido. Dos fotos de un mismo rodaje, con minutos de diferencia, funcionan casi siempre. Los fotogramas hechos en condiciones distintas obligan al modelo a resolver esa diferencia en pantalla.
No salta ningún error. Le llega un clip que esconde el hueco de cuatro maneras posibles: un corte inventado, un morphing a través de una geometría imposible, un salto de luz, o figuras que aparecen como fantasmas desde la nada. Todas se facturan igual que un render bueno, y por eso el borrador de $0.1188 se paga solo.
Veo 3.1 Fast primero, en la mayoría de los casos: hace fotograma inicial y final a $0.01 por segundo frente a nuestros $0.09, así que ocho segundos cuestan $0.08 y no $0.72. Omni se gana la diferencia en tres sitios: la duración de diez segundos, la salida en 4K y el nivel de pruebas en 360p.
De tres a diez segundos por llamada. El enum de duration lleva 4, 6, 8 y 10, todos como strings. Diez es el techo duro, y cualquier cosa más larga se cose a partir de varios jobs.
Sí. Los dos se descargan desde el servidor, así que cada uno debe responder a una petición sin autenticar hasta que el job termine. Las URLs firmadas de vida corta, los buckets privados, las direcciones localhost y los data URIs fallan.
Sí: cada fotograma va marcado con SynthID, la señal de procedencia imperceptible de Google, invisible para quien lo ve y verificable con sus herramientas. Ningún proveedor puede desactivarla. Resuélvalo con su cliente si algún contrato prohíbe assets de IA etiquetados.