|

Dominando la API de extensión de video Veo 3.1: Guía completa para generar videos largos de 148 segundos mediante extensiones incrementales de 7 segundos

¿Quieres generar videos de IA de más de 8 segundos pero te encuentras con límites de tiempo en cada generación? Este es un obstáculo común para los creadores de video con IA. En este artículo, analizaremos a fondo la capacidad de extensión de video (extend) de Google Veo 3.1, ayudándote a dominar la solución técnica completa para extender videos cortos de 8 segundos hasta 148 segundos mediante la API.

Valor principal: Al terminar de leer este artículo, habrás aprendido a usar la API de extensión de Veo 3.1, entenderás el mecanismo de incremento de 7 segundos y podrás implementar de forma independiente la generación de videos de IA de hasta 148 segundos.

veo-3-1-extend-video-api-guide-es 图示


Puntos clave de la API de extensión de video de Veo 3.1

Antes de profundizar en los detalles técnicos, conozcamos los parámetros clave y las limitaciones de la capacidad "extend" de Veo 3.1.

Parámetro Valor Descripción
Duración por extensión 7 segundos Cada llamada a "extend" añade exactamente 7 segundos de video
Máximo de extensiones 20 veces Se pueden realizar hasta 20 extensiones desde el video original
Duración máxima de salida 148 segundos 8s original + 20 × 7s de extensión = 148s
Resolución de entrada 720p / 1080p Soporta dos niveles de definición de entrada
Resolución de salida 720p La salida de extensión está limitada actualmente a 720p
Relaciones de aspecto soportadas 16:9 / 9:16 Soporta tanto formato horizontal como vertical
Requisito de tasa de fotogramas 24 fps El video de entrada debe ser de 24 fotogramas por segundo
Formato de archivo MP4 Tanto la entrada como la salida deben ser formato MP4

Detalle del funcionamiento de la extensión de video en Veo 3.1

La función Scene Extension de Veo 3.1 utiliza un ingenioso mecanismo de generación continua:

  1. Muestreo del último segundo: El sistema extrae características visuales del último segundo (24 fotogramas) del video de entrada.
  2. Modelado de continuidad: Basándose en estas características, predice los siguientes 7 segundos de contenido de video.
  3. Empalme perfecto: Une los nuevos 7 segundos generados con el video original en un solo archivo continuo.
  4. Acumulación iterativa: El resultado de cada extensión puede usarse como entrada para la siguiente.

Este diseño asegura que el video mantenga la continuidad visual tras múltiples extensiones, incluyendo:

  • Transiciones fluidas en los movimientos de los personajes.
  • Transiciones naturales en la iluminación de la escena.
  • Consistencia en los elementos del fondo.
  • Coherencia en el audio (si lo hay).

🎯 Sugerencia técnica: Si necesitas llamar a la API de extensión de video de Veo 3.1, puedes obtener una interfaz unificada a través de la plataforma APIYI (apiyi.com), que facilita el acceso a los modelos de generación de video de la serie de Google.


Especificaciones técnicas detalladas de la API Veo 3.1 Extend

Condiciones de restricción de entrada

Antes de llamar a la API Veo 3.1 Extend, debes asegurarte de que el video de entrada cumpla con las siguientes especificaciones:

Ítem de restricción Requisito Resultado si no se cumple
Origen Debe ser un video generado por Veo Devuelve un validation error
Formato MP4 Error de formato no compatible
Duración 1-30 segundos Error por fuera de rango
Tasa de fotogramas 24 fps Error por tasa de fotogramas no coincidente
Resolución 720p o 1080p Fallo en la validación de resolución
Relación de aspecto 16:9 o 9:16 Error de relación no compatible

Nota importante: La función extend de la Gemini API solo admite videos generados por Veo como entrada. Si intentas usar videos de otras fuentes (como grabaciones de celular u otros videos generados por IA), la API devolverá un error de validación.

Especificaciones de salida

Elemento de salida Especificación
Formato de archivo MP4
Duración de la extensión Fijo de 7 segundos
Resolución 720p (limitación actual)
Tasa de fotogramas 24 fps
Audio Admite la continuación de efectos de sonido de fondo
Validez de almacenamiento El servidor lo conserva durante 2 días

veo-3-1-extend-video-api-guide-es 图示


Guía rápida de la API de extensión de vídeo de Veo 3.1

Preparación del entorno

