Generación de vídeo en Python
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.