كيفية تمديد الفيديو إلى 40 ثانية باستخدام Gemini Omni 1.1 Flash

تمديد المشهد يضيف 10 ثوانٍ في كل مرة بحد أقصى 40 ثانية، ويقرأ Omni 1.1 الآن 10 ثوانٍ من السياق السابق بدلاً من ثانية واحدة. شكل الطلب، والقيود، وكيفية منع الجزء الثالث من الانحراف.

Ashley Innocent

Ashley Innocent

28 أغسطس 2026

كيفية تمديد الفيديو إلى 40 ثانية باستخدام Gemini Omni 1.1 Flash

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

ينشئ Gemini Omni 1.1 Flash مقاطع مدتها 10 ثوانٍ. توسيع المشهد هو الطريقة لتجاوز هذا الحد: فكل استدعاء للتوسيع يضيف 10 ثوانٍ أخرى، بحد أقصى تراكمي يصل إلى 40 ثانية.

كانت الآلية موجودة في النموذج التجريبي، ولكن لم تكن ذات فائدة كبيرة. فقد كان النموذج التجريبي ينظر إلى الثانية الأخيرة من اللقطات قبل الاستمرار، وهو سياق كافٍ للحفاظ على تناسق الألوان بشكل تقريبي ولا شيء غير ذلك. تغيرت ملابس الشخصيات. أعيد تعيين حركات الكاميرا. رفع إصدار التوفر العام (GA) في 27 أغسطس 2026 هذه النافذة إلى 10 ثوانٍ من السياق السابق، وتنسب جوجل هذا التغيير إلى "تحسين الاتساق البصري والالتزام السردي".

يغطي هذا الدليل كيفية استدعائه، وما هي حدوده الفعلية، وكيفية الحفاظ على تسلسل مدته 40 ثانية من التفكك في الجزء الثالث.

استدعاء التوسيع الأساسي

يعمل التوسيع عبر واجهة برمجة تطبيقات الملفات (Files API). قم بتحميل المقطع، ومرّر عنوان URI الخاص به مع مطالبة تصف ما يحدث بعد ذلك:

import base64
from google import genai

client = genai.Client()

video_file = client.files.upload(file="my_video.mp4")

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "text", "text": "Continue the scene."},
    ],
)

with open("extended.mp4", "wb") as f:
    f.write(base64.b64decode(interaction.output_video.data))

تتم معالجة التحميلات بشكل غير متزامن، لذا تحقق من حالة الملف قبل إرسال التفاعل:

import time

while video_file.state == "PROCESSING":
    time.sleep(10)
    video_file = client.files.get(name=video_file.name)

if video_file.state == "FAILED":
    raise ValueError(video_file.state)

إذا كان الفيديو الذي تقوم بتوسيعه قد جاء من Omni في نفس الجلسة، فتجاوز عملية التحميل بالكامل وقم بالربط بمعرف التفاعل (interaction id) بدلاً من ذلك. هذا المسار أقل تكلفة من حيث الرموز ويحافظ على المزيد من الحالة:

res2 = client.interactions.create(
    model="gemini-omni-1.1-flash",
    previous_interaction_id=res1.id,
    input="The camera pulls back to reveal the whole street.",
)

تغطي جولة API التفصيلية بقية واجهة الطلب، بما في ذلك خيارات الدقة والتسليم.

إدخال شخصية إلى التوسيع

يمكنك إرفاق وسائط مرجعية بتوسيع والإشارة إليها من المطالبة. تحصل المراجع المحملة على خانات يمكنك مخاطبتها بالشكل <IMAGE_REF_0>، <IMAGE_REF_1>، وهكذا:

video_file = client.files.upload(file="my_video.mp4")
character_img = client.files.upload(file="character.png")

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "document", "uri": character_img.uri},
        {"type": "text", "text": "Extend this video: have the character shown in <IMAGE_REF_0> enter the scene and wave."},
    ],
)

