Invita y gana

Cómo funcionan las recompensas

Comparte tu enlace. Cuando un amigo se registre con él y recargue saldo, recibirás la recompensa indicada por sus recargas posteriores.

Extender vídeo e interpolar fotogramas con Gemini Omni: API y control de continuidad

Flujo práctico para ampliar un clip o unir dos fotogramas clave y comprobar la continuidad visual y sonora antes de entregar el vídeo.

Índice
Extender vídeo e interpolar fotogramas con Gemini Omni: API y control de continuidad

Ya tienes un clip corto, pero la acción termina antes de tiempo; o solo dispones del primer y último fotograma y falta el movimiento intermedio. Con gemini-omni-1.1-flash puedes añadir una continuación de 3–10 segundos o generar la transición entre dos imágenes límite; al terminar sabrás qué modo elegir, cómo llamar a la API y cómo decidir si el resultado está listo para entregar.

Elige extensión al final cuando quieras conservar el movimiento, la cámara y el audio de un clip existente; elige interpolación del primer y último fotograma cuando el inicio y el final ya estén fijados y solo falte el tramo central; recibir un MP4 termina la generación, no la revisión del sujeto, el movimiento, la unión y el audio.

¿Debes extender el clip o interpolar dos fotogramas?

Si tienes vídeo de origen, empieza por la extensión al final; si debes llegar a una imagen final concreta, empieza por la interpolación. La extensión no usa ese fotograma objetivo como límite, así que elegirla para ese trabajo puede añadir otro ciclo de generación y revisión.

TrabajoEntradaUso adecuadoContinuidad crítica
Extensión al finalUn vídeo y, opcionalmente, imágenes de referenciaContinuar una acción, un movimiento de cámara o una escenaPose, velocidad, dirección de cámara, luz y audio en la unión
Interpolación inicial/finalPrimer fotograma, último fotograma y descripciónCompletar el movimiento entre dos estados definidosIdentidad, relaciones espaciales, trayectoria y llegada al fotograma objetivo

La extensión de un vídeo subido está pensada para incrementos cortos: la guía oficial describe continuaciones de 3–10 segundos y la guía de prompts también documenta pasos de 10 segundos hasta 40 segundos en total. El clip subido debe durar 10 segundos o menos y solo puede ampliarse por el final; usa un editor convencional si necesitas insertar un plano al principio o en medio.

Decide estas cuatro cosas antes de llamar a la API

Fija el modelo, la salida, el comportamiento de los cortes y los originales que usarás para comparar antes de generar. Si dejas una decisión abierta, es fácil tener que repetir el trabajo o no saber si un cambio en la unión procede del modelo o del material fuente.

Usa el model ID GA

Usa el model ID GA gemini-omni-1.1-flash. Pasó a disponibilidad general el 27 de agosto de 2026; el endpoint anterior gemini-omni-flash-preview está previsto para retirarse el 30 de septiembre de 2026.

Valida primero la continuidad en 720p

En la primera prueba usa el valor predeterminado 720p, así separas los fallos de continuidad de la entrega en alta resolución. resolution dentro de response_format admite 360p, 720p, 1080p y 4k; la documentación identifica 1080p y 4k como salidas reescaladas, con 16:9 como relación predeterminada y 9:16 bajo petición. Para resultados de más de 4 MB, especialmente por encima de 720p, usa delivery="uri", espera a que el archivo quede activo y descárgalo.

Decide entre un plano continuo y un corte intencional

Decide si quieres un plano continuo o un corte intencional. En un prompt de extensión, 0s es el inicio de la parte nueva, no del clip original. Escribe “un solo plano continuo” y “sin cortes” si la acción no debe romperse. Si el corte forma parte del guion, indica en qué momento del tramo añadido debe ocurrir.

Conserva el clip fuente y las imágenes límite

Conserva el clip original y las dos imágenes límite. La guía explica que Omni utiliza los últimos 10 segundos del vídeo como contexto y puede modificar algunos fotogramas finales para construir la transición. Por eso la comparación entre original y salida forma parte del control de calidad.

¿Tienes un clip fuente? Extiéndelo desde el final

Usa la extensión al final cuando ya tienes vídeo y quieres continuar unos segundos la acción, el movimiento de cámara o la escena. Ejecuta primero una llamada mínima a 720p y después endurece las condiciones de sujeto, movimiento, cámara y audio.

