आमंत्रित करें और कमाएँ

आमंत्रण पुरस्कार कैसे काम करते हैं

अपना आमंत्रण लिंक साझा करें। मित्र इसके माध्यम से पंजीकरण करके टॉप-अप करता है तो उसके बाद के टॉप-अप पर आपको दिखाया गया पुरस्कार मिलेगा।

Gemini Omni में वीडियो एक्सटेंशन और फ़्रेम इंटरपोलेशन: API व निरंतरता जाँच

क्लिप बढ़ाने या दो की-फ़्रेम के बीच संक्रमण बनाने और डिलीवरी से पहले दृश्य व ऑडियो निरंतरता जाँचने की व्यावहारिक प्रक्रिया।

विषय-सूची
Gemini Omni में वीडियो एक्सटेंशन और फ़्रेम इंटरपोलेशन: API व निरंतरता जाँच

आपके पास छोटा वीडियो है, लेकिन क्रिया पूरी होने से पहले क्लिप खत्म हो जाती है; या आपके पास केवल पहला और आखिरी फ़्रेम है, बीच की गति नहीं। gemini-omni-1.1-flash से आप अंत में 3–10 सेकंड जोड़ सकते हैं या दो सीमा-चित्रों के बीच संक्रमण बना सकते हैं; इस गाइड के बाद आप सही मोड चुन सकेंगे, API कॉल कर सकेंगे और तय कर सकेंगे कि परिणाम डिलीवरी योग्य है या नहीं।

यदि मौजूदा क्लिप की गति, कैमरा और ऑडियो बनाए रखने हैं तो टेल एक्सटेंशन चुनें; यदि शुरुआत और अंत तय हैं और केवल बीच का हिस्सा चाहिए तो पहले-अंतिम फ़्रेम इंटरपोलेशन चुनें; MP4 मिलना जनरेशन का अंत है, विषय, गति, जोड़ और ऑडियो की गुणवत्ता जाँच का नहीं।

वीडियो बढ़ाएँ या दो फ़्रेमों के बीच गति बनाएँ?

स्रोत वीडियो मौजूद हो तो पहले टेल एक्सटेंशन आज़माएँ; किसी तय अंतिम इमेज तक पहुँचना जरूरी हो तो इंटरपोलेशन चुनें। एक्सटेंशन किसी लक्ष्य अंतिम फ़्रेम से बँधा नहीं होता, इसलिए गलत मोड चुनने पर एक अतिरिक्त जनरेशन और समीक्षा चक्र लग सकता है।

कामइनपुटकब उपयोग करेंसबसे महत्वपूर्ण जाँच
क्लिप के अंत को बढ़ानाएक वीडियो, चाहें तो रेफ़रेंस इमेजक्रिया, कैमरा मूव या दृश्य को कुछ सेकंड आगे ले जानाजोड़ के पास मुद्रा, गति, कैमरा दिशा, रोशनी और ऑडियो
पहले-अंतिम फ़्रेम इंटरपोलेशनपहला फ़्रेम, आखिरी फ़्रेम और संक्रमण विवरणदो तय अवस्थाओं के बीच गति भरनाविषय की पहचान, स्थानिक संबंध, गति-पथ और अंतिम फ़्रेम तक पहुँचना

अपलोड किए वीडियो का एक्सटेंशन छोटे जोड़ के लिए है: आधिकारिक गाइड 3–10 सेकंड की निरंतरता बताती है, और प्रॉम्प्ट गाइड 10-सेकंड के चरणों में कुल 40 सेकंड तक बढ़ाने का वर्णन करती है। अपलोड क्लिप 10 सेकंड या कम होना चाहिए और सामग्री केवल अंत में जुड़ सकती है; शुरुआत या बीच में शॉट डालने के लिए सामान्य वीडियो एडिटर उपयोग करें।

API कॉल से पहले ये चार फैसले करें

जनरेशन से पहले मॉडल, आउटपुट स्पेसिफिकेशन, कट का व्यवहार और तुलना के लिए मूल सामग्री तय करें। इनमें से कोई बात छूटे तो अक्सर काम दोबारा चलाना पड़ता है या यह समझना कठिन होता है कि जोड़ मॉडल ने बदला या स्रोत ने।

GA model ID उपयोग करें

