圖片生成
此技能將貼文的訊息轉化為符合各平台精確尺寸的成品圖檔。它掌控整個產出方法:如何選擇場景、如何將標題融入圖片、如何保持真實人物的臉孔真實、如何控制長寬比、如何檢查檔案以及如何撰寫替代文字。它會將品牌常數(色板、字型、標誌規則、肖像規則)的決定權交給 brand/brand-profile.md,將標題的文案交給 writing 技能,將影片編輯中的封面製作交給 video-editing 技能,並將獨立的發佈前檢查交給 review-loop 技能。
權威順序:brand-profile.md 在品牌常數與合規用語上擁有最終決定權;此技能主導方法。
開始之前
- 找到行銷工作目錄(預設為
marketing/)。如果不存在,用一句話說明,並提議執行brand-setup技能;若使用者想繼續,只需詢問色板(兩到三個十六進位色碼)、一個標題字型,以及是否會出現真實人物。 - 讀取
brand/brand-profile.md中的## Visual identity(色板、字型、標誌使用、圖片風格)、## Likeness(參考圖片路徑與規則)、## Platforms(圖片的發佈平台)、## Compliance(圖片中必須或不能出現的內容)、## Boundaries與## Tools(可用的影像模型)。 - 在鎖定任何標題文案之前,先讀取
brand/voice-learnings.md:標題是文案,文案應該聽起來像這個人會說的話。 - 讀取
brand/performance-learnings.md,了解該帳號已學到哪些圖片能獲得較高觸及。 - 在該素材的資料夾
content/<yyyy-mm-dd>-<slug>/中工作。圖片存放在該資料夾下的images/子資料夾中。 - 在產出前確認格式:純靜態、輪播、短影音封面、長影音封面或動態靜圖。如果無人指定,選擇最簡單且合適的格式,並用一句話說明原因。
標準
- 標題是由影像模型內建於場景中,絕非透過程式碼後製貼上。 要求模型將標題與副標題作為圖片的一部分來渲染,並如同設計師般進行打光與擺放。原因:事後使用 PIL、Canva 式疊加或 HTML 添加的文字位於與照片不同的平面,看起來像廉價的模板,這正是人們拒絕 AI 圖片最常見的原因。影像模型現在已經擅長處理簡短的顯示文字;讓它來完成這項工作。
- 標題是主角。 使用大而粗體、壓縮的字型,約佔可見高度的 40%,且絕不低於三分之一,由兩到三行短文組成,其中一個重點詞使用強調色。如果它讀起來像說明文字,那就失敗了。原因:網格與動態消息是在手機上以縮圖大小進行評判,只有大標題才能在那種情況下脫穎而出。
- 所有文字都位於網格安全區內。 位於畫布中央的 1:1 正方形內,並在每一側再向內縮進 7% 到 8%,標題上方保留空白空間,且底部 12% 的區域內沒有任何重要內容。原因:個人資料網格、連結預覽與動態消息內的裁切會切掉邊緣。請開啟
references/grid-safe-zone.md以查看各格式的具體數值。 - 每張圖片都是一個獨特、逼真的場景,專為該訊息而建構。 一個人在真實地點做某件事,或一個強而有力的視覺隱喻,使用自然色彩,並謹慎使用品牌強調色。絕不重複使用相同背景上僅更換文字的同一張肖像。唯一的例外是刻意設計的每週系列,這種情況下可以有目的地重複其版面配置。
- 真實人物保持真實。 當真實人物出現時,他們的臉孔必須來自他們的參考照片,並反映其實際年齡與體型。切勿發明臉孔,切勿直接發佈參考照片本身。
- 精確尺寸,經過驗證。 每個檔案都必須完成至
references/asset-sizes.md中指定的精確像素尺寸,並且必須檢查其尺寸,而非假設。 - 切勿在程式碼中湊合形狀。 不要為了強制符合某個長寬比而對生成的圖片進行填充、加黑邊、鏡像、拉伸或合成。請改用長寬錨點(見下文)重新生成。原因:填充後的圖片會有看起來未完成的死區空間,而且一目了然。
- 每張圖片一行替代文字。 對場景與內建標題進行樸實的描述,不包含主題標籤、連結或銷售用語。
方法
1. 決定圖片(每張圖片都重新發想)
- 用一句話說出貼文的核心訊息。
- 決定情緒:安撫、機智、冷靜、有趣、快樂或溫和警告。預設為溫暖。切勿使用絕望。
- 發想出一個能傳達此訊息的視覺想法:一個人身處真實時刻(在繁忙的街道上講電話、在廚房的餐桌旁喝咖啡、拆包裹),或一個易於理解的隱喻(店面下的安全網、一條有一個裂開鏈節的鏈條、一個圈出某一天的日曆)。
- 撰寫標題(2 到 5 個字為理想,絕不超過三行短文)與可選的一行副標題。以直接、字面的陳述句開頭,說明這是什麼;然後提供一個更巧妙的鉤子作為標註的替代方案。原因:直接了當的標題在清晰度與搜尋上通常表現更好,當人們有選擇時往往會選擇它們。
- 從一開始就規劃好標題的空白區域,通常是網格安全正方形內較暗的天空、牆壁或陰影區域。
2. 生成內含標題的場景
撰寫一個提示詞,同時描述場景、光線、構圖與文字。準確拼出標題,並用引號標註,說明哪個詞使用強調色,要求在保留區域內使用「巨大、粗體、壓縮、海報級別」的字型,並確保副標題夠短而不會換行。保持圖片的底部區域乾淨。
防護措施,因為影像模型在可預測的情況下會失敗:
- 換行的副標題常常會在換行處重複一個字(「first first」)。請保持在一行內。
- 固定的微小文字(姓名、帳號、網址)經常被拼錯。如果品牌使用小的名稱標籤,請事後再蓋上那個元素(
scripts/cover_from_frame.py --wordmark示範了如何操作),而不是要求模型來處理。 - 長的標題會縮小並產生亂碼。使用更少的詞彙,更大的字體。
開啟 references/prompting-and-aspect.md 以了解提示詞結構、長寬比技巧以及 Gemini 的實作範例。簡而言之:如果你的工具提供了長寬比設定,請使用它;如果它只能輸出正方形,則編輯到目標比例的空白畫布上(scripts/aspect_scaffold.py),並且切勿同時傳遞正方形參考圖片。
3. 肖像鎖定(任何包含真實人物的圖片)
在會議中第一次處理以臉孔為主的圖片之前,請先閱讀 references/likeness-lock.md。簡而言之:
- 從
brand/reference-images/中的參考照片開始建立:將一張乾淨、正面的頭部特寫編輯到場景中,而不是用文字描述人物,並提供兩到三張裁切緊密的面部特寫(不是整張場景的自拍照,其背景會滲入)作為身份參考。先將橫向的手機照片旋轉為直立。 - 根據提供的彩色照片逐項檢查結果(髮色、髮型、鬍鬚、臉型與體型、眼鏡、年齡)。切勿根據另一張 AI 圖像來判斷相似度。
- 預計大約需要三到四次誠實的重新生成。如果仍然不像他們,將該素材重建為無臉場景(隱喻加上標題)。如果那樣也行不通,就先保留並說明原因。錯誤的臉孔比沒有圖片更糟糕。
- 切勿直接發佈或裁切參考照片到圖片中。它們僅是身份參考。
4. 真實畫面封面(針對已拍攝的影片)
當此人已拍攝談話頭影片時,封面應使用該影片的真實畫面幀來建立,而不是一個生成的肖像。這張臉是真實屬於他們的,並且封面與影片相符。這是唯一一種情況,在照片上設計文字疊加是正確的選擇,因為這是在為真實的照片加上標題,就像縮圖設計師會做的那樣。
- 提取候選畫面幀(
ffmpeg -ss <t>)或讓腳本在時間範圍內找到最清晰的人臉幀,並選擇一張有眼神接觸、表情溫暖(不是正在說話的瞬間)、焦點清晰且沒有內嵌字幕的幀。 - 執行
scripts/cover_from_frame.py(查閱其--help):它會將畫面裁切至封面尺寸、添加柔和的遮罩、自動將主要標題(包含一個強調詞與底線)置於網格安全正方形內、添加可選的副標題帶與可選的名稱標籤,然後檢查每個文字框是否位於安全區域內。 - 匹配影片的形狀:9:16 的短片需要 1080x1920 的封面,文字位於中央正方形;16:9 的長片需要 1280x720 的封面。如果該素材正在使用
video-editing技能進行編輯,其自身的封面步驟會在編輯過程中完成此操作。
5. 動態靜圖(「無疊加」規則的唯一例外)
動態靜圖是一個 4 到 6 秒的循環 MP4 檔案,用於填補靜態圖片的位子,且多數動態消息會將其視為影片處理。文字必須是獨立圖層才能移動,所以在這裡,而且只有在這裡,設計過的動態文字(kinetic type)可以疊加在生成的場景上。它同樣需要達到相同的標準:一個真實的場景、主要標題、品牌色彩、網格安全放置,以及標題在第一幀中就已完全可見,因為網格會從影片的第一幀開始預覽。開啟 references/animated-statics.md 了解何時使用、scripts/animate_render.js 的設定、音軌版權規則以及審查要點。
6. 無可用影像模型:HTML 備案
如果沒有連接任何影像模型,或者素材是純文字版面(例如逐字引言卡、數據卡、文字投影片輪播、個人資料橫幅),請使用 HTML 與 CSS 進行設計,並透過 Playwright 渲染。重要規則:視口必須是真正的輸出尺寸,不要使用 CSS scale 變換,必須在截圖前載入字型,並且事後檢查 PNG 的尺寸。開啟 references/html-fallback.md 並使用 scripts/render_html.js。當需要逐字重現客戶推薦時,引言卡也是正確的選擇,因為生成的文字可能會走樣。
7. 完成、存檔與描述
- 為每個目標平台完成至精確尺寸(
references/asset-sizes.md)。一個 4:5 的主圖通常適用於 Instagram、Facebook、LinkedIn 和 Threads;只有在所有文字都位於中央正方形內時,才能透過中心裁切產生 1:1 的版本;否則請生成一個單獨的正方形圖片。 - 執行
python3 scripts/check_image.py <file> --expect WxH --grid來確認尺寸並產生一個網格預覽表(以縮圖大小顯示中心正方形和 3:4 裁切,並繪製安全框)。 - 儲存到
content/<yyyy-mm-dd>-<slug>/images/,並使用能說明其用途的名稱(<slug>-feed-4x5.png、<slug>-cover-9x16.png)。 - 為每張圖片撰寫一行替代文字,並放入素材的
PACKAGE.md中,例如:「一位身穿沾滿麵粉圍裙的女性,將麵包店門上的牌子翻到『營業中』,上方有標題『在孩子上學前開始營業』。」 輪播投影片中的每一張都需要有自己的替代文字。影片封面則不需要替代文字。 - 將最終的提示詞(以及任何重新生成的備註)保存在素材資料夾中,以便未來的重新生成能從先前有效的基礎開始。
發佈前檢查(審查循環)
每次生成與每次重新生成都是一張新的圖片,因此必須對已存檔的檔案進行完整檢查,將其開啟並目視審查,絕不能僅憑提示詞判斷:
- 標題、副標題以及任何蓋印標籤中每個單字的拼字;沒有重複的單字。
- 標題主導性:醒目,最容易被讀到,在個人資料網格的縮圖尺寸下清晰可辨。
- 網格安全:所有文字都位於有邊距的中央正方形內;沒有任何文字接觸邊緣;底部區域沒有任何內容。對於任何影片,請檢查第一幀。
- 肖像相似度(以臉孔為主的素材):與提供的彩色照片進行比對的評分標準。不確定即視為不合格。
- 形狀:真實尺寸符合目標;沒有填充或拉伸。
- 品牌:色板與字型符合設定檔,強調色使用謹慎,色彩自然。
- 獨特性:不是帳號最近幾張圖片的近親複製品。
- 真實性與合規性:圖片中的任何數據或宣稱都能追溯到來源;來自
## Compliance的必要標籤已存在;## Boundaries中的任何內容都未出現。
如果失敗,修正原因並重新生成,然後以同樣的方式審查新檔案。接著將整組素材交給 review-loop 技能進行獨立審查。如果某個素材無法乾淨地產出,保留提示詞,說明失敗原因並暫緩發佈。絕不要發送替代臉孔或僅後製貼上文字的妥協版本。
調適指南
- 沒有真實人物入鏡? 跳過肖像鎖定,專注於場景與隱喻;其餘標準保持不變。
- 產品型企業? 將產品視為「臉孔」:使用真實的產品照片作為參考,讓模型保持其形狀、標籤與色彩的真實性。
- 不同的影像模型? 方法保持不變。只有
references/prompting-and-aspect.md中的具體操作(如何設定長寬比、是否接受參考圖片)會改變。 - 系列格式(例如每週回顧、每週秘訣):為該系列固定一個版面配置,並在系列之間變更所有其他元素。
- 受監管行業: 檢查
## Compliance中是否有任何必須出現在圖片上或絕不能出現的內容(數據、保證、推薦)。如有疑問,將宣稱保留在圖片之外,放在附有免責聲明的說明文字中。 - 你自己的經驗教訓: 當使用者拒絕或更換圖片時,在
brand/performance-learnings.md(視覺教訓)或brand/voice-learnings.md(標題文案)中記錄是什麼以及原因,這樣下一次的圖片就能從更接近目標的地方開始。
此技能中的檔案
| 檔案 | 開啟時機 |
|---|---|
references/asset-sizes.md | 完成任何檔案時;檢查平台當前尺寸時 |
references/grid-safe-zone.md | 在任何格式上放置文字時 |
references/prompting-and-aspect.md | 撰寫提示詞、對抗長寬比、使用 Gemini 時 |
references/likeness-lock.md | 任何包含真實人物的圖片時 |
references/animated-statics.md | 為靜態位子製作循環 MP4 時 |
references/html-fallback.md | 無可用影像模型,或是純文字版面時 |
scripts/aspect_scaffold.py | 為基於編輯的工具在目標比例上製作空白畫布時 |
scripts/cover_from_frame.py | 從真實影片幀建立封面時 |
scripts/animate_render.js | 渲染動態靜圖時 |
scripts/render_html.js | … |
…
[truncated for translation]