Ejecuta primero una llamada mínima a 720p

El ejemplo de Python sube el clip mediante Files API, espera a que termine el procesamiento y pasa la URI y las instrucciones a interactions.create. Mantiene 720p para resolver primero la continuidad y después la entrega del archivo de alta resolución.

import base64
import time
from google import genai

client = genai.Client()
video_file = client.files.upload(file="my_video.mp4")

while video_file.state == "PROCESSING":
    time.sleep(10)
    video_file = client.files.get(name=video_file.name)

if video_file.state == "FAILED":
    raise ValueError(video_file.state)

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "video", "uri": video_file.uri},
        {
            "type": "text",
            "text": (
                "Continúa la escena como un único plano sin interrupciones. "
                "Mantén el mismo sujeto, vestuario, dirección de cámara, iluminación y velocidad de movimiento. Sin cortes ni diálogo nuevo."
            ),
        },
    ],
    response_format={"type": "video", "resolution": "720p"},
)

with open("extended.mp4", "wb") as f:
    f.write(base64.b64decode(interaction.output_video.data))

Escribe condiciones observables en el prompt

No te limites a “continúa la escena”. Define al menos cinco aspectos observables: qué debe conservar el sujeto, cómo progresa la acción, cómo se mueve la cámara, si cambian la luz o el entorno y si se permiten cortes o sonido nuevo. “La mano derecha sigue subiendo a la misma velocidad” puede verificarse; “hazlo natural” no.

Define task solo si el prompt activa el modo equivocado

Si el prompt no activa el modo, añade {"video_config": {"task": "extend"}} dentro de generation_config. La guía recomienda probar primero con el prompt porque task aplica restricciones más estrictas. Para un vídeo generado en el turno anterior, previous_interaction_id permite continuar sin volver a subirlo. Es necesario conservar el estado: una salida creada con store=false no se puede editar después con ese ID.

Cambia el plan si afectan los límites de diálogo o región

También hay límites de voz y región. Un vídeo subido donde alguien ya habla no puede ampliarse actualmente con diálogo adicional; sí se permite una continuación silenciosa o una instrucción que no añada diálogo. El habla está disponible en extensiones multivuelta de vídeo generado por el modelo mediante previous_interaction_id. La edición y extensión de vídeos subidos no están disponibles en el EEE, Suiza y Reino Unido, mientras que extender vídeo generado por el modelo sigue permitido en las regiones disponibles.

¿Solo tienes los fotogramas límite? Genera el movimiento entre ellos

Usa la interpolación cuando el estado inicial y el final están claros, pero falta el movimiento intermedio. Envía las dos imágenes en orden y explica cómo deben desplazarse el sujeto, la cámara y el entorno del primer estado al último.

Envía primero las dos imágenes límite

La interpolación encaja cuando se conocen los estados de inicio y final, pero falta el movimiento. Introduce las dos imágenes en orden en input y describe cómo deben evolucionar el sujeto, la cámara y el entorno. El ejemplo completo codifica JPEG locales y solicita un resultado 720p.

import base64
from pathlib import Path
from google import genai

client = genai.Client()

first_frame_b64 = base64.b64encode(Path("first.jpg").read_bytes()).decode()
last_frame_b64 = base64.b64encode(Path("last.jpg").read_bytes()).decode()

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "image", "data": first_frame_b64, "mime_type": "image/jpeg"},
        {"type": "image", "data": last_frame_b64, "mime_type": "image/jpeg"},
        {
            "type": "text",
            "text": (
                "Crea una transición natural del primer fotograma al último. "
                "Conserva la identidad del sujeto y la dirección de cámara, mantén continua la trayectoria y evita cortes bruscos."
            ),
        },
    ],
    response_format={"type": "video", "resolution": "720p"},
)

with open("interpolation.mp4", "wb") as f:
    f.write(base64.b64decode(interaction.output_video.data))

Usa image_to_video solo si el modo sigue sin quedar claro

Después de enviar las imágenes en orden, indica de forma explícita que la primera es el inicio y la segunda el final. Si el modo sigue siendo incorrecto, añade image_to_video como valor de task; debe complementar la descripción de sujeto, cámara y movimiento, no sustituirla.

Cuanto mayor sea la diferencia, más debes ordenar los cambios

