fxai-poster · 海報與圖片設計
一張設計好的圖:影片封面 / 海報 / 文章配圖 / 社交圖 / 電商圖 / 資訊圖 / 影片內嵌圖都走這裡。 本技能是 AI 生圖設計規範的唯一出處:任何技能出圖都按這裡的規範與品檢關卡走,不另寫一套。
本技能文件清單(先讀這裡,再決定讀哪冊)
| 文件 | 什麼時候讀 |
|---|---|
references/01-模式選擇.md | 開工必讀:這次該走 web / image / hybrid |
references/02-網頁模式版式.md | web / hybrid 排版、主題、封面文案結構、吸睛判據 |
references/03-生圖與混合模式.md | 寫生圖提示詞、調底圖蒙版 |
references/04-接入影片首幀.md | 把海報鋪到 MP4 前(接入方法、兩個致命點、校驗) |
references/05-封面模板庫.md | 做影片封面必讀:8 種樣式、封面段長度與音軌 |
references/06-圖文資訊圖版式.md | 資訊塊 ≥3:結構選型、編號卡片、圖標配色 |
references/07-敘事與資訊層級.md | 定主張、情緒強度、畫幅與可讀性門檻(跨模式通用) |
references/08-圖片類型矩陣.md | 定類型必讀:15 類用途的尺寸、必備要素、品檢重點 |
references/09-品檢關卡.md | 交付前必讀:三道門的判據與返修路徑 |
references/10-千問2.1提示詞規範.md | 寫提示詞必讀:六段骨架、文字引號規則、人物綁定、尺寸、跨技能調用 |
references/11-封面多尺寸與平台規格.md | 跨平台封面:尺寸 key / 留白側 / 生圖優先 / 驗收 |
references/svg-icons.md、references/infographic-template.html | 23 組內聯 SVG 圖標片段;資訊圖版式實例(只作參考) |
poster.py、cover_batch.py | 出圖入口;--gen-cover 帶字 / --gen-base 無字底圖 |
cover_styles.py、cover_side.py | 8 種樣式(render / render_matrix);按底圖留白判文字側 |
cover_prompt.py | 版式 → 生圖提示詞,六段骨架第三段寫足排版 |
cover_sizes.json | 尺寸與站點規格唯一真源 |
qc.py | 三檢 pre / prompt / post / types |
其餘一律不讀。
模式與樣式
hybrid(生圖打底 + 疊字)/ image(生圖,文案寫進提示詞就落在畫面上)/ web(純文字排版);封面首選 image 帶字。
判據與決策順序見 01 冊,15 類用途預設模式見 08 冊。8 種樣式 key 見 05 冊,多尺寸出齊見 11 冊;一條影片至少出 2 版(有人 / 無人)。
品檢關卡(交付前必過,三道門)
任何一道判 FAIL 不許往下走,按報告給的修法改完重跑。
python qc.py pre --kind record_cover --w 1680 --h 1054 --mode hybrid --title "…" --hooks "數字前置,反差反轉"
python qc.py post --img 封面.png --kind record_cover # 另外兩門:prompt(提示詞)/ types(全類型規格)
- 預檢:畫幅 / 模式 / 必備要素 / 文案超寬 / 吸睛不足
- 提示詞門:六段骨架 + 文字區四要素(引號·位置·字號·字色)+ 著裝
- 成圖門:畫幅 / 解析度 / 亮度 / 層次 / PSNR 為硬門;銳度分三檔(
SHARP_TIER),純畫面圖加--no-text
判據與返修路徑見 references/09-品檢關卡.md。
硬規則
-
🔴 尺寸隨用途,一律以
cover_sizes.json的 key 為準:豎版影片封面vert_9x16(1080×1920)、橫版horiz_16x9(1920×1080);其餘用途按需指定 key,本文件不寫像素。 -
🔴 截圖與 ffmpeg 暫存檔案落系統暫存目錄下的
fxai_burn/poster/(腳本自動建、用 ASCII 路徑),產物拷回專案——中文路徑會讓file://與 ffmpeg 濾鏡解析失敗。 -
🔴 配色只改
themes/*.css的 CSS 變數,HTML 內不硬寫顏色。 -
🔴 字體走
fxai-standard/references/06-字體與素材授權.md白名單;本機缺失時回退系統已裝中文字體並在交付清單登記。 -
🔴 媒體平台物料預設裸出:不帶網址、聯絡方式、QR 碼、引導關注語、品牌署名與 logo 位(判據:發媒體平台的圖不帶任何導流資訊)。僅做品牌官網海報 / 對外物料時顯式
--brand/--site。 -
🔴 吸睛是封面第一要求:判據是劃過去能否讓人停一下;每張至少命中 2 項吸睛元素(熱點詞 / 數字前置 / 反差反轉 / 身份標籤 / 結果承諾 / 緊迫感)。
-
🔴 封面主標必須「正面 → 反轉」兩層:第一行寫做到的面,第二行(強調色)寫代價/真相;膠囊點名熱點技術詞;主標每行 ≤ 7 字(含標點)。
-
🔴 純文字海報衝擊力最強:不堆裝飾圖、不塞人物特寫、標題不超兩行。
-
🔴 封面段長度(幀數)與音軌墊法只在
references/05-封面模板庫.md「封面段時長」定,本文件不寫數值。 🔴 鋪封面必須排在混 BGM 之前:封面段自帶的是墊音不是配樂,BGM 要作為最後一道工序作用於已鋪封面的整片。規範見04冊 1d 節。 -
🔴 本技能不生成影片:影片由
fxai-audio-video/fxai-mv-pipeline/fxai-short-drama出,本技能只交圖或鋪首幀。 -
🔴 資訊塊 ≥3 走資訊圖版式(
06冊);單張封面只承載一個主張。 -
🔴 可讀性門檻(
07冊):對比度實測正文 ≥4.5:1、大字 ≥3:1,縮圖 200px 主標可讀,換畫幅重構圖不裁切;圖標內聯 SVG 禁 emoji,色值寫死十六進位。 -
🔴 交付前必過三道品檢門(
09冊):任一 FAIL 不交付;底圖不合格重出圖,不靠修圖救。 -
🔴 封面尺寸只認 key,預設只出兩張:像素與各站規格只寫
cover_sizes.json; 台帳/專案只引用vert_9x16/horiz_16x9,專案封面.json的sizes只列這兩個 key, 其餘 key 僅在使用者指定時生成。🔴 平台上傳框比例(抖音豎 3:4 / 橫 4:3) 是平台自己的裁切框,不是另出第三張的理由;豎排文字須落在 3:4 安全區內。細則見references/11。 -
🔴 封面文字預設由生圖直接渲染:版式排版說明經
cover_prompt.py寫進提示詞第三段 (--gen-cover);「畫面無任何文字」只准用於疊加層路線(--gen-base)。見11冊。 -
🔴 單一職責:生圖一律委託
fxai-scene-gen,服務尋址歸fxai-workflow;瀏覽器走fxai-slide-video的gpu.chrome_exe(),ffmpeg 走fxai-audio-video的av.ffmpeg_libass()。本技能不感知、不配置服務地址,不寫死可執行檔路徑。
以上 5–8 條的寫法與判據見 references/02-網頁模式版式.md。
直接開跑
# hybrid(預設:生圖打底 + 疊字)
python poster.py --mode hybrid --out-dir <專案> --name cover --size 1680x1054 \
--prompt "…" --title "她回來了|這一次絕不退讓" --tag "古風短劇 · 第 3 集" --overlay 0.5
# image(封面:文案寫進提示詞,生圖直接落字)
python poster.py --mode image --out-dir <專案> --name mv_cover \
--prompt "…(六段骨架,第三段寫足排版)…" --size 1080x1920
# 鋪到影片首幀
python poster.py --mode web --out-dir <專案> --name cover --title "…" \
--attach-video <專案>/成片.mp4 --cover-frames 10
web 模式排版參數(--theme / --kicker / --sub / --keys)見 02-網頁模式版式.md。
片頭資訊貼片
鋪首幀時要疊「出品 / 劇名 / 集名 / 賣點 / 署名」,用 intro_card.py;命令、蒙版與裁切口徑見
references/04-接入影片首幀.md「片頭資訊貼片」。
專案清單(頁面按它顯示進度)
產物目錄建好即建檔、每完成一段更新;結構見 fxai-standard 01 冊。
P=~/.workbuddy/skills/fxai-standard/scripts/fxai_project.py
python "$P" init "<專案>" --title <名稱> --category image --skill fxai-poster
python "$P" stage "<專案>" --script 2 --image 1 --audio 0 --video 0