Antes de empezar, asegúrate de haber cumplido lo siguiente:

  1. Tener una cuenta en Google AI Studio o Vertex AI.
  2. Haber obtenido acceso a la API de Gemini.
  3. Tener instalado un entorno de Python 3.8+.
  4. Haber instalado el SDK google-genai.
pip install google-genai

Ejemplo de código minimalista

A continuación, se muestra el código más sencillo para llamar a la API de extensión de Veo 3.1:

from google import genai
import time

# Inicializar el cliente
client = genai.Client(
    api_key="YOUR_API_KEY"
    # También puedes usar la interfaz unificada de APIYI apiyi.com
)

# Paso 1: Generar el vídeo original primero
print("Generando vídeo original...")
initial_operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="Un halcón dorado planea en el cielo azul, con la luz del sol atravesando las nubes",
)

# Esperar a que se complete la generación
while not initial_operation.done:
    time.sleep(30)
    initial_operation = client.operations.get(initial_operation)

initial_video = initial_operation.result.generated_videos[0]
print(f"Generación del vídeo original completada, duración: 8 segundos")

# Paso 2: Extender el vídeo
print("Extendiendo vídeo...")
extend_operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="El halcón continúa dando vueltas en el aire y se lanza en picado para capturar a su presa",
    video=initial_video
)

# Esperar a que se complete la extensión
while not extend_operation.done:
    time.sleep(30)
    extend_operation = client.operations.get(extend_operation)

extended_video = extend_operation.result.generated_videos[0]
print(f"Extensión de vídeo completada, duración total: 15 segundos")

🚀 Inicio rápido: Se recomienda usar la plataforma APIYI apiyi.com para probar rápidamente la API de Veo 3.1. Esta plataforma ofrece una interfaz lista para usar, permitiendo completar la integración sin configuraciones complejas.

Ver código completo: Implementación de generación de vídeo de hasta 148 segundos
from google import genai
import time
import os

class Veo31VideoExtender:
    """Extensor de vídeo Veo 3.1 - Soporta generación de vídeo de hasta 148 segundos"""

    def __init__(self, api_key: str):
        self.client = genai.Client(api_key=api_key)
        self.model = "veo-3.1-generate-preview"
        self.max_extensions = 20  # Número máximo de extensiones
        self.extension_duration = 7  # 7 segundos por cada extensión

    def generate_initial_video(self, prompt: str, aspect_ratio: str = "16:9"):
        """Generar vídeo inicial"""
        print(f"[1/2] Generando vídeo inicial...")
        print(f"    indicación: {prompt[:50]}...")

        operation = self.client.models.generate_videos(
            model=self.model,
            prompt=prompt,
            config={
                "aspect_ratio": aspect_ratio,
                "number_of_videos": 1
            }
        )

        video = self._wait_for_completion(operation)
        print(f"    Generación de vídeo inicial completada (8 segundos)")
        return video

    def extend_video(self, video, prompt: str, target_duration: int = 148):
        """
        Extender vídeo a la duración objetivo

        Args:
            video: Objeto de vídeo de entrada
            prompt: indicación de extensión
            target_duration: Duración objetivo (segundos), máximo 148 segundos

        Returns:
            Objeto de vídeo extendido
        """
        # Calcular el número de extensiones necesarias
        initial_duration = 8
        needed_duration = target_duration - initial_duration
        extensions_needed = min(
            (needed_duration + self.extension_duration - 1) // self.extension_duration,
            self.max_extensions
        )

        print(f"[2/2] Iniciando extensión de vídeo...")
        print(f"    Duración objetivo: {target_duration} segundos")
        print(f"    Extensiones necesarias: {extensions_needed}")

        current_video = video
        current_duration = initial_duration

        for i in range(extensions_needed):
            print(f"    Progreso de extensión: {i+1}/{extensions_needed}")

            operation = self.client.models.generate_videos(
                model=self.model,
                prompt=prompt,
                video=current_video
            )

            current_video = self._wait_for_completion(operation)
            current_duration += self.extension_duration

            print(f"    Duración actual: {current_duration} segundos")

        final_duration = min(current_duration, 148)
        print(f"¡Extensión de vídeo completada! Duración final: {final_duration} segundos")
        return current_video

    def _wait_for_completion(self, operation, check_interval: int = 30):
        """Esperar a que se complete la operación"""
        while not operation.done:
            time.sleep(check_interval)
            operation = self.client.operations.get(operation)

        if operation.result.generated_videos:
            return operation.result.generated_videos[0]
        raise Exception("Error al generar el vídeo")

    def download_video(self, video, output_path: str):
        """Descargar vídeo localmente"""
        print(f"Descargando vídeo en: {output_path}")

        # Obtener contenido del vídeo
        video_data = self.client.files.download(video.video)

        with open(output_path, 'wb') as f:
            f.write(video_data)

        print(f"¡Descarga completada! Tamaño del archivo: {os.path.getsize(output_path) / 1024 / 1024:.2f} MB")


