AI-LECTURER 速報課|2026-08-28|約 26 分鐘

Gemini Omni 1.1 Flash:AI 影片生成從「碰運氣」到「你說了算」

📍 真實場景
阿凱,接案型短影音剪輯師,專門幫美妝保養品牌做 15~40 秒的 AI 生成產品廣告影片

他正在用生成式影片工具幫客戶做一支開箱影片,需要鏡頭從「手拿產品特寫」平滑轉到「產品擺在梳妝台上」的畫面

😖 卡住的地方:他之前用舊版模型接續運鏡時,因為模型只看得到前一秒的畫面,常常接出「跳接、人物瞬間換位」的鏡頭;而且每次修改都要用正式解析度重新算一次,光是試錯的算圖費就快把接案利潤吃光
💡 這堂課會告訴他 Gemini Omni 1.1 Flash 新增的「看前 10 秒接續」「指定起訖影格」「360p 便宜草稿」三個功能,怎麼組合出一套「先便宜試錯、再花錢定案」的省成本接案流程

🧭 這到底是什麼(白話版)

Gemini Omni 1.1 Flash 是 Google DeepMind 推出的 生成式影片模型用文字或圖片提示,讓 AI 自動「畫」出一段會動的影片,不用像傳統動畫要一格一格手繪 的最新更新版本。這次更新的重點不是「畫質變得多驚豔」,而是讓開發者對生成過程有更多「精細控制」,讓工具真正能撐起專業的產製流程,而不只是拿來玩票。

第一個重點是「場景延伸」:AI 生成下一段影片時,需要知道前面已經拍到什麼,才能讓動作、角度、光線接得順。這種能力叫做 上下文記憶(context)AI 生成下一段內容時,能「回頭看」前面已經產出的東西,藉此保持連貫性,不是每次都從零開始亂猜。舊版模型只看得到前一秒的畫面,新版可以參考前 10 秒,而且能以 10 秒為單位持續延伸,單支影片最長可以疊加到 40 秒。

第二個重點是「指定起始與結束 關鍵影格(keyframe)動畫中決定「起點畫面」跟「終點畫面」的兩張影格,中間怎麼動由電腦自動算出來,早期手繪動畫的原畫師跟中割師就是這樣分工的」。過去只能打字描述想要的鏡頭,結果常常「開盲盒」;現在可以直接給模型頭尾兩張畫面,讓它精準補完中間的運鏡轉場,例如環繞鏡頭或無縫循環動畫。

第三個重點是新增的 360p 草稿模式:用比正式輸出更低的 解析度(resolution)畫面的精細程度,常用像素高度表示,數字越大畫面越細緻,但檔案也越大、算得越慢 快速產出預覽,速度最多快 60%、成本只要正式版的三分之一,很適合定案前大量試錯。這些能力都是透過 Google AI Studio 的 API讓不同程式之間「打電話溝通」的規格書,開發者照著這份規格呼叫 Google 的影片生成服務,不用自己蓋一個 AI 模型 提供給開發者,並附上 Python 的 SDK官方包好的工具包(這裡是 google-genai 套件),讓你不用自己組網路請求,用幾行程式碼就能呼叫 API 範例。

🎯 為什麼值得你花時間

跳接問題被正面解決過去 AI 影片模型只看最後 1 秒畫面接續,容易產生鏡頭跳動或人物瞬間換位;現在看前 10 秒,可以做出更長、更連貫的故事線,最長能疊加到 40 秒,這對需要說「一整段故事」而不是單一鏡頭的創作者是關鍵突破。
從「純文字許願」進化到「精準運鏡」過去只能打字描述想要的鏡頭,常常「開盲盒」,結果跟想像差很多;現在能指定起始和結束影格,等於幫模型畫好動畫的「首尾格」,能可靠做出運鏡轉場、環繞鏡頭、無縫循環動畫,不用再靠運氣。
先求快、再求好的省錢策略360p 草稿模式讓創作者在定案前用更低成本、更快速度大量試錯,等分鏡確定了才用 720p 正式輸出,這是把「迭代」和「產出」的成本拆開來算的典型工程思維,直接影響接案或商業使用的實際成本結構。

⚙️ 它是怎麼運作的