المرجعيات المرئية تعمل أيضاً، بحد أقصى ثلاثة مقاطع مدة كل منها ثلاث ثوانٍ. يقرأ النموذج هذه المرجعيات للحركة والمظهر؛ بينما يتم تجاهل الصوت في مقاطع المرجع.

الحدود التي يجب معرفتها قبل التخطيط لتسلسل

40 ثانية هو الحد الأقصى. أربعة أجزاء إجمالاً: جيل واحد بالإضافة إلى ثلاثة توسيعات. لا توجد طريقة للذهاب أبعد من ذلك ضمن تسلسل واحد.

إضافة فقط. يضيف التوسيع إلى نهاية المقطع. لا يمكنك إضافة لقطات في البداية أو إدخالها في المنتصف. إذا كان الجزء الثاني خاطئًا، فعليك إعادة الإنشاء من الجزء الثاني فصاعدًا، وكل ما يليه يذهب معه.

المدخلات المحملة محدودة بـ 10 ثوانٍ. هذا هو الحد الأقصى للفيديو الذي تقوم بتحميله. السلاسل متعددة الأدوار عبر previous_interaction_id غير مقيدة بهذا الحد، لأن النموذج يحتفظ بالفعل بالحالة السابقة.

لا حوار على التحميلات الموسعة. يمكنك تمديد مقطع تم تحميله من قبل شخص آخر بصمت، أو العمل في تفاعل متعدد الأدوار، ولكن لا يمكنك إضافة حوار عند تمديد عملية تحميل.

قيود إقليمية. تحميل وتعديل الفيديو غير متاح في المنطقة الاقتصادية الأوروبية (EEA) وسويسرا والمملكة المتحدة. تظل مقاطع الفيديو التي تم إنشاؤها بواسطة النموذج قابلة للتعديل في تلك المناطق، لذا فإن مسار `previous_interaction_id` لا يزال يعمل هناك بينما مسار التحميل لا يعمل.

فيديو واحد في كل مرة. لن يستنتج النموذج عبر مقاطع فيديو إدخال متعددة.

صياغة القصة الكاملة قبل عرضها

إليك سير العمل الذي يوفر أكبر قدر من المال ويقلل من الإحباط.

يكلف تسلسل مدته 40 ثانية بدقة 720p حوالي 4.06 دولارات في إخراج الفيديو، ويكون نمط الفشل محددًا: تتغير القصة في مكان ما في الجزء الثالث، لذلك تعيد إنشاء الجزءين الثالث والرابع، وأحيانًا يغير ذلك شيئًا أعجبك في بداية الجزء الثالث. يمكنك استهلاك العديد من عمليات العرض الكاملة للعثور على النسخة التي تبقى.

قم بصياغة القصة الكاملة بدقة 360p أولاً. يتم إنشاؤه أسرع بنسبة تصل إلى 60% وبتكلفة ثلث التكلفة، لذا فإن الأجزاء الأربعة نفسها تكلف حوالي 1.35 دولار. تأكد من أن القصة تصمد أمام جميع التوسيعات الأربعة، ثم أعد العرض بدقة 720p أو أعلى باستخدام المطالبات التي قمت بالتحقق منها. تحتوي مقالة التسعير على الحسابات الكاملة.

حدد الدقة في تنسيق الاستجابة:

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "text", "text": "Continue the scene."},
    ],
    response_format={"type": "video", "resolution": "360p"},
)

كتابة مطالبات تصمد لأربعة أجزاء

بعض الأنماط التي تصمد بشكل أفضل من غيرها.

صف التغيير، وليس المشهد بأكمله. يرى النموذج بالفعل 10 ثوانٍ مما سبقه. إعادة وصف الإعداد يدعوه إلى إعادة تفسير ما هو موجود بالفعل على الشاشة. عبارة "تقترب الكاميرا من الباب" أفضل من فقرة جديدة عن الغرفة.

امنحه حركة واحدة لكل جزء. التوسيعات التي تطلب حركتين تميل إلى تقديم نسخة متسرعة لكلتيهما. عشر ثوانٍ هي حركة واحدة.

