YouTube Shorts 視覺導演與圖片生成技能 是做什麼的?
此技能引導代理使用 Antigravity 原生的 generate_image 功能,為 YouTube Shorts 生成連貫、電影級的 9:16 垂直場景。
1. 視覺一致性框架(角色與世界同步)👥🌍
在為一部 Short 生成 5 到 20 張圖片時,避免風格或角色偏移至關重要。如果角色的臉部、服裝或環境在場景間隨機變化,影片的沉浸感就會被破壞。
場景間同步的三大支柱:
-
角色 DNA 藍圖:
- 在每個包含該角色的場景中,重複使用完全相同的五部分角色公式:
[姓名 + 年齡/性別] + [髮型與髮色] + [臉部特徵] + [確切服裝項目與顏色] - 範例:
"Maya,26 歲女性考古學家,一頭亂糟糟的深色捲髮綁成馬尾,臉上有雀斑,穿著橄欖色亞麻狩獵襯衫,戴著黃銅指南針項鍊" - 切勿使用「她看起來」或「那位女士」等通用術語來替代。
- 在每個包含該角色的場景中,重複使用完全相同的五部分角色公式:
-
世界與燈光錨點:
- 定義一個共享的環境陳述,並將其前置到所有場景提示中:
[設定] + [主要光源與色溫] + [陰影風格] + [氛圍] - 範例:
"地下古埃及砂岩墓穴,溫暖的琥珀色火炬光線投射出深邃、搖曳的陰影,飄浮的金色灰塵顆粒,深鈷藍色背景。"
- 定義一個共享的環境陳述,並將其前置到所有場景提示中:
-
視覺參考鏈結(
ImagePaths參數) 🔗:- Antigravity 的
generate_image工具原生支援ImagePaths(將先前圖片作為視覺條件參考傳遞)。 - 工作流程:
- 生成場景 1(確立主要角色和燈光)。
- 儲存
scene_1.jpg。 - 對於場景 2、3、4...,在呼叫
generate_image時傳遞ImagePaths: ["<path_to_scene_1.jpg>"]。 - 這會將場景 1 的視覺潛在特徵直接饋送給 Imagen 3,從而將所有後續場景的臉部形狀、服裝顏色和環境色調錨定下來!
- Antigravity 的
2. 預先驗證與使用者核准 🛑
關鍵要求(零 Token 浪費):
在執行任何 generate_image 呼叫之前:
- 執行預先分鏡驗證器:
.\backend\venv\Scripts\python.exe backend\scripts\storyboard_validator.py --json "path/to/script.json"- 必須有 0 個阻斷錯誤(例如,沒有禁止的文字 Token、有效的 9:16 訊號、在 60 秒 Shorts 上限內)。
- 向使用者展示已驗證的分鏡圖與藝術風格,並附上驗證統計資料。
- 請求使用者明確核准:
「故事板已通過所有預先安全檢查(0 個錯誤,預計長度約 X 秒)。您希望我繼續生成這 [N] 張 9:16 圖片,還是想先調整任何場景或風格參數?」
- 在使用者給予明確確認之前,請勿生成圖片。
3. 使用 Antigravity generate_image 生成圖片
對於分鏡中的每個場景(在獲得使用者核准後):
-
生成前重複/快取檢查 🛑:
- 檢查
scene_{X}.jpg或scene_{X}.png是否已存在於目標資料夾 (backend/output/<job_id>/) 中且有效(大於 10 KB)。 - 如果已存在,則跳過重新生成以防止浪費 Token,除非使用者明確要求重新生成/重擲該特定場景。
- 檢查
-
合成最終提示(確保不同的攝影機取景):
[世界錨點] + [角色錨點] + [場景動作與不同的攝影機角度] + [全域藝術風格模板] + [9:16 垂直構圖]- 確保攝影機鏡頭(例如廣角 vs 微距 vs 反應)與前一個場景不同,以避免生成視覺上相同的靜止畫面。
-
呼叫工具: 呼叫
generate_image,並附上:AspectRatio:"9:16"ImageName:scene_1、scene_2、scene_3等(每個場景嚴格唯一)。Prompt:合成的提示。ImagePaths:對於場景 2..N,傳遞["<path_to_scene_1.jpg>"]以進行視覺條件設定。
-
批次生成: 依序或分組生成場景(每個 Short 最多 20 個)。
4. 素材部署至 YTShorts 管線
圖片由 Antigravity 生成後:
-
Antigravity 將生成的圖片儲存在對話工件目錄中:
C:\Users\<user>\.gemini\antigravity-ide\brain\<conversation-id>\*.png -
將圖片複製或連結到 YTShorts 的輸出/任務目錄:
d:\WorkSpace\YTShorts\backend\output\<job_id>\後端要求的標準命名方式:scene_1.pngscene_2.pngscene_3.png- ...
-
與故事板 JSON 配對: 將
script.json儲存在同一目錄中:d:\WorkSpace\YTShorts\backend\output\<job_id>\script.json
5. 觸發影片渲染 🚀
圖片和 script.json 準備好放置在 backend/output/<job_id>/ 後,執行獨立的組合工具:
.\backend\venv\Scripts\python.exe backend\scripts\assemble_short.py --job_dir "backend/output/<job_id>" --voice in_female --caption_style tiktok --music lofi --resolution 1080p --transition dynamic
這個單一指令會自動:
- 合成高傳真 TTS 旁白(Edge-TTS / KittenTTS)。
- 透過 Whisper 生成字詞級同步的 ASS 字幕。
- 一次渲染最終的 1080p/4K
.mp4影片,包含光學轉場 (xfade)、Ken Burns 平移/縮放運動、背景音樂(含音訊閃避)以及字幕嵌入!
6. 頻道品牌與社群素材生成 🎨📊
除了 9:16 垂直故事場景外,視覺導演還會使用 Antigravity 原生的 generate_image 工具生成行銷素材:
-
社群分頁圖片投票(1:1 正方形):
- 將角色生成或中心裁切為 1024x1024 的正方形卡片。
- 將卡片存放在
backend/output/community_poll_assets/中(例如poll_1_character.jpg)。 - 在新頻道上,圖片投票的觸及率比標準文字貼文高出 3–5 倍。
-
頻道頭像吉祥物(1:1 正方形):
- 生成居中、1024x1024 的 3D 皮克斯風格角色肖像,具有富有表現力的亮澤眼睛,手持一本發光的故事書。
- 儲存至
backend/output/channel_branding/channel_avatar_1024x1024.jpg。
-
全景頻道橫幅(16:9 橫向):
- 生成頻道重複出現世界的 16:9 全景電影級風景。
- 使用 Lanczos 濾波器放大至 2560x1440。
- 儲存至
backend/output/channel_branding/channel_banner_2560x1440.jpg。
-
零外部 API 強制要求:
- 始終優先使用 Antigravity 原生的
generate_image工具。絕不依賴未經驗證的免費外部圖片 API。
- 始終優先使用 Antigravity 原生的