توليد الفيديو بلغة بايثون
نصيحة
راجع علامة التبويب النص والصور لمزيد من التفاصيل!
لبناء تطبيقات تولد فيديوهات برمجية، يمكنك استخدام حزمة تطوير تطوير OpenAI Python مع نشر Sora 2 في Microsoft Foundry. توليد الفيديو عملية غير متزامنة — تقدم وظيفة، وتستطلع للحالة، وتحمل النتيجة عندما تكون جاهزة.
أنشئ فيديو
يتبع توليد الفيديو نمطا من ثلاث خطوات: إنشاء المهمة، إجراء استطلاع للإكمال، وتحميل النتيجة.
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")
توليد فيديو من صورة مرجعية
لاستخدام صورة كإطار بداية، مررها إلى المعامل.input_reference يجب أن تتطابق دقة الصورة مع حجم الفيديو المستهدف:
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"),
)
ملحوظة
الصور المرجعية التي تحتوي على وجوه بشرية مرفوضة حاليا. استخدم صورا للمناظر الطبيعية أو الأشياء أو الشخصيات المتحركة بدلا من ذلك.
إعادة مزج فيديو موجود
لتعديل فيديو موجود مع الحفاظ على هيكله، استخدم طريقة إعادة المزج مع معرف الفيديو الأصلي:
video = client.videos.remix(
video_id="video_abc123",
prompt="Change the color palette to warm sunset tones",
)
حالات الوظيفة التي تتعامل معها
يمكن لوظائف الفيديو أن ترجع هذه القيم الحالة:
| Status | الوصف |
|---|---|
queued |
الوظيفة تنتظر أن تتم معالجتها |
in_progress |
يتم إنتاج الفيديو |
completed |
الفيديو جاهز للتحميل |
failed |
فشل التوليد (تحقق من تفاصيل الخطأ) |
cancelled |
تم إلغاء الوظيفة |
عندما تفشل الوظيفة، تحقق video.error من التفاصيل حول ما حدث بشكل خاطئ.
الاعتبارات
- حدود المعدل: يمكنك تشغيل ما يصل إلى مهمتين لإنشاء الفيديو في نفس الوقت
- انتهاء صلاحية الوظيفة: الفيديوهات المكتملة متاحة للتحميل لمدة 24 ساعة
- متطلبات الدقة: يجب أن تتطابق الصور المرجعية مع دقة الفيديو المستهدفة بدقة
- تصفية المحتوى: تخضع المحفزات لمراقبة المحتوى؛ المحتوى الضار لن يولد
في التمرين التالي، ستطبق هذه التقنيات لبناء تطبيق كامل لإنتاج الفيديو.