JP Magazine Poster
工作流程
使用此技能將使用者的主題、原始文字或圖片集轉換為日本雜誌風格的海報檔案。
- 在選擇模板或填入內容之前,請先閱讀
references/template-contract.md。 - 在開始製作之前,請進行一次完整的表單式澄清提問:
- 用 1-3 句簡短的句子總結使用者的當前請求。
- 詢問缺失的或可確認的選項,例如:風格/主題、海報數量、圖片來源、模板選擇、文案語氣、輸出目錄,以及任何必須使用或避免的內容。
- 偏好使用簡潔的編號提問,並在適當時提供具體選項。
- 僅提問一次。使用者回答後,不要循環進行更多澄清。
- 如果使用者仍有遺漏,則採用合理的預設值,並在規格或 manifest 中記錄這些假設。
- 從原始請求及其回答中理解使用者的主題和要求的輸出數量。
- 選擇模板:
- 當使用者提供時,使用其明確的模板 ID。
- 當使用者要求所有風格時,使用全部 8 個模板。
- 否則,選擇最符合內容形狀的最少模板數量。
- 為每個區域建立精簡的內容:
title:結尾不加標點符號。簡短子句可在標題內使用逗號。goldenQuote:必須以中文或英文的句末標點符號結尾。detail:使用正常標點符號和基於事實的來源上下文。- 將中文引號替換為尖括號,除非使用者明確要求保留原始引用文字。
- 避免單字行以及單字加標點符號的行。
- 依照嚴格的優先順序選擇圖片:
- 使用者提供的圖片路徑或 URL。
- 呼叫系統可用的模型或工具來生成符合主題的點陣圖,然後在渲染前將選定的點陣圖檔案儲存到輸出目錄下。
- 只有在使用者圖片不存在,且可用的圖像生成模型/工具不可用、失敗或無法返回專案本地點陣圖檔案時,才繪製精緻的 SVG 圖稿。在
assumptions或manifest中記錄該原因。 - SVG 只能作為內部繪圖來源使用,且必須在最終 HTML 渲染前柵格化為 PNG。
- 撰寫一個輸入 JSON 規格並執行:
node scripts/render_poster.js --spec input.json --out output/<run-name>
node scripts/validate_poster.js --html output/<run-name>/*.html
如果驗證失敗,請縮短或重寫文案、調整明確的換行、更改圖片焦點,然後再次渲染和驗證。
品質要求
- 在完成一輪提問表單並得到回答之前,請勿開始渲染、圖像生成或文案調整,除非使用者明確要求跳過問題。
- 一輪提問後缺失的細節必須透過實際的預設值來填補,而不是提出更多問題。
- 最終 HTML 不得引用
.svg檔案或data:image/svg+xml。 - 圖片來源必須遵循嚴格的優先順序:使用者提供的圖片,然後是系統可用的點陣圖生成,最後才是精緻 SVG 繪圖。
- 生成的、繪製的或備用的圖片必須在放入圖片區域之前,先寫入輸出目錄下的 PNG/JPEG/WebP 檔案。
- 不要將模板備用圖稿或 SVG 柵格化視為等同於模型/工具點陣圖生成。如果跳過或未能進行模型/工具生成,請記錄確切的原因。
- PNG 海報匯出預設使用 2x 比例以獲得較清晰的審閱輸出。
- 模板 03 的 object-card 筆記必須非常簡短,因為每個卡片具有固定的 216px 行高。
- 模板 06 的圖片區域必須保留
.jp-photo-zone { width: 100%; max-width: 100%; },以便左側圖片不會侵入右側文字欄。
規格格式
最小輸入:
{
"theme": "white",
"templates": ["vertical-02"],
"sourceText": "使用者主題或原始文字",
"assumptions": ["用於一輪提問後使用的任何預設值。"],
"images": [
{
"slot": "single-photo-feature",
"src": "D:/path/to/image.png",
"fit": "cover",
"focus": "center 50%"
}
],
"content": {
"title": "海報標題",
"goldenQuote": "一句清晰的編輯句子。",
"details": ["詳細說明一。", "詳細說明二。"]
}
}
注意事項:
theme接受white、midnight、light或dark。templates接受模板 ID(例如vertical-02)、模板名稱(例如vertical-single-photo-headline)或all。content.details可以是字串陣列或包含heading、title和body的物件。images[].slot應與模板合約中列出的data-slot-id或data-relation-id相符。
輸出
渲染指令碼會建立:
- 每個海報一個 HTML 檔案。
- 當安裝 Playwright 且 Chromium 可用時,每個海報一個 PNG 檔案。
- 包含模板、主題、圖片來源、輸出檔案路徑以及驗證/匯出狀態的
manifest.json。 - 當生成的、備用的或 SVG 來源的圖像被柵格化時,會產生
generated-images/*.png。
保持原始模板佈局不變。不要為了強行塞入內容而更改字型大小、行高、寬度、安全邊距、網格設定或視覺結構。應修正內容。