اجعل نقاط استمرارية المشهد واضحة. تسمية الشيء الذي يجب أن يبقى ثابتًا ("السترة الحمراء نفسها"، "الزاوية المنخفضة نفسها") يمنح النموذج شيئًا يتمسك به عبر الانتقال.

لا تتعارض مع حد الإضافة فقط. خطط لتسلسلك بالترتيب الذي يتم تشغيله به. لا توجد طريقة لإصلاح البداية لاحقًا دون إعادة إنشاء كل شيء بعدها.

تحمل صياغة المطالبات أهمية كبيرة هنا، ويغطي دليل مطالبات Veo المبادئ التي تنتقل بين نماذج الفيديو.

التحقق من توسيعاتك بنفس الطريقة مرتين

أربعة استدعاءات متسلسلة تعني أربعة مواضع لظهور تغيير في سلوك النموذج، ومن الصعب فحص مخرجات الفيديو بالعين المجردة للبحث عن التراجعات عندما تنظر فقط إلى العرض النهائي.

احفظ كل مرحلة كطلب خاص بها في Apidog، مع URI الملف ومعرف التفاعل (interaction id) في متغيرات البيئة حتى تتمكن من إعادة تشغيل جزء معين دون إعادة بناء السلسلة يدويًا. تأكد من شكل الاستجابة، حيث أن التوسيع عالي الدقة يمكن أن يدفع الملف لتجاوز 4 ميجابايت ويحولك من base64 المضمّن إلى URI. ارفع مهلة الانتظار إلى ما بعد القيمة الافتراضية؛ تعمل التوسيعات لفترة أطول من الإنشاء الأولي لأن النموذج يقرأ 10 ثوانٍ من السياق أولاً.

تستغرق هذه الإعدادات عشر دقائق وتؤتي ثمارها في المرة الأولى التي تحتاج فيها لمعرفة ما إذا كانت مشكلة الانتقال (seam problem) ناتجة عن مطالبتك أو عن تحديث النموذج. قم بتنزيل Apidog لإعداده.

الأسئلة الشائعة

كم يمكن أن تكون مدة فيديو Gemini Omni؟ 40 ثانية تراكمية، مبنية من جيل مدته 10 ثوانٍ بالإضافة إلى ثلاثة توسيعات مدة كل منها 10 ثوانٍ.

هل يمكنني تمديد فيديو قمت بتصويره بنفسي؟ نعم، بحد أقصى 10 ثوانٍ من الإدخال، خارج المنطقة الاقتصادية الأوروبية وسويسرا والمملكة المتحدة. قم بتحميله عبر Files API ومرّر الـ URI.

هل يمكنني الإضافة إلى بداية مقطع؟ لا. يضيف التوسيع إلى النهاية فقط.

لماذا يتغير مظهر شخصيتي بين الأجزاء؟ عادةً ما تعيد المطالبة وصف المشهد بدلاً من وصف التغيير، أو أن نقطة استمرارية المشهد ليست واضحة. اذكر ما يجب أن يظل كما هو، وفكر في تمرير صورة شخصية كمرجع في التوسيع.

هل يكلف كل توسيع مبلغاً إضافياً؟ نعم. يتم احتساب كل توسيع على حدة لمدة 10 ثوانٍ من إخراج الفيديو، بالإضافة إلى رموز الإدخال للسياق الذي يقرأه.

ماذا لو احتجت إلى أكثر من 40 ثانية؟ يقوم Veo 3.1 بالتوسيع بمقدار 7 ثوانٍ في كل مرة حتى 148 ثانية، بدقة 720p فقط. مقارنة النماذج تغطي هذه المقايضة، ويحتوي دليل API الخاص بـ Veo على تفاصيل التكامل.

توسيع المشهد هو الميزة التي تنقل Omni من مرحلة العرض التجريبي إلى المنتج القابل للتسليم، لكنها تتطلب التخطيط الجيد. ارسم اللقطات الأربع، وصغ القصة بأكملها بدقة 360p، واجعل كل مطالبة لحركة واحدة، وأنفق أموال 720p فقط على النسخة التي تعلم أنها تعمل.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات