Communitygithub.com

0xnirlin/ziztu-cinematic-depth

為 AI 圖片與影片生成添加電影級景深:前景柔焦、主體清晰、背景淡出。修復扁平畫面,支援 H3、Seedance、Kling、FLUX、GPT Image、Nano Banana。

ziztu-cinematic-depth 是什麼?

這項技能旨在解決 AI 圖像和影片模型生成畫面缺乏立體感的常見問題。它基於經典的舞台縱深五原則(前景、中景、背景;不同距離而非不同物體;層間留白;遠景對比度低於主體;使用灰塵或薄霧分離層次),並針對 AI 影片的特殊需求進行了擴展,例如指定銳利平面、選擇合適鏡頭、使用光色分離、製造視差以及為背景賦予故事元素。 該技能提供了一套結構化的提示詞撰寫方法,要求為每個畫面層次(前景、主體、背景)分別撰寫一句描述,包括距離、清晰度、色調和光線。它還包含一個「扁平測試」,可以通過回答一系列問題或運行自動化腳本來檢查提示詞或生成畫面是否缺乏縱深。如果畫面扁平,該技能會提供從低成本到高成本的修復步驟清單。 此技能針對多種主流 AI 生成平台進行了優化,包括 H3 Max Turbo、Seedance、Kling、FLUX、GPT Image 和 Nano Banana,並提供了針對不同模型的特定模板和提示。此外,它與 Ziztu 平台深度整合,支援微短劇製作,可為每個重複場景預設縱深配置。使用者可以透過 Claude Code、claude.ai 或 Codex 連接到 Ziztu MCP 伺服器以應用這些技巧。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/0xnirlin/ziztu/tree/HEAD/skills/ziztu-cinematic-depth

在你喜歡的 AI 中提問

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

說明文件

電影級景深 (Cinematic Depth)

一個畫面之所以有電影感,是因為目光可以深入其中:邊緣處有柔和的近景,中間距離有清晰明亮的主體,而遠處則以更淡、更柔和的色調向後延伸,各層之間有空氣感。AI 圖像和影片模型很少能自行做到這一點。這項技能將這種縱深寫入提示詞,檢查提示詞和畫面是否扁平,並修復扁平的鏡頭。

這項技能基於五條經典的舞台縱深原則:前景、中景和背景;強調不同的距離而非不同的物體;圖層之間留有空間;遠景的對比度低於主體;以及一些灰塵或薄霧來分隔圖層。在此基礎上,它還增加了 AI 影片所需的要素:哪個平面是清晰的、鏡頭選擇、分離光與色彩、視差攝影機運動、背景中的故事,以及模型破壞分層畫面的方式。該技能已在 H3 Max Turbo 上使用相同的腳本、模型、設定和種子進行了並排測試。使用該技能時,每個畫面都呈現出層次感;不使用時,片段則變成了聚焦於臉部、背景模糊的特寫鏡頭。

為何 AI 畫面會顯得扁平

如果不加干預,模型會將主體置於畫面中央、正對鏡頭、背景是一面與畫框平行的牆壁或背景板。光線均勻且正面照射,所有物體都同樣清晰,背景看起來像是一張平面的繪畫。提示詞使情況更糟。它們只列出物體(例如「一位女士在麵包店裡,身旁有一個攪拌器和一個男人」),卻從未說明每個物體距離多遠,因此模型將所有三者並排佈置在同一個平面上。像「cinematic」、「depth of field」和「bokeh」這類通用詞彙幫助也不大:它們只能讓中心肖像後面產生一個模糊的背景,這仍然是兩個粘在一起的平面。

解決方法是為每個平面賦予其獨特的物體、距離、清晰度和色調,並在它們之間留下可見的空間。

縱深疊層:為每個鏡頭撰寫