1
① 丟出第一句 prompt,用 360p 草稿模式生成第一段先不求畫質,只求快速看到分鏡方向對不對,成本只要正式版的三分之一
2
② 檢查草稿分鏡不滿意就調整 prompt 重新生成,因為便宜又快,可以多試幾次而不心疼算圖費
3
③ 用 previous_interaction_id 接續下一段把上一段影片的互動 ID 傳進去,模型會參考前 10 秒畫面,接著往下生成,每段最長 10 秒
4
④ 需要精確轉場時改用起訖影格模式指定兩張關鍵影格,讓 AI 補完中間的運鏡過程,適合環繞鏡頭、zoom 轉場、無縫循環
5
⑤ 重複「延伸+接續」直到累積到 40 秒上限場景延伸目前的單支影片總長天花板,超過就要另外開新的一段故事
6
⑥ 分鏡全部定案後,換成 720p 正式輸出只有最後真正要交件的版本才花全額成本跟時間,草稿階段不需要
Gemini Omni 1.1 Flash 前後版本能力差異
能力先前版本Omni 1.1 Flash
場景延伸可參考的畫面長度只看最後 1 秒可看前 10 秒
單支影片可累積延伸的總長度沒有明確的疊加延伸機制最長可疊加到 40 秒(每次 10 秒為單位)
運鏡控制方式只能靠文字描述,結果不可預期可指定起始/結束關鍵影格,精準補完中間過程
草稿模式沒有360p,速度最多快 60%、成本約正式版三分之一

🔍 程式碼漫遊(點有 ● 的行看白話講解)

這段程式示範怎麼用 Gemini API 做「場景延伸」:假設先前已經生成過一段影片,結果存在 previous_video_interaction 這個變數裡,這段程式碼接著那段影片的最後畫面,繼續往下生成下一段。

from google import genai
💬 匯入 Google 官方的 genai SDK,之後才能呼叫 Gemini 的影片生成服務
client = genai.Client()
💬 建立一個跟 Gemini API 溝通的「客戶端」物件,之後所有呼叫都透過它送出
interaction = client.interactions.create(
💬 開始一次「生成互動」,每呼叫一次就會產出一段新影片
model="gemini-omni-1.1-flash",
💬 指定要用這次更新的新模型版本
previous_interaction_id=previous_video_interaction.id,
💬 這行是「場景延伸」的關鍵:把上一段影片的互動 ID 傳進來,模型才知道要接著誰的畫面繼續生成
input=[{"type": "text", "text": "Continue the scene."}],
💬 只需要簡單一句「請延續這個場景」,不用重新描述整段畫面,因為模型已經能參考前 10 秒的內容
response_format={"resolution": "360p"},
💬 指定用 360p 草稿解析度輸出先求快速預覽;等分鏡定案了,把這裡改成 720p 就能輸出正式畫質
)
💬 送出這次呼叫,結果會回傳一個新的 interaction,帶著新的 id 可以繼續往下接下一段

🛠️ 動手做:動手做:用 Python 接出一段「兩段式接龍」的 AI 影片

這是一個真實小專案:下載(或複製)檔案,照步驟在你電腦上跑起來。

📄 requirements.txt ⬇ 下載
google-genai>=0.3.0
📄 scene_extend_demo.py ⬇ 下載
"""AI 影片接龍練習:用 Gemini Omni 1.1 Flash 做「先求快、再接龍」的兩段式影片

用途:
1. 先用 360p 草稿模式生成第一段影片,快速確認分鏡方向
2. 用 previous_interaction_id 接續生成下一段(場景延伸最長可到 40 秒)
"""

import os
import time

from google import genai

API_KEY = os.environ.get("GEMINI_API_KEY")
if not API_KEY:
    raise SystemExit("請先設定環境變數 GEMINI_API_KEY,步驟見教案的 Windows 逐步指令。")

client = genai.Client(api_key=API_KEY)

FIRST_PROMPT = (
    "A close-up low-angle shot of a stylish drummer in a beige suit "
    "playing a red drum kit in a grand hall. Cinematic lighting."
)


def wait_until_ready(interaction, poll_seconds: float = 5.0):
    """輪詢互動狀態,直到影片產出完成或失敗為止。"""
    while interaction.status not in ("completed", "failed"):
        print(f"目前狀態:{interaction.status},{poll_seconds} 秒後再檢查一次...")
        time.sleep(poll_seconds)
        interaction = client.interactions.get(interaction.id)
    return interaction


def main() -> None:
    print("第一步:用 360p 草稿模式生成第一段影片(求快、求便宜)")
    first = client.interactions.create(
        model="gemini-omni-1.1-flash",
        input=[{"type": "text", "text": FIRST_PROMPT}],
        response_format={"resolution": "360p"},
    )
    first = wait_until_ready(first)
    print(f"第一段完成,interaction id = {first.id}")
    print(f"預覽網址/檔案位置:{first.output}")

    print()
    print("第二步:用 previous_interaction_id 接續生成下一段(場景延伸)")
    second = client.interactions.create(
        model="gemini-omni-1.1-flash",
        previous_interaction_id=first.id,
        input=[{"type": "text", "text": "Continue the scene."}],
        response_format={"resolution": "360p"},
    )
    second = wait_until_ready(second)
    print(f"第二段完成,interaction id = {second.id}")
    print(f"預覽網址/檔案位置:{second.output}")
    print()
    print("草稿分鏡確認沒問題後,可以把 resolution 換成 720p 重新輸出正式版。")


