Communitygithub.com

YouTube Shorts 視覺導演與圖片生成技能

專業代理技能,用於導演、設計提示,並批次生成高品質 9:16 垂直圖片,供 YouTube Shorts 使用 Antigravity 的 generate_image 工具。跨 5 到 20 個場景維持角色與世界視覺一致性,將分鏡圖對應到電影級 Imagen 3 提示,並為 YTShorts 渲染管線整理生成的素材。

YouTube Shorts 視覺導演與圖片生成技能 是什麼?

此技能將 AI 代理轉變為 YouTube Shorts 的專業視覺導演,能夠生成電影級、連貫的 9:16 垂直影像序列。它核心解決了在生成多個短影片場景時,角色和環境風格不一致的常見問題。技能透過三項機制達成此目標:角色 DNA 藍圖、世界與燈光錨點,以及利用 Antigravity 工具原生支援的「視覺參考鏈結」(ImagePaths) 來傳遞前一個場景的視覺特徵。此技能支援在 Antigravity IDE 與 CLI 環境中執行,工作流程包含:使用專用腳本進行故事板預先驗證、取得使用者核准、批次呼叫 `generate_image` 工具生成圖片,最後將素材部署至後端並觸發影片渲染。此外,它還能生成頻道品牌素材,如頭像、橫幅和社群貼圖,且所有圖片生成皆優先使用 Antigravity 原生工具,無需依賴外部 API。

相容平台~Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/mrvijaykr56/youtubeshorts/tree/HEAD/.agents/skills/shorts-image-director

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

YouTube Shorts 視覺導演與圖片生成技能 是做什麼的?

此技能引導代理使用 Antigravity 原生的 generate_image 功能,為 YouTube Shorts 生成連貫、電影級的 9:16 垂直場景。


1. 視覺一致性框架(角色與世界同步)👥🌍

在為一部 Short 生成 5 到 20 張圖片時,避免風格或角色偏移至關重要。如果角色的臉部、服裝或環境在場景間隨機變化,影片的沉浸感就會被破壞。

場景間同步的三大支柱:

  1. 角色 DNA 藍圖:

    • 在每個包含該角色的場景中,重複使用完全相同的五部分角色公式: [姓名 + 年齡/性別] + [髮型與髮色] + [臉部特徵] + [確切服裝項目與顏色]
    • 範例:"Maya,26 歲女性考古學家,一頭亂糟糟的深色捲髮綁成馬尾,臉上有雀斑,穿著橄欖色亞麻狩獵襯衫,戴著黃銅指南針項鍊"
    • 切勿使用「她看起來」或「那位女士」等通用術語來替代。
  2. 世界與燈光錨點:

    • 定義一個共享的環境陳述,並將其前置到所有場景提示中: [設定] + [主要光源與色溫] + [陰影風格] + [氛圍]
    • 範例:"地下古埃及砂岩墓穴,溫暖的琥珀色火炬光線投射出深邃、搖曳的陰影,飄浮的金色灰塵顆粒,深鈷藍色背景。"
  3. 視覺參考鏈結(ImagePaths 參數) 🔗:

    • Antigravity 的 generate_image 工具原生支援 ImagePaths(將先前圖片作為視覺條件參考傳遞)。
    • 工作流程:
      1. 生成場景 1(確立主要角色和燈光)。
      2. 儲存 scene_1.jpg。
      3. 對於場景 2、3、4...,在呼叫 generate_image 時傳遞 ImagePaths: ["<path_to_scene_1.jpg>"]。
      4. 這會將場景 1 的視覺潛在特徵直接饋送給 Imagen 3,從而將所有後續場景的臉部形狀、服裝顏色和環境色調錨定下來!

2. 預先驗證與使用者核准 🛑