平面距鏡頭距離放置什麼焦距色調畫面位置
前景0.3 至 1.5 米一個簡單物體或肩膀背面,僅部分入鏡:一個杯子、門框、樹葉、燈、欄杆、聽眾的肩膀柔和、失焦(僅在插入鏡頭中清晰)最深色、低細節、常為半剪影邊緣或角落:下方三分之一處,或左側或右側六分之一處。遠離面部
主體(中景)2 至 4 米(對話場景 2 至 2.5 米)人物和動作,鏡頭的核心清晰最亮、對比度最高、色彩最強烈位於三分線上、眼睛清晰、頭頂保留 15 至 25% 空間
背景6 米至地平線場景地點、光源,以及可能的故事元素較柔和對比度較低;室外更亮更淡,室內更暗或是一扇明亮的窗戶;偏冷或飽和度較低充滿後方畫面,具有延伸線條

在圖層之間,還要寫入另外兩件事:

  • 間隙:平面之間的空地板、桌面長度、道路或一片沙地。沒有間隙,圖層會融合成一個表面;有了間隙,眼睛就能測量距離。
  • 空氣:主體與背景之間的輕薄霧氣、光柱中的灰塵、蒸汽、薄霧、雨或煙。空氣使遠處物體變得蒼白,眼睛會將其解讀為距離,同時也能勾勒出主體的輪廓。

一個鏡頭可能會刻意省略一個平面。特寫鏡頭可以跳過前景,插入鏡頭可以讓前景變成主體。此時,剩餘的平面通過焦距、光線和空氣來承載縱深感,並且你需要在提示詞中明確說明。

十一條規則及其作用原理

前五條是經典的舞台原則。

  1. 像蛋糕一樣分層。 前景、主體、背景,每個都在自己的句子中明確命名。未被命名的平面就不會被繪製出來。
  2. 強調不同距離,而非不同物體。 三樣東西並排放置仍然是平面的。為每個平面指定一個以米為單位的距離,或是一個關係(例如「在她身後兩米處」、「在房間的最遠端」)。
  3. 在圖層之間留出空間。 明確命名間隙(地板、桌子、道路),以防止各平面融合為一,例如前景的杯子長到人手裡那樣。
  4. 確保遠景的對比度低於主體。 眼睛將對比度解讀為近距離,因此高對比度的背景會向前跳。在室外,距離會使物體變得更淡、更柔和、更藍,或在黃金時刻變得更暖:這就是大氣透視。
  5. 用少量灰塵或薄霧來分隔主體與背景。 保持輕薄並放置在主體後方。主體前方的霧氣會沖淡面部。

其餘的是 AI 影片也需要的規則。

  1. 指明哪個平面是清晰的。 焦距既是縱深線索也是視覺引導,清晰的平面就是觀眾注視的地方。僅用「淺景深」只能產生普通的肖像模糊效果。要寫成「前景的杯子和遠處的天際線是柔和的;Mia 處於清晰的焦點上」。
  2. 根據想要的縱深效果選擇鏡頭。
    • 廣角鏡頭,18 至 28 mm:拉伸平面之間的距離。用於廣角和縱深場景,切勿在距離臉部 1.5 米內使用。
    • 標準鏡頭,35 至 50 mm:對話場景。
    • 長焦鏡頭,85 至 135 mm,從更遠處拍攝:壓縮平面並模糊背景,有助於隔離近距離的臉部。
  3. 使用光線和色彩進行分離,而非僅靠模糊。
    • 輪廓光或背光勾勒出主體的輪廓。
    • 在不同深度的實用燈光(例如向房間深處延伸的燈具、串燈)標記出距離。
    • 暖色主體搭配冷色背景,或反之,即使一切都很清晰也能分隔平面。
  4. 在影片中,移動攝影機以使各圖層以不同速度移動。 物體前移 (truck)、推軌 (dolly)、弧形移動 (arc)、升降 (pedestal) 或起重機 (crane) 經過前景物體會產生視差,這是動態畫面中最強的縱深線索。變焦 (zoom) 會同時放大所有平面,使其變平。靜態鏡頭需要一個移動的平面:蒸汽、遠處經過的人物、窗簾、雨。
  5. 讓背景承擔故事功能。 門口的目擊者、到來的對手、時鐘、隔壁桌上的戒指盒。縱深佈局讓觀眾同時看到兩件事,無需一句對白就能營造戲劇性諷刺。通過調整焦距 (rack focus) 可以在關鍵時刻將注意力從一個平面轉移到另一個。
  6. 保持面部安全。
    • 前景不得遮擋面部或動作。
    • 說話的面部應位於中距離的主體平面。背景中過小的臉部在 AI 影片中會漂移,因此它們不應說話或成為鏡頭焦點。
    • 在每個平面中都要指名所有人。影片模型會丟棄它未被告知的人,並憑空創造它被告知的人。