GA model ID gemini-omni-1.1-flash उपयोग करें। यह 27 अगस्त 2026 को सामान्य उपलब्धता में आया; पुराने gemini-omni-flash-preview endpoint को 30 सितंबर 2026 को बंद करने की योजना है।

पहले 720p पर निरंतरता जाँचें

पहली कोशिश में डिफ़ॉल्ट 720p रखें, ताकि continuity debugging और बड़ी फ़ाइल की delivery अलग रहें। response_format का resolution 360p, 720p, 1080p और 4k स्वीकार करता है; दस्तावेज़ 1080p और 4k को upscaled output बताते हैं, डिफ़ॉल्ट aspect ratio 16:9 है और 9:16 भी माँगा जा सकता है। 4 MB से बड़े परिणाम, खासकर 720p से ऊपर, के लिए delivery="uri" चुनें, फ़ाइल active होने तक प्रतीक्षा करें और फिर डाउनलोड करें।

एक लगातार शॉट या जानबूझकर कट तय करें

पहले ही तय करें कि यह एक लगातार शॉट होगा या जानबूझकर cut। एक्सटेंशन प्रॉम्प्ट में 0s नए बनाए हिस्से की शुरुआत है, मूल क्लिप की नहीं। बिना कट के शॉट के लिए “single continuous shot” और “no scene cuts” जैसा स्पष्ट निर्देश दें। cut चाहिए तो नए हिस्से में उसका समय लिखें।

मूल क्लिप और सीमा-चित्र सुरक्षित रखें

मूल क्लिप और दोनों सीमा-चित्र संभालकर रखें। आधिकारिक प्रॉम्प्ट गाइड के अनुसार Omni मूल वीडियो के आखिरी 10 सेकंड को संदर्भ बनाता है और जोड़ को सहज बनाने के लिए अंतिम इनपुट फ़्रेमों में बदलाव कर सकता है। इसलिए आउटपुट की मूल सामग्री से तुलना गुणवत्ता जाँच का अनिवार्य हिस्सा है।

स्रोत क्लिप है तो अंत से आगे बढ़ाएँ

जब वीडियो पहले से मौजूद हो और क्रिया, कैमरा मूव या दृश्य को कुछ सेकंड जारी रखना हो, तब टेल एक्सटेंशन उपयोग करें। पहले 720p का न्यूनतम अनुरोध चलाएँ, फिर विषय, गति, कैमरा और ऑडियो की शर्तें कसें।

पहले न्यूनतम 720p अनुरोध चलाएँ

नीचे का Python उदाहरण Files API से क्लिप अपलोड करता है, processing पूरी होने की प्रतीक्षा करता है और video URI व निर्देश interactions.create को देता है। 720p रखने से आप पहले continuity ठीक कर सकते हैं और बाद में high-resolution delivery संभाल सकते हैं।

import base64
import time
from google import genai

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

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)

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "video", "uri": video_file.uri},
        {
            "type": "text",
            "text": (
                "दृश्य को एक ही निरंतर शॉट के रूप में आगे बढ़ाएँ। "
                "वही विषय, कपड़े, कैमरा दिशा, रोशनी और गति बनाए रखें। कोई सीन कट या नया संवाद न जोड़ें।"
            ),
        },
    ],
    response_format={"type": "video", "resolution": "720p"},
)

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

प्रॉम्प्ट में देखी जा सकने वाली शर्तें लिखें

सिर्फ “दृश्य आगे बढ़ाएँ” न लिखें। कम से कम पाँच देखी जा सकने वाली बातें बताएँ: विषय में क्या नहीं बदलना चाहिए, क्रिया किस दिशा में चले, कैमरा कैसे चले, प्रकाश या वातावरण बदल सकता है या नहीं, और cut या नया sound मान्य है या नहीं। “दायाँ हाथ उसी गति से ऊपर उठता रहे” जाँचने योग्य है; “स्वाभाविक बनाएँ” नहीं।

गलत मोड चुने जाने पर ही task सेट करें

यदि प्रॉम्प्ट से extension mode नहीं चुना जाता, तो generation_config में {"video_config": {"task": "extend"}} जोड़ सकते हैं। गाइड पहले प्रॉम्प्ट पर निर्भर रहने की सलाह देती है, क्योंकि task अतिरिक्त सख्त सीमाएँ लगाता है। पिछले टर्न में मॉडल द्वारा बनाए वीडियो को previous_interaction_id से बिना दोबारा अपलोड किए आगे बढ़ाया जा सकता है। इसके लिए interaction store होना चाहिए; store=false से बनाया परिणाम बाद में उस ID से संपादित नहीं होगा।