關鍵要求(零 Token 浪費): 在執行任何 generate_image 呼叫之前:

  1. 執行預先分鏡驗證器:
    .\backend\venv\Scripts\python.exe backend\scripts\storyboard_validator.py --json "path/to/script.json"
    
    • 必須有 0 個阻斷錯誤(例如,沒有禁止的文字 Token、有效的 9:16 訊號、在 60 秒 Shorts 上限內)。
  2. 向使用者展示已驗證的分鏡圖與藝術風格,並附上驗證統計資料。
  3. 請求使用者明確核准:

    「故事板已通過所有預先安全檢查(0 個錯誤,預計長度約 X 秒)。您希望我繼續生成這 [N] 張 9:16 圖片,還是想先調整任何場景或風格參數?」

  4. 在使用者給予明確確認之前,請勿生成圖片。

3. 使用 Antigravity generate_image 生成圖片

對於分鏡中的每個場景(在獲得使用者核准後):

  1. 生成前重複/快取檢查 🛑:

    • 檢查 scene_{X}.jpg 或 scene_{X}.png 是否已存在於目標資料夾 (backend/output/<job_id>/) 中且有效(大於 10 KB)。
    • 如果已存在,則跳過重新生成以防止浪費 Token,除非使用者明確要求重新生成/重擲該特定場景。
  2. 合成最終提示(確保不同的攝影機取景):

    [世界錨點] + [角色錨點] + [場景動作與不同的攝影機角度] + [全域藝術風格模板] + [9:16 垂直構圖]
    
    • 確保攝影機鏡頭(例如廣角 vs 微距 vs 反應)與前一個場景不同,以避免生成視覺上相同的靜止畫面。
  3. 呼叫工具: 呼叫 generate_image,並附上:

    • AspectRatio:"9:16"
    • ImageName:scene_1、scene_2、scene_3 等(每個場景嚴格唯一)。
    • Prompt:合成的提示。
    • ImagePaths:對於場景 2..N,傳遞 ["<path_to_scene_1.jpg>"] 以進行視覺條件設定。
  4. 批次生成: 依序或分組生成場景(每個 Short 最多 20 個)。


4. 素材部署至 YTShorts 管線

圖片由 Antigravity 生成後:

  1. Antigravity 將生成的圖片儲存在對話工件目錄中: C:\Users\<user>\.gemini\antigravity-ide\brain\<conversation-id>\*.png

  2. 將圖片複製或連結到 YTShorts 的輸出/任務目錄: d:\WorkSpace\YTShorts\backend\output\<job_id>\ 後端要求的標準命名方式:

    • scene_1.png
    • scene_2.png
    • scene_3.png
    • ...
  3. 與故事板 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

這個單一指令會自動:

  1. 合成高傳真 TTS 旁白(Edge-TTS / KittenTTS)。
  2. 透過 Whisper 生成字詞級同步的 ASS 字幕。
  3. 一次渲染最終的 1080p/4K .mp4 影片,包含光學轉場 (xfade)、Ken Burns 平移/縮放運動、背景音樂(含音訊閃避)以及字幕嵌入!

6. 頻道品牌與社群素材生成 🎨📊

除了 9:16 垂直故事場景外,視覺導演還會使用 Antigravity 原生的 generate_image 工具生成行銷素材:

  1. 社群分頁圖片投票(1:1 正方形):

    • 將角色生成或中心裁切為 1024x1024 的正方形卡片。
    • 將卡片存放在 backend/output/community_poll_assets/ 中(例如 poll_1_character.jpg)。
    • 在新頻道上,圖片投票的觸及率比標準文字貼文高出 3–5 倍。
  2. 頻道頭像吉祥物(1:1 正方形):

    • 生成居中、1024x1024 的 3D 皮克斯風格角色肖像,具有富有表現力的亮澤眼睛,手持一本發光的故事書。
    • 儲存至 backend/output/channel_branding/channel_avatar_1024x1024.jpg。
  3. 全景頻道橫幅(16:9 橫向):

    • 生成頻道重複出現世界的 16:9 全景電影級風景。
    • 使用 Lanczos 濾波器放大至 2560x1440。
    • 儲存至 backend/output/channel_branding/channel_banner_2560x1440.jpg。
  4. 零外部 API 強制要求:

    • 始終優先使用 Antigravity 原生的 generate_image 工具。絕不依賴未經驗證的免費外部圖片 API。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能