Gemini Omni 1.1 Flash สร้างคลิปยาว 10 วินาที การต่อฉากคือวิธีที่คุณจะก้าวข้ามข้อจำกัดนั้น: การเรียกต่อแต่ละครั้งจะเพิ่มอีก 10 วินาที รวมสูงสุด 40 วินาที
กลไกนี้มีอยู่ในโมเดลพรีวิว แต่ไม่ค่อยมีประโยชน์เท่าไหร่ ตัวพรีวิวจะดูวินาทีสุดท้ายของฟุตเทจก่อนที่จะดำเนินการต่อ ซึ่งเป็นบริบทที่เพียงพอที่จะรักษาสีให้สอดคล้องกันโดยประมาณเท่านั้น ตัวละครเปลี่ยนเสื้อผ้า การเคลื่อนไหวของกล้องถูกรีเซ็ต การเปิดตัว GA ในวันที่ 27 สิงหาคม 2026 ได้เพิ่มช่วงเวลานั้นเป็นบริบทล่วงหน้า 10 วินาที และ Google ยกความดีความชอบให้กับการเปลี่ยนแปลงนี้ว่าช่วยให้ “ความสอดคล้องทางภาพและการยึดติดกับเนื้อเรื่องดีขึ้น”
คู่มือนี้ครอบคลุมวิธีการเรียกใช้ ข้อจำกัดที่แท้จริงคืออะไร และวิธีรักษาลำดับความยาว 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 ในเซสชันเดียวกัน ให้ข้ามการอัปโหลดไปทั้งหมดและใช้การเชื่อมโยงกับ 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 จะไม่มีข้อจำกัดนี้ เนื่องจากโมเดลได้เก็บสถานะก่อนหน้าไว้แล้ว
ไม่มีบทสนทนาในการอัปโหลดที่ต่อขยาย คุณสามารถต่อคลิปที่ผู้อื่นอัปโหลดแบบเงียบๆ หรือทำงานในการโต้ตอบแบบหลายรอบได้ แต่คุณไม่สามารถเพิ่มบทสนทนาเมื่อทำการต่อขยายการอัปโหลด
ข้อจำกัดระดับภูมิภาค การอัปโหลดและแก้ไขวิดีโอไม่สามารถทำได้ในเขตเศรษฐกิจยุโรป, สวิตเซอร์แลนด์ และสหราชอาณาจักร วิดีโอที่สร้างโดยโมเดลยังคงสามารถแก้ไขได้ในภูมิภาคเหล่านั้น ดังนั้นเส้นทาง 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 ไฟล์และ ID การโต้ตอบในตัวแปรสภาพแวดล้อม เพื่อให้คุณสามารถเรียกใช้ส่วนเฉพาะใหม่ได้โดยไม่ต้องสร้างห่วงโซ่ใหม่ด้วยตนเอง ตรวจสอบรูปร่างของการตอบกลับ เนื่องจากส่วนขยายความละเอียดสูงอาจทำให้ไฟล์เกิน 4MB และเปลี่ยนคุณจากการเข้ารหัส base64 แบบอินไลน์เป็น URI เพิ่มระยะเวลาไทม์เอาต์ให้เกินค่าเริ่มต้นอย่างมาก เนื่องจากส่วนขยายทำงานนานกว่าการสร้างเริ่มต้น เพราะโมเดลอ่านบริบท 10 วินาทีแรก
การตั้งค่านี้ใช้เวลาสิบนาทีและคุ้มค่าทันทีที่คุณต้องการทราบว่าปัญหาของรอยต่อนั้นเกิดจากพรอมต์ของคุณหรือการอัปเดตโมเดล ดาวน์โหลด Apidog เพื่อตั้งค่า
คำถามที่พบบ่อย (FAQ)
วิดีโอ Gemini Omni สามารถยาวได้เท่าไร? รวม 40 วินาที สร้างจากการสร้าง 10 วินาที บวกกับส่วนขยาย 10 วินาทีสามครั้ง
ฉันสามารถต่อวิดีโอที่ฉันถ่ายเองได้หรือไม่? ได้ สูงสุด 10 วินาทีของอินพุต นอกเขตเศรษฐกิจยุโรป สวิตเซอร์แลนด์ และสหราชอาณาจักร อัปโหลดผ่าน Files API และส่ง URI
ฉันสามารถเพิ่มส่วนต้นของคลิปได้หรือไม่? ไม่ได้ การต่อขยายจะเพิ่มที่ส่วนท้ายเท่านั้น
ทำไมตัวละครของฉันถึงเปลี่ยนรูปลักษณ์ระหว่างส่วนต่างๆ? โดยปกติแล้วพรอมต์จะอธิบายฉากใหม่แทนที่จะเป็นแค่การเปลี่ยนแปลง หรือตัวยึดความต่อเนื่องไม่ชัดเจน ระบุสิ่งที่ต้องคงเดิม และพิจารณาส่งรูปภาพตัวละครเป็นข้อมูลอ้างอิงในการต่อขยาย
การต่อขยายแต่ละครั้งมีค่าใช้จ่ายเพิ่มเติมหรือไม่? ใช่ การต่อขยายแต่ละครั้งจะคิดค่าใช้จ่ายสำหรับเอาต์พุตวิดีโอ 10 วินาทีของตัวเอง บวกกับโทเค็นอินพุตสำหรับบริบทที่อ่าน
จะทำอย่างไรถ้าฉันต้องการมากกว่า 40 วินาที? Veo 3.1 สามารถต่อขยายได้ครั้งละ 7 วินาที สูงสุด 148 วินาที ที่ความละเอียด 720p เท่านั้น การเปรียบเทียบโมเดล ครอบคลุมข้อจำกัดนั้น และ คู่มือ API ของ Veo มีรายละเอียดการผสานรวม
การต่อฉากเป็นคุณสมบัติที่เปลี่ยน Omni จากการสาธิตให้กลายเป็นสิ่งที่ใช้งานได้จริง แต่ต้องมีการวางแผน สร้างสตอรี่บอร์ดสี่จังหวะ ร่างโครงเรื่องทั้งหมดที่ความละเอียด 360p จำกัดแต่ละพรอมต์ให้เป็นการเคลื่อนไหวเดียว และใช้จ่ายเงินสำหรับ 720p เฉพาะกับเวอร์ชันที่คุณรู้ว่าใช้งานได้แล้ว
