Generación de vídeo en Python

Completado

Sugerencia

Consulte la pestaña Texto e imágenes para obtener más detalles.

Para compilar aplicaciones que generan vídeos mediante programación, puede usar el SDK de Python de OpenAI con la implementación de Sora 2 en Microsoft Foundry. La generación de vídeo es un proceso asincrónico: envía un trabajo, sondea el estado y descarga el resultado cuando está listo.

Generación de un vídeo

La generación de vídeo sigue un patrón de tres pasos: crear el trabajo, inspeccionar si terminan las tareas y descargar el resultado.

import time

# Create the video generation job
video = client.videos.create(
    model="sora-2",
    prompt="A robot walks through a rainy city street at dusk, neon signs reflecting in puddles",
    size="1280x720",
    seconds="4",
)

print(f"Video creation started. ID: {video.id}")

# Poll for completion
while video.status not in ["completed", "failed", "cancelled"]:
    print(f"Status: {video.status}. Waiting...")
    time.sleep(20)
    video = client.videos.retrieve(video.id)

# Download when complete
if video.status == "completed":
    content = client.videos.download_content(video.id, variant="video")
    content.write_to_file("output.mp4")
    print("Video saved to output.mp4")

Generación de vídeo a partir de una imagen de referencia

Para usar una imagen como marco inicial, pásela al input_reference parámetro . La resolución de imágenes debe coincidir con el tamaño de vídeo de destino:

video = client.videos.create(
    model="sora-2",
    prompt="The camera slowly pans across the landscape as clouds drift overhead",
    size="1280x720",
    seconds="4",
    input_reference=open("landscape.png", "rb"),
)

Nota:

Actualmente se rechazan las imágenes de referencia que contienen caras humanas. En su lugar, use imágenes de paisajes, objetos o personajes animados.

Remix de un vídeo existente

Para modificar un vídeo existente y conservar su estructura, use el método remix con el identificador del vídeo original:

video = client.videos.remix(
    video_id="video_abc123",
    prompt="Change the color palette to warm sunset tones",
)

Gestionar estados de trabajo

Los trabajos con vídeo pueden devolver estos valores de estado:

Situación Descripción
queued El trabajo está esperando que se procese
in_progress Se está generando vídeo
completed El vídeo está listo para su descarga
failed Error de generación (comprobación de los detalles del error)
cancelled Se canceló el trabajo

Cuando se produce un error en un trabajo, consulte video.error para obtener detalles sobre el problema.

Consideraciones clave

  • Límites de velocidad: puede ejecutar hasta dos trabajos de creación de vídeo simultáneamente.
  • Expiración del trabajo: los vídeos completados están disponibles para su descarga durante 24 horas
  • Requisitos de resolución: las imágenes de referencia deben coincidir exactamente con la resolución de vídeo de destino.
  • Filtrado de contenido: las solicitudes están sujetas a moderación de contenido; El contenido dañino no generará

En el ejercicio siguiente, aplicará estas técnicas para crear una aplicación de generación de vídeo completa.