- 人工智能
- AI 技能/插件
- 提示工程
【免费下载链接】garden-skills
ConardLi's open-source Skills collection, featuring web design, knowledge retrieval, image generation, and more.
本文以 garden-skills 仓库中gpt-image-2技能的 Title-Safe 大字海报模板 为核心,讲解如何用"以巨大文字本身作为主视觉"的提示词结构,生成日式高能量、瑞士极简、复古印刷三种风格的海报,并展示如何将渲染后的 prompt 接入技能自带的脚本在本地直接出图。读完本文,你可以独立完成"一句话就是一张主图"的高质量文字海报生成,并掌握模板参数设计、缺失信息提问与自动补全的完整方法论。
一、什么是 Title-Safe 大字海报
Title-Safe 是本技能在 typography-and-text-layout 分类下提供的一种"字面优先"视觉模板。它专门服务于以巨大文字本身作为画面主角的海报,而不是把文字当作辅助标注:
- 大字主张(Hyper-Energetic Japanese Promo)
- 字面优先海报(type-first poster)
- 标语 / 主张型 banner
- 极致排版练习
- 文字电影海报感
模板文件给出了这一类型视觉的五个核心特征:
- 字本身就是主体,字号超大,占画面 50% 以上;
- 通常由 3-7 个字的主标语 + 1-2 行小字构成;
- 字体设计性强(手写 / 复古印刷 / 噪点 / 涂鸦);
- 背景克制,为文字让路;
- 强调"信息一眼能读"。
这类模板的适用范围集中在三处:标语 / 主张海报、活动 / 大促主视觉、字面优先 banner。值得注意的是,SKILL.md中将它定位为"字面优先 / 双语版式"大类下的一个独立模板,与同为文字类别的 bilingual-layout-visual.md(中英 / 中日双语并置)互为补充:双语模板重"两种语言的并置与层级",Title-Safe 模板则重"单语大字对画面的绝对统治"。
何时使用 / 何时不要使用
模板文件明确划定了触发与排除条件。使用时机:
- 用户提到"大字 / 主张 / hero text / type-first / 文字海报";
- 用户希望"一句话就是主图";
- 用户希望日式 / 极致排版风。
不要使用(会误配到其他模板)的情况:
- 带产品的海报 → 改用 brand-poster.md;
- editorial 杂志封面 → 改用 editorial-cover.md;
- 复杂叙事 → 改用 concept-scene.md。
这实际上是整个技能"模板索引"机制的一环:SKILL.md要求按任务类型只读取最贴近的具体模板文件,不要一次性全读整个references/,而每个模板文件内部又用"不要使用"清单完成同类模板间的分流,避免模板互相污染。
二、缺失信息优先提问顺序
因为大字海报的信息结构非常简单,模板只规定了六个需要向用户收集的字段,并按优先级排序:
- 主标语(3-7 个字)
- 副标 / tagline
- 风格定位(日式昭和 / 现代极简 / 复古印刷 / 涂鸦 / 噪点)
- 主色 1-2 个
- 是否含小字标注 / logo
- 比例
这与 prompt-writing.md 中定义的参数三分类法一脉相承:核心参数(缺失会显著影响结果)优先问,可默认参数直接用默认值,可随机参数在风格范围内合理生成。具体到本模板:
- 必问:标语、副标、风格、主色;
- 可默认:layout、装饰、字体;
- 可随机:装饰具体形状。
同时,SKILL.md的"询问规则"要求提问必须精准——当模板缺少关键变量时,不要笼统地问"你想要什么风格?",而应像本模板这样按字段精确提问("主标语是哪几个字?"、"副标写什么?")。
三、主模板:日式高能量大字海报
主模板是全技能最通用、最容易复用的基准结构。它把一张海报的完整构成拆成type、goal、headline、subheadline、small_text、design、aspect_ratio、constraints八个部分,整体构图是"大号标语字本身 + 副标 + 小字 + 极少的图形辅助":
{ "type": "日式高能量大字海报", "goal": "生成一张以巨大文字本身为主视觉的高能量海报", "headline": { "text": "{argument name=\"headline\" default=\"全力疾走\"}", "language": "{argument name=\"language\" default=\"中文 / 日文混合\"}", "size": "占画面 60% 以上", "alignment": "{argument name=\"alignment\" default=\"居中\"}", "treatment": "{argument name=\"treatment\" default=\"叠加噪点 + 半色调网点 + 错位描边\"}" }, "subheadline": { "text": "{argument name=\"subheadline\" default=\"GO ALL OUT 2026\"}", "size": "headline 1/4", "position": "{argument name=\"sub position\" default=\"headline 下方居中\"}" }, "small_text": { "items": [ "{argument name=\"small text 1\" default=\"4.24-5.24 SPECIAL CAMPAIGN\"}", "{argument name=\"small text 2\" default=\"X COLLECTIVE\"}" ], "position": "底部边角" }, "design": { "primary_color": "{argument name=\"primary color\" default=\"#FF2C2C 朱红\"}", "background_color": "{argument name=\"background\" default=\"#F4EEDC 米黄\"}", "decoration": "{argument name=\"decoration\" default=\"4-5 个简单几何图形(圆 / 三角 / 短粗箭头),刻意留白\"}", "typography_family": "{argument name=\"font family\" default=\"现代日式 sans + 一个手写 accent\"}" }, "aspect_ratio": "{argument name=\"aspect ratio\" default=\"3:4\"}", "constraints": { "must_keep": [ "标语字必须能一眼读出", "字面占画面绝对主体", "颜色 ≤ 3", "字体 ≤ 2 家族" ], "avoid": [ "标语字过小被装饰淹没", "装饰图形 > 6 个", "字体超过 3 种", "出现错别字" ] } }3.1 字段设计背后的方法论
这套 JSON 结构与 prompt-writing.md 推荐的通用骨架(type/goal/subject/scene/layout/style/details/constraints)保持一致,并按海报场景做了裁剪:headline取代subject成为绝对主体,small_text承担details的职责,design统一收纳色彩、装饰与字体。
三个关键设计点:
{argument ...}参数写法:{argument name="headline" default="全力疾走"}是技能统一的参数占位符规范——name要求简洁明确,default必须给出一个可直接工作的默认值。这样模板天然支持"用户指定 / 默认值 / 随机生成"三种填充模式,后续也便于复用、扩写与调试。constraints双向约束:must_keep(必须出现什么)与avoid(必须避免什么)成对出现。对文字海报而言,"字体 ≤ 2 家族"、"颜色 ≤ 3"这类硬约束是防止模型把画面画乱的关键。size用相对量描述:主标"占画面 60% 以上"、副标"headline 1/4",全部用相对比例而非像素,保证模板在不同比例下都能正确表达主次层级。
3.2 自动补全策略
模板规定了两条自动补全规则,用于用户只给少量信息时的兜底:
- 用户给标语 + 风格关键词时:自动决定字处理 + 配色 + 装饰;
- 默认日式高能量 = 噪点 + 半色调 + 错位,默认比例 3:4。
这符合prompt-writing.md的自动补全约束:不破坏主体一致性、不与用户已指定信息冲突、不制造过于离谱的次要元素。
四、三个变体模板
变体不脱离主模板结构,只在少量字段上做替换,实现风格迁移。
变体 1:极简瑞士排版大字海报
把主模板的"噪点 + 半色调 + 错位描边"全部清零,换成无衬线、严格栅格与黑白两极,适合现代设计语境:
{ "type": "极简瑞士排版大字海报", "headline": { "treatment": "无装饰 + 无衬线 + 严格栅格" }, "design": { "primary_color": "纯黑", "background_color": "纯白", "decoration": "无 / 仅一条细横线" }, "constraints": { "must_feel": "瑞士平面 / Minimal" } }变体 2:复古印刷大字海报
在treatment与design字段上切换为油墨物理质感,must_feel给出年代锚点:
{ "type": "复古印刷大字海报", "headline": { "treatment": "套印偏移 + 油墨晕染 + 微微脏感" }, "design": { "primary_color": "复古红", "background_color": "做旧米纸", "decoration": "复古印刷符号" }, "constraints": { "must_feel": "1960s letterpress" } }变体 3:自动补全模式
当用户只想给一句话、把其余全部交给模型时使用,mode: "auto-fill"显式声明补全行为:
{ "type": "大字海报自动补全", "mode": "auto-fill", "rule": "用户给一句标语,自动决定风格 + 配色 + 字处理 + 装饰", "constraints": { "must_feel": "可印刷 + 一眼能读" } }五、避免事项清单
模板末尾总结了这类海报最容易翻车的六个点,其中"错别字"被标为最严重问题——文字海报中文字即主体,任何错字都会让整张图报废:
- 不要让标语字小于画面 40%;
- 不要让装饰多到喧宾夺主;
- 不要让标语出现错别字(最严重);
- 不要让字体 > 2 家族;
- 不要让背景饱和度 > 主标语;
- 不要让小字塞超过 3 行。
这些避免项与主模板constraints.avoid中的"装饰图形 > 6 个"、"字体超过 3 种"形成双重防线:外层是模板级的约束,内层是生成完成后的质量自检标准。
六、仓库内的真实应用案例
仓库自带的案例库中可以直接看到本模板的两个完整落地样本(位于 website/gpt-image2-website/public/case/typography-and-text-layout/title-safe-poster/),它们把抽象模板填充成了具体海报:
- 1.json:日式高能量路线,主标"一起跑过"占画面高约 58%,语言为"中文主标,英文与数字为辅",字处理是"粗黑体轮廓 + 半阶红色错位 + 砂目网点 + 20% 透明噪点",配色为
#C41E2E 朝朱配#F2EBD4 和纸米黄,比例 3:4,副标CITY RUN FOR CARE 2026取主标字高的四分之一。值得注意它对"可读性"的量化:主标语要在街对面扫一眼可辨、装饰物不超过 5 个且透明度低于 40% 不压字、出血各 3mm 外不排关键小字——这些把模板里抽象的"一眼能读"落地成了可执行的排印规格。 - 2.json:极简瑞士路线,主标"秩序即善意",无衬线统一字重 700、字距 -2%、无描边无噪点无半色调,按 12 栏栅格左对齐,纯黑
#000000配纯白#FFFFFF,装饰仅一条 0.5pt 水平线,比例 1:1 可扩展 2:3。它的约束也很有代表性:"全图仅黑白两色"、"标题若改稿勿超过八字"。
这两个案例证实了模板的可填充性:同一套 JSON 骨架,通过替换 headline 文案、treatment、配色与 constraints,就能产出气质完全不同的日式高能量与瑞士极简两张海报。
七、从模板到成品:在 gpt-image-2 技能中运行
模板渲染出的 prompt 只是第一步。gpt-image-2技能支持三种运行模式(详见 SKILL.md),出图方式随模式不同而分叉:
| 条件 | 模式 | 调用脚本? | 落盘 prompt? | 落盘图片? |
|---|---|---|---|---|
ENABLE_GARDEN_IMAGEGEN=1+ 有OPENAI_API_KEY | A | 是(generate.js/edit.js) | 自动 | 自动 |
ENABLE_GARDEN_IMAGEGEN=1但没 KEY | A? | 否(先要 KEY) | — | — |
| 未启用 + 宿主有图像工具 | B | 否(用宿主工具) | 可选 | 由宿主决定 |
| 未启用 + 宿主无图像工具 | C | 否 | 必须 | 无法 |
任何任务的第一步都是先运行模式探测脚本:
node skills/gpt-image-2/scripts/check-mode.js # 想拿结构化结果给上层程序用: node skills/gpt-image-2/scripts/check-mode.js --json从 check-mode.js 的源码可以看到模式判定的具体逻辑:ENABLE_GARDEN_IMAGEGEN为真(1/true/yes/on均被TRUTHY集合接受)且存在OPENAI_API_KEY时进入 Mode A;开了开关但缺 key 进入 A?;否则进入 B-or-C。环境变量按 CLI 参数 →process.env→<cwd>/.env→<cwd>/.gateway.env→~/.gateway.env的优先级读取(见 shared.js)。
Mode A:本地直接出图
把上文的 Title-Safe 模板渲染成最终 prompt 后,保存为文件并用generate.js生成:
# 用提示词文件生图 node skills/gpt-image-2/scripts/generate.js \ --promptfile garden-gpt-image-2/prompt/title-safe-poster-20260424-153045.md # 或直接内联 prompt node skills/gpt-image-2/scripts/generate.js \ --prompt "日式高能量大字海报:主标语「全力疾走」占画面60%以上……" \ --size 768x1024 \ --quality highgenerate.js 支持的完整参数如下:
| 参数 | 说明 |
|---|---|
--prompt <text> | prompt 文本(与--promptfile二选一) |
--promptfile <path> | 从文件加载 prompt |
--prompt-output <path> | 把最终 prompt 另存到指定文件 |
--image <path> | 输出图片路径,默认garden-gpt-image-2/image/<slug>-<timestamp>.png |
--model <name> | 模型覆盖,默认读OPENAI_IMAGE_MODEL,兜底gpt-image-2 |
--size <WxH> | 输出尺寸,如1024x1024、768x1024 |
--n <count> | 一次生成的图片数量 |
--quality <level> | auto/high/medium/low |
--background <mode> | transparent/opaque/auto |
--moderation <level> | low/auto |
--output-format <format> | png/jpeg/webp |
--output-compression <0-100> | jpeg / webp 压缩率 |
--json | 结构化输出保存路径与 API 响应 |
请求会打到{OPENAI_BASE_URL || "https://api.openai.com/v1"}/images/generations(generate.js),响应优先按data[0].b64_json解析、兼容data[0].url(shared.js),图片与 prompt 都自动落盘。默认目录与命名规则在 shared.js 中定义:
- 提示词:
garden-gpt-image-2/prompt/<task-slug>-<timestamp>.md - 图片:
garden-gpt-image-2/image/<task-slug>-<timestamp>.png
其中<task-slug>由 prompt 前 8 个词经 slugify 自动生成,<timestamp>形如20260424-153045。
Mode B / C:提示词工程模式
如果未启用 Garden 生图能力,则不要调用generate.js(没有 API key 必然失败)。Mode B 下把渲染好的 Title-Safe prompt 直接传给宿主自带的image_generation类工具;Mode C 下把 prompt 保存到garden-gpt-image-2/prompt/<task-slug>-<timestamp>.md并展示给用户,交由用户自行执行。无论哪种模式,模板中的 JSON 都是提示词结构模板而非 API 请求体——最终交给图像模型的始终是渲染后的 prompt 字符串,可以拍平成 JSON,也可以转成结构化自然语言段落。
八、小结
Title-Safe 大字海报模板证明了"字即图像"的一类生成路径:用headline(3-7 字主标语)+subheadline(一行副标)+small_text(少量小字)+design(克制的色彩与装饰)+constraints(可读性与数量上限)的极简结构,配合日式高能量 / 瑞士极简 / 复古印刷三个风格变体,即可稳定产出以文字为绝对主体、信息一眼能读的海报。模板内部的{argument ...}占位符规范、参数三分类(必问 / 默认 / 随机)与自动补全规则,让它可以被 Agent 在缺少用户输入时自主完成填充;而仓库自带的 1.json 与 2.json 案例则提供了从模板到成品的完整参照。
- 人工智能
- AI 技能/插件
- 提示工程
【免费下载链接】garden-skills
ConardLi's open-source Skills collection, featuring web design, knowledge retrieval, image generation, and more.
相关推荐
Readest 分页模式卡死问题复盘:Duokan 脚注图片 clamp 引发的逐图强制重排性能回归(6155)
Readest 分页模式卡死问题复盘:Duokan 脚注图片 clamp 引发的逐图强制重排性能回归( 6155) 导读 本文基于 Readest 仓库内 ap
人工智能AI 技能/插件提示工程awesome-gpt-image-2-API-and-Prompts 海报与插画提示词案例库:从城市宣传海报到史诗概念视觉的 GPT-Image-2 实战指南
awesome gpt image 2 API and Prompts 海报与插画提示词案例库:从城市宣传海报到史诗概念视觉的 GPT Image 2 实战指南
提示工程人工智能媒体生成教程CopilotKit 应用内人工确认(HITL In-App)演示与 QA 验证指南 —— 基于 LlamaIndex 集成
CopilotKit 应用内人工确认(HITL In App)演示与 QA 验证指南 —— 基于 LlamaIndex 集成 本篇技术指南面向在 Copilot
人工智能AI 技能/插件提示工程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考