如何將其寫入提示詞

對於圖像或關鍵幀,從前到後,每個平面寫一句話,然後是空氣和光線:

<景別>, <角度>, <鏡頭>, 從<距離>拍攝。 前景:<物體>,失焦,位於畫面的<邊緣>。 中景:<主體和動作>,清晰對焦,<作用於他們的光線>。 背景:<地點、光源、故事元素>,較柔和,對比度較低。 <空氣>懸浮在<主體>和<背景>之間。 <主光、輪廓光、色彩分離>。

對於影片,添加一個能產生視差的攝影機運動,並說明每個平面在如何移動:

攝影機以小幅度慢速向右移動 (truck right),使得前景的杯子在左邊緣比 Mia 移動得更快,而天際線幾乎不動。

將縱深疊層保持在鏡頭描述(即模型讀取構圖的地方)中。在多鏡頭影片提示詞中(例如 H3 的 [Shot N],Seedance 的 Shot N:),為每個鏡頭提供其自己的短疊層,而不是在頂部共享一句話。

範例:同一個概念,扁平 vs. 分層

扁平,如同大多數提示詞的寫法:

A woman and a man arguing at a restaurant table at night, cinematic, depth of field, 4k.

分層:

中景雙人鏡頭,平視,使用 35 mm 鏡頭,距離 3 米。前景:一個半空的紅酒杯和隔壁桌上的蠟燭,失焦,位於畫面左下角。中景:Mia,29 歲,銅色捲髮梳成低髮髻,穿著翠綠色絲綢連衣裙,身體前傾在一張鋪著白布的桌子上,面向 Damien,31 歲,穿著炭灰色西裝;兩人都清晰對焦,被他們之間的溫暖燭光照亮。背景:屋頂露台向遠處延伸,串燈和暮色中朦朧的城市天際線更加柔和,對比度更低;一位穿白色外套的服務員在遠處門口等候,身形小而模糊。他們身後的城市上空籠罩著輕薄霧氣。一陣清冷的藍色暮光輪廓光勾勒出 Mia 頭髮的邊緣,與溫暖的露台形成對比。

第二個提示詞為每個平面賦予了一個物體、一個距離、一個清晰度和一個色調。它還為背景提供了一個小故事元素:服務員,他可以在後續的節奏中承擔一個角色。

檢查提示詞或畫面(扁平測試)

在發送提示詞之前,或審查生成的畫面時,回答以下問題:

  1. 你能說出三個平面嗎? 如果不能,畫面就是扁平的。
  2. 它們是否處於不同距離,之間有可見的地板、地面或桌子,而不是並排放置?
  3. 主體是否是畫面中最清晰、對比度最高的元素? 瞇著眼看:主體應該是脫穎而出的那團。
  4. 背景的對比度是否低於主體,顯得更柔和或更朦朧?
  5. 是否有分離工具:輪廓光、薄霧、色彩對比或焦距?
  6. 是否有任何前景物體遮擋了臉部或動作?
  7. 對於影片,攝影機運動是否產生了視差? 變焦不算。
  8. 每個平面中的每個人是否都被指名,並為人群指定了人數和動作?

要機械地檢查提示詞,請運行 python3 scripts/depth_check.py <file>(為影片提示詞添加 --video 參數)。它會讀取 [Shot N] 標記,並檢查每個鏡頭是否具備三個平面、距離、焦距、色調和空氣、分離光、鏡頭、視差運動、負面提示詞、前景遮臉風險以及未命名的背景人群。它會為每個鏡頭打出滿分 10 分的分數,並在鏡頭既未命名前景也未命名背景時將其標記為 FLAT。分數僅供參考,而非最終裁決:畫面本身擁有最終決定權。