if __name__ == "__main__":
    main()
  1. 開啟 PowerShell,切換到你要放這個練習的資料夾
  2. 建立虛擬環境:python -m venv .venv
  3. 啟用虛擬環境:.venv\Scripts\Activate.ps1
  4. 安裝套件:pip install -r requirements.txt
  5. 到 Google AI Studio 申請一組 API 金鑰
  6. 在 PowerShell 設定環境變數:$env:GEMINI_API_KEY="你的金鑰"
  7. 執行程式:python scene_extend_demo.py
  8. 觀察終端機印出的兩段 interaction id 與狀態變化,確認第二段真的接著第一段的畫面繼續

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 為什麼要特別把「360p 草稿」跟「720p 正式」分成兩種模式,而不是永遠都用最高品質生成?
影片生成模型每次呼叫都在吃運算資源,如果每次試錯都用最高解析度,開發者為了修正一個鏡頭角度就要付出高成本、等更久。把「探索」跟「產出」拆成兩個資源等級,是分散式系統與 ML 服務常見的成本優化策略,跟資料庫先用小樣本測查詢、確認邏輯對了再上正式資料量是同一種思路。
🔭 為什麼從「只看最後 1 秒」進化到「看前 10 秒」,而不是乾脆讓模型看整支影片?
讓模型參考的畫面越長,運算量與記憶體負擔就越大,生成速度也會變慢;工程團隊選擇 10 秒,很可能是在「連貫性夠不夠好」跟「延遲與成本可接受」之間找到的甜蜜點——這跟語言模型的上下文窗口設計是同一種取捨:不是越長越好,而是找到夠用又付得起的長度。
🔭 「指定起始/結束影格」這個功能,跟純文字 prompt 相比,解決了什麼工程問題?
純文字描述是「單向指令」,模型自由發揮的空間很大,結果不可預期;給定頭尾影格等於幫模型鎖住邊界條件,把生成問題從「憑空想像整段動畫」限縮成「插值算出中間過程」,這跟傳統動畫的關鍵影格分工邏輯一樣,是用已知邊界降低生成不確定性的常見手法。
🔭 previous_interaction_id 這個設計,反映了 API 背後怎樣的狀態管理方式?
這代表每次生成結果不是「一次性丟出就結束」,而是被存成一筆有 ID 的紀錄,之後可以用這個 ID 回頭接續——這是一種 有狀態設計(stateful)伺服器會幫你記住之前呼叫的結果並給一組 ID,下次呼叫帶著這個 ID 就能接續,不用自己把整包資料再傳一次,跟一般「每次都要重新傳整包資料」的無狀態呼叫不同。好處是呼叫端不用自己保存整支影片的畫面資訊,代價是你要多管理這些 ID,也要留意伺服器端會把紀錄保留多久。

📝 隨堂考(點選答案,立即回饋)

Q1. Gemini Omni 1.1 Flash 的「場景延伸」功能,相比舊版最大的改進是什麼?
✅ 材料明確提到新版可以分析前 10 秒的畫面內容,過去的模型只看最後 1 秒,這是這次更新在「連貫性」上的核心突破,跟畫質、即時速度、金鑰門檻無關。
Q2. 如果你想做一個「鏡頭從甲畫面平滑轉場到乙畫面」的效果,材料中提到用哪個功能最適合?
✅ 材料提到「Specify first and last frames」功能就是專門用來達成平滑轉場與複雜運鏡,360p 是解析度選項、previous_interaction_id 是延伸場景用的參數,reading_minutes 根本不是這個 API 的欄位。
Q3. 使用 360p 草稿模式主要的實際好處是什麼?
✅ 材料寫明 360p 相比 720p「最多快 60%、成本只要三分之一」,是設計給快速迭代原型使用,跟畫質提升、長度無限延伸、自動翻譯都無關。
Q4. 範例程式碼中 previous_interaction_id=previous_video_interaction.id 這一行的作用是什麼?
✅ 這行把上一段影片互動的 ID 傳進去,模型才能讀取那段畫面的上下文並接續生成,不需要重新描述整個場景。
Q5. 場景延伸功能目前最長可以把一支影片累積延伸到多長?
✅ 材料寫明可以每次以 10 秒為單位延伸,累積總長最長到 40 秒。

🃏 翻牌記憶卡(先想答案,再點開對答)

場景延伸能參考前幾秒的畫面?點我翻面
前 10 秒(舊版只看最後 1 秒)
單支影片累積延伸的上限是多久?點我翻面
40 秒(每次以 10 秒為單位延伸)
360p 草稿模式比 720p 快多少、便宜多少?點我翻面
最多快 60%、成本約三分之一
接續生成影片時要傳哪個參數?點我翻面
previous_interaction_id(前一段互動的 ID)
要做平滑運鏡轉場該用哪個新功能?點我翻面
指定起始與結束關鍵影格(first and last frame)
這次更新的模型名稱是?點我翻面
gemini-omni-1.1-flash

✅ 離開前自測(全勾=這課真的學會了)

0%