Générer une vidéo en Python
Tip
Pour plus d’informations, consultez l’onglet Texte et images !
Pour générer des applications qui génèrent des vidéos par programmation, vous pouvez utiliser le Kit de développement logiciel (SDK) Python OpenAI avec votre déploiement Sora 2 dans Microsoft Foundry. La génération de vidéos est un processus asynchrone : vous soumettez un travail, vérifiez l'état et téléchargez le résultat lorsqu'il est prêt.
Générer une vidéo
La génération de vidéos suit un modèle en trois étapes : créez la tâche, vérifiez l’achèvement et téléchargez le résultat.
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")
Générer une vidéo à partir d’une image de référence
Pour utiliser une image comme cadre de départ, passez-la au paramètre input_reference. La résolution d’image doit correspondre à la taille de la vidéo cible :
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"),
)
Note
Les images de référence contenant des visages humains sont actuellement rejetées. Utilisez plutôt des images de paysages, d’objets ou de personnages animés.
Remixer une vidéo existante
Pour modifier une vidéo existante tout en préservant sa structure, utilisez la méthode remix avec l’ID de la vidéo d’origine :
video = client.videos.remix(
video_id="video_abc123",
prompt="Change the color palette to warm sunset tones",
)
Gérer les états des tâches
Les tâches vidéo peuvent retourner les valeurs d’état suivantes :
| État | Description |
|---|---|
queued |
La tâche est en attente de traitement |
in_progress |
La vidéo est générée |
completed |
La vidéo est prête à être téléchargée |
failed |
Échec de la génération (vérifiez les détails de l'erreur) |
cancelled |
Le travail a été annulé |
Lorsqu'un travail échoue, vérifiez video.error pour obtenir des détails sur ce qui s’est mal passé.
Considérations importantes
- Limites de débit : Vous pouvez exécuter jusqu’à deux travaux de création de vidéos simultanément
- Expiration du travail : Les vidéos terminées sont disponibles pour le téléchargement pendant 24 heures
- Exigences de résolution : les images de référence doivent correspondre exactement à la résolution vidéo cible
- Filtrage du contenu : les invites sont soumises à la modération du contenu ; le contenu dangereux ne sera pas généré
Dans l’exercice suivant, vous allez appliquer ces techniques pour créer une application de génération vidéo complète.