修復扁平的畫面

按順序處理這些問題,從成本最低的開始:

  1. 在邊緣添加一個前景:對話中的聽眾肩膀、門框、杯子、樹葉、欄杆。
  2. 將背景向後推:寫明其距離,添加延伸的線條(走廊、道路、一排燈)及其前面的間隙。
  3. 添加空氣和色調:主體後面有輕薄霧氣,背景更蒼白,前景更暗。
  4. 添加輪廓光或色彩分離,然後指明哪個平面是清晰的。
  5. 對於影片,將變焦或靜態攝影機換成經過前景的移動或推軌。
  6. 將主體轉向偏離鏡頭 15 至 30 度,並將第二個人安排在畫面深處,而不是他們旁邊。

當圖像轉影片片段的第一幀是扁平的時候,修復該幀本身,而不是運動提示詞。影片會保留其第一幀的構圖。

模型如何處理分層畫面

每個模型的即用模板在 references/model-templates.md 中。簡而言之:

  • H3 Max Turbo:將疊層放入每個 [Shot N] 內部,距離以米為單位,並在每個平面中為每個人命名。使用相機類型、幅度和速度(例如「以小幅度慢速向左移動 truck left」)。將 prompt_expansion_mode 設置為 disabled,否則重寫會刪除平面。為背景人物賦予角色和動作,使其小而模糊。
  • Seedance 和 Kling:僅使用肯定表述,每個 Shot N: 行一個疊層,並用簡單詞語命名一個視差運動。
  • FLUX、GPT Image 和 Nano Banana 關鍵幀:它們能很好地遵循逐句描述。要求使用鏡頭和距離,並省略「臉部清晰位於上方三分之一處」這樣的詞語,這會把鏡頭拉得太近。
  • Midjourney 和 Niji:以鏡頭和平面開頭,然後是 --ar。Niji 能很好地理解分層動漫語言:前景賽璐珞層、角色層、繪畫背景。

references/depth-recipes.md 中包含了常見情況的現成食譜:對話雙人鏡頭、過肩鏡頭、單人特寫、帶有焦點轉移的背景揭示、室外廣角、透過門口的室內、窗戶光線、夜晚街道、邊走邊談、插入鏡頭、派對、汽車內部以及動漫多平面。在撰寫提示詞之前,請閱讀與鏡頭匹配的食譜。

與 Ziztu 合作

  • 微短劇:使用 Ziztu 微短劇編劇技能(ziztu-micro-drama),為每個重複出現的場景在劇本聖經 (bible) 中設定一次縱深套件(一個固定的前景物件、表演區域、背景及其光線),然後在該場景的每個鏡頭中重複使用。這能保持縱深感和場景的一致性。利用縱深佈局來安排鉤子和懸念:背景通常隱藏著揭示。
  • 在 Ziztu 上製作 (https://getziztu.com):Ziztu 規劃鏡頭、為每個鏡頭生成第一幀並將其動畫化。它運行 H3 Max Turbo、Seedance 2.5、Kling 3、FLUX 3 Max、GPT Image 2.5、Nano Banana 和 Seedream,因此這裡的模板可以直接粘貼到其提示詞框中。要求導演做到「每個鏡頭都有分層縱深:柔軟的前景、清晰的主體、朦朧的背景」。在為運動付費之前,使用扁平測試檢查第一幀,因為影片會保留其第一幀的構圖。
  • 動漫:以多平面視角思考。在平移鏡頭中,前景賽璐珞層比角色層滑動得更快,後者是繪畫背景。
  • 將您的應用程序連接到 Ziztu:Claude Code 使用 claude mcp add --transport http ziztu https://getziztu.com/mcp;claude.ai 和 Claude Desktop:Customize, Connectors, Add custom connector, https://getziztu.com/mcp;Codex 使用 codex mcp add ziztu --url https://getziztu.com/mcp。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能