المدوَّنة العربية
Amazon Nova Reel 1.1 : إنشاء مقاطع فيديو متعددة اللقطات تصل مدتها إلى دقيقتين
في مؤتمر Re:Invent 2024، كشفنا النقاب عن نماذج Amazon Nova، وهي الجيل الجديد من نماذج الأساس (FMs) المقدمة من Amazon. ومن أبرز هذه النماذج Amazon Nova Reel، النموذج المتطور الذي يقوم بتحويل الأوصاف النصية والصور المرجعية (يُطلق عليهما معاً اسم “الموجّه”) إلى مقاطع فيديو قصيرة مذهلة.
يسرنا اليوم الإعلان عن Amazon Nova Reel 1.1، الذي يرتقي بتجربة إنشاء الفيديو إلى مستوى جديد. يتميز هذا الإصدار بتحسينات ملموسة في جودة المخرجات وسرعة الاستجابة عند إنشاء المقاطع أحادية اللقطة مدتها 6 ثوانٍ، متفوقاً بذلك على قدرات الإصدار السابق Amazon Nova Reel 1.0. الأهم من ذلك، يمكنكم الآن إنشاء مقاطع فيديو متعددة اللقطات تصل مدتها إلى دقيقتين، مع الحفاظ على تناسق مثالي في الأسلوب بين جميع اللقطات. ولكم حرية الاختيار بين تقديم موجّه واحد لإنشاء فيديو كامل، أو تصميم كل لقطة بشكل منفرد باستخدام موجّهات مُخَّصَّصَة. هذه المرونة تفتح آفاقاً جديدة لإنشاء محتوى فيديو مبتكر عبر منصة Amazon Bedrock.
يُمثّل Amazon Nova Reel نقلة نوعية في مجال الإنتاج الإبداعي، حيث يساهم في تقليل وقت وتكلفة إنتاج الفيديو بفضل توظيف تقنيات الذكاء الاصطناعي المولّد. تستطيعون استخدامه لإنشاء محتوى فيديو جذاب لمختلف الأغراض: من الحملات التسويقية وتصميمات المنتجات إلى محتوى وسائل التواصل الاجتماعي، مع تحسين الكفاءة وتعزيز التحكم الإبداعي. على سبيل المثال، في مجال الإعلانات، يمكنكم إنتاج مقاطع فيديو عالية الجودة تتميز بمرئيات متناسقة وتوقيت محكم، وكل ذلك باستخدام اللغة الطبيعية.
بدء العمل مع Amazon Nova Reel 1.1
للمستخدمين الجدد في عالم نماذج Amazon Nova Reel، نوصي بالبدء من لوحة تحكم Amazon Bedrock. توجهوا إلى قسم Model access في لوحة التنقل، واطلبوا الوصول إلى نموذج Amazon Nova Reel. ، هذا سيُمَكّنكم من استخدام كلا الإصدارين 1.0 و1.1.
بعد الحصول على صلاحيات الوصول، تتعدد خيارات استخدام Amazon Nova Reel 1.1. يمكنكم البدء مباشرة من لوحة تحكم Amazon Bedrock، أو استخدام AWS SDK للتطوير البرمجي، أو توظيف واجهة سطر أوامر AWS (AWS CLI) للأتمتة والتحكم المتقدم.
لتجربة نموذج Amazon Nova Reel 1.1 عبر لوحة التحكم، انتقلوا إلى قسم Image/Video ضمن Playgrounds في الجانب الأيسر من الشاشة. اختاروا Nova Reel 1.1 كنموذج عمل، ثم ابدأوا بإدخال الموجّه الخاص بكم لإنشاء الفيديو المطلوب.
يقدم Amazon Nova Reel 1.1 وضعين مميزين للعمل:
- الوضع الآلي متعدد اللقطات (Multishot Automated) – يتيح هذا الوضع إنشاء فيديو متكامل من موجّه نصي واحد يمكن أن يصل إلى 4,000 حرف. يقوم النموذج تلقائياً بتحويل هذا الموجه إلى فيديو متعدد اللقطات يُجسّد رؤيتكم الإبداعية. يُرجى ملاحظة أن هذا الوضع لا يدعم إدخال الصور المرجعية.
- الوضع اليدوي متعدد اللقطات (Multishot Manual) – صُمم هذا الوضع للمبدعين الذين يرغبون في تحكّم دقيق بكل تفاصيل الفيديو. يُعرف أيضاً باسم storyboard mode، حيث يمكنكم تخصيص موجّه منفرد لكل لقطة، مما يمنحكم حرية إبداعية كاملة في تشكيل كل مشهد. يدعم هذا الوضع إضافة صورة مرجعية اختيارية لكل لقطة، مع مراعاة أن تكون دقة الصور 1280×720. ويمكنكم تقديم الصور إما بتنسيق base64 أو عبر خدمة Amazon S3.
في هذا العرض التوضيحي، سنستخدم AWS SDK for Python (Boto3) لتوضيح كيفية التعامل مع نموذج Amazon Nova Reel برمجياً. سنقوم باستدعاء النموذج عبر واجهة برمجة تطبيقات Amazon Bedrock، مستخدمين عملية StartAsyncInvoke لبدء مهمة إنشاء الفيديو بشكل غير متزامن. لمتابعة تقدم المهمة، سنوظف GetAsyncInvoke.
فيما يلي نموذج لكود Python يقوم بإنشاء فيديو مدته 120 ثانية باستخدام الوضع MULTI_SHOT_AUTOMATED
كمعامل TaskType. هذا المثال التوضيحي تم إعداده بواسطة نيتين أوسابيوس.
import random
import time
import boto3
AWS_REGION = "us-east-1"
MODEL_ID = "amazon.nova-reel-v1:1"
SLEEP_SECONDS = 15 # Interval at which to check video gen progress
S3_DESTINATION_BUCKET = "s3://<your bucket here>"
video_prompt_automated = "Norwegian fjord with still water reflecting mountains in perfect symmetry. Uninhabited wilderness of Giant sequoia forest with sunlight filtering between massive trunks. Sahara desert sand dunes with perfect ripple patterns. Alpine lake with crystal clear water and mountain reflection. Ancient redwood tree with detailed bark texture. Arctic ice cave with blue ice walls and ceiling. Bioluminescent plankton on beach shore at night. Bolivian salt flats with perfect sky reflection. Bamboo forest with tall stalks in filtered light. Cherry blossom grove against blue sky. Lavender field with purple rows to horizon. Autumn forest with red and gold leaves. Tropical coral reef with fish and colorful coral. Antelope Canyon with light beams through narrow passages. Banff lake with turquoise water and mountain backdrop. Joshua Tree desert at sunset with silhouetted trees. Iceland moss- covered lava field. Amazon lily pads with perfect symmetry. Hawaiian volcanic landscape with lava rock. New Zealand glowworm cave with blue ceiling lights. 8K nature photography, professional landscape lighting, no movement transitions, perfect exposure for each environment, natural color grading"
bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION)
model_input = {
"taskType": "MULTI_SHOT_AUTOMATED",
"multiShotAutomatedParams": {"text": video_prompt_automated},
"videoGenerationConfig": {
"durationSeconds": 120, # Must be a multiple of 6 in range [12, 120]
"fps": 24,
"dimension": "1280x720",
"seed": random.randint(0, 2147483648),
},
}
invocation = bedrock_runtime.start_async_invoke(
modelId=MODEL_ID,
modelInput=model_input,
outputDataConfig={"s3OutputDataConfig": {"s3Uri": S3_DESTINATION_BUCKET}},
)
invocation_arn = invocation["invocationArn"]
job_id = invocation_arn.split("/")[-1]
s3_location = f"{S3_DESTINATION_BUCKET}/{job_id}"
print(f"\nMonitoring job folder: {s3_location}")
while True:
response = bedrock_runtime.get_async_invoke(invocationArn=invocation_arn)
status = response["status"]
print(f"Status: {status}")
if status != "InProgress":
break
time.sleep(SLEEP_SECONDS)
if status == "Completed":
print(f"\nVideo is ready at {s3_location}/output.mp4")
else:
print(f"\nVideo generation status: {status}")
بعد بدء عملية الاستدعاء، يقوم البرنامج بالتحقق دورياً من حالة المهمة حتى اكتمال إنشاء الفيديو. نستخدم بذرة عشوائية (seed
) لضمان الحصول على نتيجة فريدة في كل مرة يتم فيها تنفيذ الكود، مما يتيح تنوعاً في المخرجات الإبداعية.
عند تشغيل البرنامج، سترون مخرجات مشابهة لما يلي:
Status: InProgress
...
Status: Completed
Video is ready at s3://<your bucket here>/<job_id>/output.mp4
بعد اكتمال العملية، والتي قد تستغرق بضع دقائق، سيقوم البرنامج بطباعة موقع الفيديو الناتج في Amazon S3. يمكنكم بعد ذلك تنزيل الفيديو باستخدام AWS CLI كما يلي:
aws s3 cp s3://<your bucket here>/<job_id>/output.mp4 output_automated.mp4
وهذا هو الفيديو الذي تم إنشاؤه باستخدام الموجّه المذكور أعلاه:
عند استخدام الوضع MULTI_SHOT_MANUAL
كمعامل TaskType، يمكنكم التحكم بشكل أدق في كل لقطة من خلال تحديد موجهات متعددة ووصف مخصص لكل لقطة. في هذا الوضع، لا يتطلب الأمر تحديد المتغير durationSeconds
حيث يتم حساب مدة الفيديو تلقائياً بناءً على عدد اللقطات.
فيما يلي مثال متقدم على استخدام الموجّهات متعددة اللقطات، تم تطويره بواسطة سانجو صني. هذا المثال يوضح كيفية إنشاء قصة مرئية متكاملة عبر سلسلة من اللقطات المترابطة.
import random
import time
import boto3
def image_to_base64(image_path: str):
"""
Helper function which converts an image file to a base64 encoded string.
"""
import base64
with open(image_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read())
return encoded_string.decode("utf-8")
AWS_REGION = "us-east-1"
MODEL_ID = "amazon.nova-reel-v1:1"
SLEEP_SECONDS = 15 # Interval at which to check video gen progress
S3_DESTINATION_BUCKET = "s3://<your bucket here>"
video_shot_prompts = [
# Example of using an S3 image in a shot.
{
"text": "Epic aerial rise revealing the landscape, dramatic documentary style with dark atmospheric mood",
"image": {
"format": "png",
"source": {
"s3Location": {"uri": "s3://<your bucket here>/images/arctic_1.png"}
},
},
},
# Example of using a locally saved image in a shot
{
"text": "Sweeping drone shot across surface, cracks forming in ice, morning sunlight casting long shadows, documentary style",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_2.png")},
},
},
{
"text": "Epic aerial shot slowly soaring forward over the glacier's surface, revealing vast ice formations, cinematic drone perspective",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_3.png")},
},
},
{
"text": "Aerial shot slowly descending from high above, revealing the lone penguin's journey through the stark ice landscape, artic smoke washes over the land, nature documentary styled",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_4.png")},
},
},
{
"text": "Colossal wide shot of half the glacier face catastrophically collapsing, enormous wall of ice breaking away and crashing into the ocean. Slow motion, camera dramatically pulling back to reveal the massive scale. Monumental waves erupting from impact.",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_5.png")},
},
},
{
"text": "Slow motion tracking shot moving parallel to the penguin, with snow and mist swirling dramatically in the foreground and background",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_6.png")},
},
},
{
"text": "High-altitude drone descent over pristine glacier, capturing violent fracture chasing the camera, crystalline patterns shattering in slow motion across mirror-like ice, camera smoothly aligning with surface.",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_7.png")},
},
},
{
"text": "Epic aerial drone shot slowly pulling back and rising higher, revealing the vast endless ocean surrounding the solitary penguin on the ice float, cinematic reveal",
"image": {
"format": "png",
"source": {"bytes": image_to_base64("arctic_8.png")},
},
},
]
bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION)
model_input = {
"taskType": "MULTI_SHOT_MANUAL",
"multiShotManualParams": {"shots": video_shot_prompts},
"videoGenerationConfig": {
"fps": 24,
"dimension": "1280x720",
"seed": random.randint(0, 2147483648),
},
}
invocation = bedrock_runtime.start_async_invoke(
modelId=MODEL_ID,
modelInput=model_input,
outputDataConfig={"s3OutputDataConfig": {"s3Uri": S3_DESTINATION_BUCKET}},
)
invocation_arn = invocation["invocationArn"]
job_id = invocation_arn.split("/")[-1]
s3_location = f"{S3_DESTINATION_BUCKET}/{job_id}"
print(f"\nMonitoring job folder: {s3_location}")
while True:
response = bedrock_runtime.get_async_invoke(invocationArn=invocation_arn)
status = response["status"]
print(f"Status: {status}")
if status != "InProgress":
break
time.sleep(SLEEP_SECONDS)
if status == "Completed":
print(f"\nVideo is ready at {s3_location}/output.mp4")
else:
print(f"\nVideo generation status: {status}")
كما في العرض التوضيحي السابق، بعد اكتمال المعالجة، يمكنكم تنزيل الفيديو الناتج باستخدام AWS CLI:
aws s3 cp s3://<your bucket here>/<job_id>/output.mp4 output_manual.mp4
وهذا هو الفيديو المذهل الذي تم إنشاؤه باستخدام هذه السلسلة من الموجّهات المخصصة:
أمثلة إبداعية ملهمة
باستخدام Amazon Nova Reel 1.1، ستكتشفون عالماً لا حدود له من الإمكانيات الإبداعية. إليكم بعض الأمثلة الملهمة التي ستساعدكم في بدء رحلتكم الإبداعية:
تفجّر الألوان (Color Burst)، إبداع نيتين أوسابيوس:
prompt = "Explosion of colored powder against black background. Start with slow-motion closeup of single purple powder burst. Dolly out revealing multiple powder clouds in vibrant hues colliding mid-air. Track across spectrum of colors mixing: magenta, yellow, cyan, orange. Zoom in on particles illuminated by sunbeams. Arc shot capturing complete color field. 4K, festival celebration, high-contrast lighting"
الموجّه = "انفجار مسحوق ملون على خلفية سوداء. يبدأ بلقطة قريبة بطيئة الحركة لانفجار مسحوق أرجواني منفرد. حركة كاميرا للخلف تكشف عن سحب متعددة من المساحيق بألوان زاهية تتصادم في الهواء. تتبع لمزيج من الألوان: أرجواني، أصفر، سماوي، برتقالي. تكبير على الجزيئات المضاءة بأشعة الشمس. لقطة قوسية تلتقط مجال الألوان الكامل. تصوير 4K، احتفال مهرجاني، إضاءة عالية التباين"
تحوّل الأشكال (Shape Shift)، إبداع سانجو صني
تمت إضافة المؤثرات الصوتية في جميع مقاطع الفيديو هذه من قبل فريق AWS Video قبل نشرها.
معلومات أساسية للمستخدمين
التحكّم الإبداعي – استثمروا القدرات المتطورة للنموذج في إنشاء مقاطع فيديو متنوعة: من المشاهد الحياتية والخلفيات المحيطة إلى محتوى الإعلانات والتسويق والوسائط والمشاريع الترفيهية. تحكّموا بدقة في عناصر مثل حركة الكاميرا ومحتوى اللقطات، أو أضيفوا الحياة إلى صوركم الثابتة من خلال الحركة الديناميكية.
إرشادات تقنية مهمة – في الوضع الآلي، يمكنكم صياغة موجّهات تصل إلى 4,000 حرف. أما في الوضع اليدوي، فكل لقطة تقبل موجّهاً يصل إلى 512 حرفاً، مع إمكانية دمج حتى 20 لقطة في الفيديو الواحد. نوصي بتخطيط تسلسل اللقطات مسبقاً، تماماً كما في إنتاج قصة تقليدية. تذكروا أن الصور المدخلة يجب أن تتوافق مع متطلبات الدقة 1280×720، وسيتم تسليم الفيديو النهائي تلقائياً إلى حاوية S3 المحددة.
التوفر والتسعير – يتوفر Amazon Nova Reel 1.1 حالياً في Amazon Bedrock في منطقة AWS شرق الولايات المتحدة (شمال فيرجينيا). يمكنكم الوصول إلى النموذج من خلال وحدة تحكم Amazon Bedrock أو AWS SDK أو AWS CLI. وكما هو الحال مع جميع خدمات Amazon Bedrock، يعتمد التسعير على نموذج الدفع حسب الاستخدام. لمزيد من التفاصيل حول الأسعار، زوروا صفحة تسعير Amazon Bedrock.
هل أنتم مستعدون لبدء رحلتكم الإبداعية مع Amazon Nova Reel؟ اكتشفوا المزيد عبر:
- وثائق خدمة Amazon Nova Reel للتعمّق في إمكانيات النموذج
- دليل إنشاء مقاطع الفيديو باستخدام Amazon Nova
- استكشفوا أمثلة برمجية في مستودع نماذج Amazon Nova
- اطلعوا على أفضل ممارسات Amazon Nova Reel
- زوروا معرض Amazon Nova Reel لاستلهام الأفكار
الإمكانيات لا حدود لها، ونحن متشوقون لرؤية إبداعاتكم! انضموا إلى مجتمعنا المتنامي من المبدعين في community.aws، حيث يمكنكم إنشاء هوية BuilderID خاصة بكم، ومشاركة مشاريعكم، والتواصل مع مجتمع المبتكرين.