# Ejemplo de uso
if __name__ == "__main__":
    # Inicializar el extensor
    extender = Veo31VideoExtender(api_key="YOUR_API_KEY")

    # Generar vídeo inicial
    initial_video = extender.generate_initial_video(
        prompt="La orilla del mar al atardecer, con la luz dorada del sol esparciéndose sobre el agua ondulante, mientras un velero navega lentamente hacia la distancia",
        aspect_ratio="16:9"
    )

    # Extender a 60 segundos
    extended_video = extender.extend_video(
        video=initial_video,
        prompt="El velero continúa avanzando, el cielo se vuelve naranja rojizo gradualmente, las gaviotas vuelan en círculos alrededor del barco",
        target_duration=60
    )

    # Descargar vídeo
    extender.download_video(extended_video, "extended_video_60s.mp4")

Técnicas avanzadas de la API de extensión de vídeo de Veo 3.1

Estrategia de indicaciones: Asegurar la continuidad del vídeo

Al realizar extensiones de vídeo, la redacción de la indicación influye directamente en el resultado. Aquí tienes algunas mejores prácticas:

Estrategia Descripción Ejemplo
Continuidad de acción Describe la siguiente fase del movimiento "El halcón sigue bajando en picado, acercándose al suelo"
Desarrollo de la escena Describe cambios naturales en el entorno "El cielo se oscurece gradualmente, las estrellas empiezan a aparecer"
Mantener el sujeto Mantén el sujeto del vídeo constante "El mismo halcón vuela en círculos sobre el bosque"
Evitar saltos No cambies de escena repentinamente ❌ "Cambiar a una escena interior"

Consideraciones sobre el procesamiento de audio

Veo 3.1 soporta la generación de audio nativo, pero existen algunas limitaciones al usar la función de extensión:

  1. Efectos ambientales: Es capaz de dar continuidad de forma fluida a sonidos de ambiente y música de fondo.
  2. Diálogo/Voces: Si no hay voces en el último segundo del vídeo original, tampoco las habrá en la extensión.
  3. Coherencia sonora: El sistema intentará mantener la consistencia del estilo de audio.

💡 Sugerencia: Si el vídeo requiere un diálogo continuo, se recomienda asegurar que el último segundo del vídeo original contenga audio de voz; de lo contrario, la parte extendida solo conservará los efectos de sonido de fondo.

Extensión por lotes y optimización de costes

Cuando necesites generar una gran cantidad de vídeos largos, puedes considerar las siguientes estrategias de optimización:

veo-3-1-extend-video-api-guide-es 图示

# Ejemplo de optimización de extensión por lotes
def batch_extend_videos(video_list, prompts, target_duration=60):
    """
    Extender vídeos por lotes
    A través de la plataforma APIYI apiyi.com se pueden obtener precios más competitivos por lotes
    """
    results = []

    for i, (video, prompt) in enumerate(zip(video_list, prompts)):
        print(f"Procesando vídeo {i+1}/{len(video_list)}")

        extended = extender.extend_video(
            video=video,
            prompt=prompt,
            target_duration=target_duration
        )
        results.append(extended)

        # Evitar alcanzar los límites de velocidad (rate limits)
        time.sleep(5)

    return results

Veo 3.1 Extend: Comparativa frente a otras soluciones

Existen diversas soluciones de generación de video con IA en el mercado. Aquí tienes una comparativa de la capacidad "extend" de Veo 3.1 frente a otras opciones principales:

Dimensión de comparativa Veo 3.1 Extend Sora Kling Runway Gen-3
Duración máxima 148 segundos 60 segundos 120 segundos 40 segundos
Mecanismo de extensión Incrementos de 7s Sin extensión Incrementos de 5s Sin extensión
Resolución máxima 4K (generación) / 720p (extensión) 1080p 1080p 1080p
Audio nativo Compatible Compatible Soporte parcial No compatible
Soporte vertical 9:16 9:16 9:16 9:16
Disponibilidad de API Gemini API Restringida Abierta Abierta
Plataformas disponibles APIYI (apiyi.com), Google AI Studio Oficial Oficial, APIYI Oficial