Los límites compatibles facilitan el trabajo: mantén razonablemente coherentes la identidad, la relación de aspecto, el eje de cámara y la distribución espacial. Si hay cambios grandes, ordena la transformación: primero gira el sujeto, después mueve la cámara y por último cambia la luz. Es una pauta de producción, no una garantía; el resultado debe revisarse.

¿Se puede entregar? Revisa unión, sujeto, movimiento y audio

El criterio no es que el vídeo “se parezca bastante”, sino que puedas señalar cada defecto y convertirlo en una instrucción útil para la siguiente generación. Míralo una vez a velocidad normal, revisa después la unión lentamente o fotograma a fotograma y escucha el audio por separado.

DimensiónQué revisarInstrucción útil para repetir
SujetoRostro, pelo, ropa, accesorios, proporciones, manos y objetos“Mantén el color del abrigo y el objeto de la mano derecha.”
MovimientoDirección, velocidad, equilibrio, contactos, mirada y trayectoria de cámara“Continúa el paso hacia la derecha sin acelerar ni invertirlo.”
Montaje e imagenSalto, exposición, temperatura, profundidad de campo, perspectiva y geometría del fondo“Mantén el mismo eje y focal; no cortes.”
AudioAmbiente, pulso musical, diálogo, reverberación, volumen, clics y ruido nuevo“Continúa el ambiente, no añadas diálogo y conserva el pulso.”

En extensión revisa la unión; en interpolación, los dos extremos

En una extensión, compara aproximadamente el último segundo del original con el primero de la continuación y comprueba si la salida alteró los fotogramas finales del original. En interpolación, evalúa el camino intermedio y confirma que el inicio corresponde a la primera imagen y el final alcanza la segunda, no solo algo de estilo parecido.

Endurece una sola variable por revisión

En cada revisión, endurece una variable principal. Corrige primero la identidad, luego el movimiento y después cámara y sonido. Así es más fácil atribuir el cambio. Escribe “la manga izquierda cambia de color en la unión”, no “hazlo más cinematográfico”.

No fuerces este endpoint en trabajos que no encajan

Este endpoint no es un editor de una sola llamada si necesitas insertar un plano en medio de una pieza larga, continuar diálogo existente o razonar sobre varios clips fuente. Si el trabajo choca con cualquiera de los límites siguientes, divídelo en planos o cambia primero a un flujo de edición convencional.

  • Los clips subidos solo se amplían al final y deben durar 10 segundos o menos.
  • No se puede añadir diálogo a un vídeo subido donde alguien habla; la edición de voz tampoco está disponible.
  • No se admiten referencias de audio; el audio de una referencia de vídeo se ignora.
  • Se permiten como máximo tres referencias de vídeo, de hasta tres segundos cada una; no se admite razonar entre varios vídeos.
  • No se admiten instrucciones de sistema, temperature, top_p, secuencias de parada ni un campo separado de negative prompt. Escribe las prohibiciones en el prompt normal.
  • Todos los vídeos incluyen SynthID invisible y entradas y salidas pasan filtros de seguridad.
  • La documentación declara soporte completo para prompts en inglés; otros idiomas no se han evaluado y pueden variar.

La alternativa práctica es generar planos cortos por separado y montarlos y mezclarlos después en un editor convencional. Suele ahorrar más tiempo que insistir en que una extensión al final resuelva inserciones intermedias, continuidad de diálogo o razonamiento entre varios clips.

Pasa esta lista antes de entregar

Una llamada correcta no equivale a una aprobación de calidad. Antes de entregar, confirma que:

  • has conservado el vídeo de entrada, el resultado y las dos imágenes límite;
  • has registrado el model ID, la resolución y el prompt completo;
  • has revisado la unión fotograma a fotograma y comprobado si cambiaron los últimos fotogramas del original;
  • has confirmado que la interpolación empieza en la primera imagen y alcanza realmente la segunda;
  • has escuchado el audio por separado para detectar cortes, clics o ruido nuevo;
  • has comprobado región, duración de entrada, diálogo y límites de las referencias.

Si algún punto no tiene una respuesta clara, revisa el resultado en lugar de aprobarlo solo por el estado de la API.

Referencias oficiales

¿Quieres optimizar tu flujo de trabajo con LLM?

Conecta modelos mediante una API, gestiona claves y controla el gasto en IA.

Empezar gratis