संवाद या क्षेत्र सीमा हो तो योजना बदलें

संवाद और क्षेत्र की सीमाएँ भी हैं। यदि अपलोड वीडियो में कोई पहले से बोल रहा है, तो फिलहाल उसे बढ़ाकर नया संवाद नहीं जोड़ा जा सकता; मौन continuation या नया संवाद न माँगने वाला प्रॉम्प्ट मान्य है। मॉडल-जनित वीडियो को previous_interaction_id से multi-turn बढ़ाते समय बोलचाल समर्थित है। EEA, स्विट्ज़रलैंड और यूनाइटेड किंगडम में अपलोड वीडियो editing/extension उपलब्ध नहीं है, जबकि मॉडल-जनित वीडियो का extension उपलब्ध क्षेत्रों में समर्थित है।

केवल पहला और आखिरी फ़्रेम है तो बीच की गति बनाएँ

जब शुरुआत और अंत स्पष्ट हों लेकिन बीच की गति न हो, तब पहले-अंतिम फ़्रेम इंटरपोलेशन उपयोग करें। दोनों इमेज क्रम से दें और बताएँ कि विषय, कैमरा और वातावरण पहली अवस्था से आखिरी अवस्था तक कैसे जाएँ।

पहले दोनों सीमा-चित्र भेजें

यह मोड तब उपयोगी है जब शुरू और अंत की अवस्था साफ हो लेकिन बीच की गति गायब हो। दोनों चित्र क्रम से input में दें और बताएँ कि विषय, कैमरा तथा वातावरण को पहले से आखिरी अवस्था तक कैसे बदलना है। पूरा उदाहरण स्थानीय JPEG को Base64 में बदलकर 720p परिणाम माँगता है।

import base64
from pathlib import Path
from google import genai

client = genai.Client()

first_frame_b64 = base64.b64encode(Path("first.jpg").read_bytes()).decode()
last_frame_b64 = base64.b64encode(Path("last.jpg").read_bytes()).decode()

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "image", "data": first_frame_b64, "mime_type": "image/jpeg"},
        {"type": "image", "data": last_frame_b64, "mime_type": "image/jpeg"},
        {
            "type": "text",
            "text": (
                "पहले फ़्रेम से आखिरी फ़्रेम तक स्वाभाविक संक्रमण बनाएँ। "
                "विषय की पहचान और कैमरा दिशा समान रखें, गति-पथ निरंतर रखें और अचानक कट न करें।"
            ),
        },
    ],
    response_format={"type": "video", "resolution": "720p"},
)

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

मोड फिर भी अस्पष्ट हो तो image_to_video उपयोग करें

दोनों इमेज क्रम से भेजने के बाद साफ लिखें कि पहली शुरुआत है और दूसरी अंत। मोड फिर भी गलत चुना जाए तो image_to_video को task के रूप में जोड़ें; यह विषय, कैमरा और गति के स्पष्ट विवरण का सहायक है, उसका विकल्प नहीं।

फ़्रेम जितने अलग हों, बदलाव का क्रम उतना स्पष्ट लिखें

सीमा-फ़्रेमों में विषय की पहचान, aspect ratio, कैमरा axis और स्थानिक व्यवस्था जितनी संगत होगी, निर्देश उतना स्पष्ट होगा। यदि बहुत अंतर है, बदलाव का क्रम लिखें: पहले विषय घूमे, फिर कैमरा चले, अंत में प्रकाश बदले। यह production method है, परिणाम की गारंटी नहीं; आउटपुट का निरीक्षण फिर भी करना होगा।

क्या परिणाम डिलीवरी योग्य है? जोड़, विषय, गति और ऑडियो जाँचें

मापदंड यह नहीं कि वीडियो “लगभग सही” दिखता है, बल्कि यह कि दोष को स्पष्ट रूप से बताया और अगले प्रॉम्प्ट में बदला जा सके। पहले सामान्य गति से देखें, फिर जोड़ को धीमा या frame-by-frame जाँचें और ऑडियो अलग से सुनें।