Recomendaciones de selección

  • Si buscas la mayor duración: Elige Veo 3.1, que admite hasta 148 segundos.
  • Si buscas estabilidad en la imagen: Veo 3.1 es la mejor opción para mantener la continuidad visual.
  • Si tienes un presupuesto limitado: Puedes obtener mejores precios a través de APIYI (apiyi.com).
  • Si necesitas resultados rápidos: La versión Veo 3.1 Fast ofrece una respuesta mucho más ágil.

Preguntas frecuentes sobre la extensión de video en Veo 3.1

P1: ¿Por qué no puedo extender mi video y aparece un «validation error»?

Esto suele ocurrir porque el video de entrada no fue generado originalmente por Veo. La función "extend" de la Gemini API solo admite videos generados por Veo como entrada.

Solución:

  1. Asegúrate de usar Veo 3.1 para generar el video original.
  2. Comprueba que el formato del video sea MP4.
  3. Confirma que la tasa de fotogramas sea de 24 fps y la resolución de 720p/1080p.
  4. A través de la plataforma APIYI (apiyi.com) puedes obtener ayuda detallada para el diagnóstico de errores.
P2: ¿Cómo puedo mantener la consistencia del estilo tras la extensión?

La clave para mantener la consistencia visual reside en la estrategia de la indicación:

  1. Continuidad de la indicación: Usa descripciones similares a las del video original en la indicación de extensión.
  2. Evita saltos de estilo: No añadas nuevas descripciones de estilo visual durante la extensión.
  3. Mantén el sujeto: Indica claramente que se trata del "mismo" sujeto continuando la acción.
  4. Transiciones suaves: Los cambios de escena deben ser progresivos, evita cortes repentinos.

Ejemplo:

  • Original: "Un gato blanco jugando en el césped"
  • Extensión: "El mismo gato blanco continúa corriendo por el césped, persiguiendo una mariposa" ✅
  • Extensión: "Un perro negro aparece en la imagen" ❌
P3: ¿Bajará la calidad del video después de extenderlo 20 veces?

En teoría, tras múltiples extensiones, el video podría presentar cierta deriva en la calidad. Sin embargo, Veo 3.1 ha sido optimizado específicamente para este problema:

  • Cada extensión toma como referencia las características del estilo original.
  • El modelado de continuidad asegura que los movimientos sean fluidos.
  • La resolución se mantiene estable en una salida de 720p.

Sugerencia: Si tus requisitos de calidad son extremadamente altos, considera evaluar el resultado tras 10-15 extensiones. Puedes realizar varias pruebas comparativas fácilmente a través de la plataforma APIYI (apiyi.com).

P4: ¿Cuánto tiempo se almacenan los videos extendidos?

Los videos generados se conservan en los servidores de Google durante 2 días. Transcurrido este tiempo, se eliminarán automáticamente.

Recordatorios importantes:

  • El video extendido se considera un nuevo video generado y también se conserva solo por 2 días.
  • Se recomienda descargar y guardar el video localmente justo después de generarlo.
  • Puedes usar el método download_video en el código para automatizar la descarga.
P5: ¿Cómo obtengo acceso a la API de Veo 3.1?

Actualmente, la API de Veo 3.1 se encuentra en fase de "Paid Preview" (Vista previa de pago) y puedes acceder a ella por estas vías:

  1. Google AI Studio: Los desarrolladores pueden solicitar el acceso directamente.
  2. Vertex AI: Los usuarios empresariales pueden habilitarlo a través de la consola de Google Cloud.
  3. APIYI (apiyi.com): Ofrece una interfaz de API unificada compatible con Veo 3.1, disponible con solo registrarse.

Manejo de errores de la API de extensión de video Veo 3.1

En el uso real, es posible que te encuentres con diversos errores. Aquí tienes los errores más comunes y sus soluciones:

Tipo de error Mensaje de error Causa Solución
Error de validación Video validation failed El video de entrada no cumple con las especificaciones Verifica la fuente, el formato y la resolución
Error de tiempo de espera Operation timed out El tiempo de generación es demasiado largo Aumenta el tiempo de espera y reintenta
Error de cuota Quota exceeded Se ha excedido el límite de llamadas a la API Espera a que se reinicie la cuota o mejora tu plan
Error de formato Unsupported format El formato de video no es compatible Conviértelo a formato MP4
Error de tasa de fotogramas Invalid frame rate La tasa de fotogramas no es de 24fps Vuelve a codificar el video
# 错误处理示例
def safe_extend_video(video, prompt, max_retries=3):
    """带重试机制的视频扩展"""
    for attempt in range(max_retries):
        try:
            operation = client.models.generate_videos(
                model="veo-3.1-generate-preview",
                prompt=prompt,
                video=video
            )

            while not operation.done:
                time.sleep(30)
                operation = client.operations.get(operation)

            return operation.result.generated_videos[0]

        except Exception as e:
            print(f"尝试 {attempt + 1} 失败: {e}")
            if attempt < max_retries - 1:
                time.sleep(60)  # 等待后重试
            else:
                raise

Casos de uso de la API de extensión de video Veo 3.1

Creación de videos cortos

Extiende fragmentos de 8 segundos a videos completos de más de 60 segundos, ideal para:

  • Creación de contenido para TikTok/Douyin
  • Producción de YouTube Shorts
  • Material publicitario para redes sociales

Previsualización cinematográfica

Genera rápidamente videos conceptuales de 1 a 2 minutos para:

  • Visualización de guiones
  • Dinamización de storyboards
  • Demostración de propuestas creativas

Exhibición de productos

Crea videos de exhibición dinámica de productos:

  • Exhibición del producto con rotación de 360°
  • Simulación de escenarios de uso
  • Animación de demostración de funciones

Matriz de Casos de Uso de Veo 3.1 Extend Elige la mejor estrategia de extensión según el escenario

Creación de videos cortos

Plataforma: TikTok / Reels Duración rec.: 15-60 seg N.º de extensiones: 1-7 veces

16:9 Horizontal

9:16 Vertical

Coste: Bajo | Eficiencia: Alta

YouTube Shorts

Plataforma: YouTube Shorts Duración rec.: 30-60 seg N.º de extensiones: 3-7 veces

9:16 Vertical priority

Audio nativo

Coste: Bajo | Eficiencia: Alta

Producción publicitaria

Tipo: Anuncios / Branding Duración rec.: 15-30 seg N.º de extensiones: 1-3 veces

HD 1080p

Multi-formato

Coste: Mínimo | Eficiencia: Máxima

Previs. cinematográfica

Tipo: Guion visual / Storyboard Duración rec.: 60-120 seg N.º de extensiones: 7-15 veces

Cine 16:9

Continuidad

Coste: Medio | Calidad: Alta

Videos de tutoriales

Tipo: Demo / Tutorial de función Duración rec.: 30-90 seg N.º de extensiones: 3-11 veces

Nitidez

Por pasos

Coste: Medio | Eficiencia: Media

Videos largos

Tipo: Cortometraje / Microcine Duración rec.: 120-148 seg N.º de extensiones: 15-20 veces

Duración máx.

Estrategia de indicación

Coste: Alto | Duración: Máxima

Todos los escenarios disponibles en APIYI (apiyi.com) | Soporta generación por lotes y optimización de costes


Resumen

La capacidad de extensión de video (extend) de Google Veo 3.1 ofrece una posibilidad innovadora para ampliar la duración en la generación de video con IA:

  1. Mecanismo de incremento de 7 segundos: Cada extensión añade de forma fija 7 segundos, realizando un muestreo basado en el último segundo para garantizar la continuidad.
  2. Límite de 20 iteraciones: Se puede realizar un máximo de 20 operaciones de extensión.
  3. Salida máxima de 148 segundos: 8 segundos originales + 140 segundos de extensión = 148 segundos de duración total.
  4. Restricciones estrictas de entrada: Solo admite videos MP4 generados por Veo, a 24 fps y en resoluciones 720p/1080p.

Para los desarrolladores y creadores que necesitan generar videos de larga duración, dominar la API extend de Veo 3.1 mejorará significativamente la eficiencia en la producción de contenido. Te recomendamos utilizar APIYI (apiyi.com) para validar rápidamente los resultados y obtener un servicio de llamadas API estable.


Este artículo ha sido redactado por el equipo técnico de APIYI Team. Para más tutoriales sobre el uso de APIs de IA, visita apiyi.com.

Publicaciones Similares