Gerar vídeo no Python

Concluído

Dica

Consulte a guia Texto e imagens para obter mais detalhes!

Para criar aplicativos que geram vídeos programaticamente, você pode usar o SDK do Python OpenAI com sua implantação do Sora 2 no Microsoft Foundry. A geração de vídeo é um processo assíncrono: você envia uma tarefa, verifica o status e baixa o resultado quando ele está pronto.

Gerar um vídeo

A geração de vídeo segue um padrão de três etapas: criar o trabalho, sondar para conclusão e baixar o 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")

Gerar vídeo de uma imagem de referência

Para usar uma imagem como um quadro inicial, passe-a para o input_reference parâmetro. A resolução da imagem deve corresponder ao tamanho do 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"),
)

Observação

No momento, as imagens de referência que contêm rostos humanos são rejeitadas. Em vez disso, use imagens de paisagens, objetos ou caracteres animados.

Remixar um vídeo existente

Para modificar um vídeo existente, preservando sua estrutura, use o método remix com a ID do vídeo original:

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

Manipular estados de tarefas

Trabalhos de vídeo podem retornar esses valores de status:

Situação Descrição
queued A tarefa está aguardando processamento
in_progress O vídeo está sendo gerado
completed O vídeo está pronto para download
failed Falha na geração (verificar detalhes do erro)
cancelled O trabalho foi cancelado

Quando um trabalho falha, verifique video.error para detalhes sobre o que deu errado.

Principais considerações

  • Limites de taxa: você pode executar até dois trabalhos de criação de vídeo simultaneamente
  • Expiração da tarefa: vídeos concluídos estão disponíveis para download por 24 horas
  • Requisitos de resolução: as imagens de referência devem corresponder exatamente à resolução de vídeo de destino
  • Filtragem de conteúdo: os prompts estão sujeitos à moderação de conteúdo; conteúdo prejudicial não gerará

No exercício a seguir, você aplicará essas técnicas para criar um aplicativo de geração de vídeo completo.