आयामक्या जाँचेंउपयोगी संशोधन निर्देश
विषयचेहरा, बाल, कपड़े, accessories, शरीर अनुपात, हाथ और पकड़ी वस्तुएँ“कोट का रंग और दाएँ हाथ की वस्तु न बदलें।”
गतिदिशा, गति, संतुलन, contact points, दृष्टि और कैमरा trajectory“मौजूदा कदम को दाईं ओर जारी रखें; अचानक तेज या उल्टा न करें।”
एडिट और चित्रjump cut, exposure, color temperature, depth of field, perspective और background geometry“वही camera axis और focal length रखें; cut न करें।”
ऑडियोambience, संगीत beat, संवाद, reverb, volume, click और नया noise“ambient sound जारी रखें, संवाद न जोड़ें और beat न बदलें।”

एक्सटेंशन में जोड़, इंटरपोलेशन में दोनों सिरों को जाँचें

Extension में मूल क्लिप के आखिरी लगभग एक सेकंड और नए हिस्से के पहले लगभग एक सेकंड पर ध्यान दें, और जाँचें कि आउटपुट ने मूल tail frames बदल तो नहीं दिए। Interpolation में बीच का रास्ता देखने के साथ यह भी सत्यापित करें कि शुरुआत पहली image से और अंत दूसरी image से वास्तव में मिलता है, केवल शैली से नहीं।

हर revision में केवल एक मुख्य variable कसें

हर revision में एक मुख्य variable कसें। पहले पहचान, फिर गति, फिर कैमरा और ऑडियो ठीक करें। इससे हर prompt change का असर समझना आसान होता है। “जोड़ पर बाएँ sleeve का रंग बदलता है” लिखें, “और cinematic बनाएँ” नहीं।

इन कामों के लिए इस endpoint को मजबूर न करें

यदि लंबे वीडियो के बीच शॉट डालना हो, मौजूदा संवाद जारी रखना हो या कई स्रोत क्लिप समझनी हों, तो यह endpoint one-call editor नहीं है। नीचे की कोई सीमा लागू हो तो पहले काम को shots में बाँटें या सामान्य editing workflow चुनें।

  • अपलोड क्लिप केवल अंत से बढ़ सकता है और 10 सेकंड या कम होना चाहिए।
  • बोलते व्यक्ति वाले अपलोड क्लिप में नया संवाद नहीं जोड़ा जा सकता; voice editing भी समर्थित नहीं है।
  • audio references अपलोड नहीं किए जा सकते; video reference का audio अनदेखा होता है।
  • अधिकतम तीन video references, प्रत्येक तीन सेकंड तक, समर्थित हैं; कई videos पर reasoning समर्थित नहीं है।
  • system instructions, temperature, top_p, stop sequences और अलग negative-prompt field समर्थित नहीं हैं। “Do not cut” जैसी मनाही सामान्य prompt में लिखें।
  • हर generated video में invisible SynthID होता है और input/output content-safety filters से गुजरते हैं।
  • दस्तावेज़ अंग्रेज़ी prompts को पूर्ण समर्थित बताते हैं; अन्य भाषाओं का मूल्यांकन नहीं हुआ है, इसलिए परिणाम बदल सकते हैं।

व्यावहारिक तरीका है कि छोटे shots अलग-अलग generate करें और फिर सामान्य editor में जोड़कर audio mix करें। यह tail-extension endpoint से बीच में insertion, dialogue continuation या multi-clip reasoning बार-बार कराने से कम समय लेता है।

डिलीवरी से पहले यह सूची जाँचें

सफल API response गुणवत्ता की स्वीकृति नहीं है। डिलीवरी से पहले पुष्टि करें कि:

  • input video, output video और दोनों boundary images सुरक्षित हैं;
  • model ID, resolution और पूरा prompt दर्ज है;
  • extension seam frame-by-frame जाँचा गया है और source tail frames में बदलाव देखा गया है;
  • interpolation पहली image से शुरू होकर दूसरी image तक वास्तव में पहुँचता है;
  • audio को gaps, clicks और नए noise के लिए अलग से सुना गया है;
  • region, input duration, dialogue और reference-media limits जाँची गई हैं।

किसी भी बिंदु का उत्तर साफ न हो तो पहले परिणाम सुधारें; केवल API status के आधार पर उसे स्वीकार न करें।

आधिकारिक संदर्भ

अपना LLM वर्कफ़्लो बेहतर बनाना चाहते हैं?

एक API से मॉडल जोड़ें, कुंजियाँ प्रबंधित करें और AI खर्च नियंत्रित करें।

मुफ़्त शुरू करें