garden-skills 实战:用 GPT Image 2 结构化模板生成品牌识别系统板(Brand Identity Board)

原创2026-10-02 00:50:201,370 阅读
文章标签:人工智能AI 技能/插件提示工程

garden-skills 实战:用 GPT Image 2 结构化模板生成品牌识别系统板(Brand Identity Board)

品牌识别系统板(Brand Identity Board / VI Summary)是"用一张图讲清楚一个品牌完整视觉资产"的核心工具:logo、配色、字体、应用场景四要素同屏呈现,既是品牌提案的第一页,也是设计师作品集中最见功底的单页。本文基于 garden-skills 仓库中 gpt-image-2 技能下的 品牌识别系统板模板,完整讲解该模板的设计理念、可直接复用的 JSON 提示词、三个变体模式,并结合 SKILL.md 中定义的 A/B/C 三种运行模式与 generate.js 脚本调用链,给出从"用户一句话"到"一张可交付品牌板"的完整实操路径。读完本文,你将能直接用结构化 JSON 参数生成 VI summary、品牌提案 board 与品牌指南封面,并掌握自动补全、极简与高密度三种常见变体的写法。

模板定位:一张图承载完整品牌识别系统

该模板解决的是"用户提到 VI / 品牌识别 / 品牌系统 / brand board / brand guideline cover,希望一张图展示品牌全套"这类需求。它产出的是一张多区块大图:

  • 品牌 logo + 字体 + 配色 + 应用场景四要素
  • 等效于 VI 摘要单页、品牌提案 board、品牌指南 cover、设计师 case study 单页

模板在视觉特征上强调"系统感 + 专业感":一张大图分多区块,logo 应用 + 配色板 + 字体规范 + 实物 mockup 并置,通常带 grid 辅助线与 label 标注,整体风格偏冷静、不过度装饰。

适用范围与使用边界

模板文件明确了三大适用场景:

  1. 品牌识别系统板(VI summary)
  2. 品牌提案 board
  3. 设计师作品集 single page

同时明确划定了不要使用的边界,避免与同仓库相近模板混淆:

这一"何时使用 / 不要使用"的双向界定,正是 prompt-writing.md 中要求的单模板标准结构,也是 Agent 在 SKILL.md 模板索引第 13 类 Branding & Packaging 下精准选模板的依据。

缺失信息优先提问顺序

模板给出了一套精确的提问顺序,Agent 在信息不足时按此依次澄清,而不是笼统地问"你想要什么风格":

  1. 品牌名 + 一句定位
  2. 行业 / 受众
  3. logo 主形态(文字 / 图形 / 组合)
  4. 主色 1-2 个
  5. 字体偏好(衬线 / 无衬线 / 手写)
  6. 是否需要包装 / 名片 / 海报 mockup

这与 SKILL.md 的"询问规则"一致:模板缺失关键变量时,应当根据模板字段精确提问。

主模板:四分区品牌识别系统板 JSON 详解

主模板把一张 3:4 竖版大图拆成四个功能区块,每个区块用 regions 下的一个子对象承载,这是整个模板的灵魂。完整 JSON 如下:

{
  "type": "品牌识别系统板",
  "goal": "生成一张可作为 VI summary / brand board 的品牌识别系统单页",
  "brand": {
    "name": "{argument name=\"brand name\" default=\"AURORA\"}",
    "tagline": "{argument name=\"tagline\" default=\"光,让生活柔软\"}",
    "industry": "{argument name=\"industry\" default=\"家居灯光\"}",
    "personality": "{argument name=\"personality\" default=\"温柔、现代、克制\"}"
  },
  "regions": {
    "logo": {
      "position": "{argument name=\"logo position\" default=\"左上大区\"}",
      "primary_logo": "{argument name=\"primary logo\" default=\"AURORA 字标 + 圆形光晕图形\"}",
      "secondary_logos": ["黑白单色版", "图形版(无文字)", "竖排版"],
      "background_test": "深底 / 浅底各展示一次"
    },
    "color_palette": {
      "position": "{argument name=\"color position\" default=\"右上\"}",
      "primary": [
        "{argument name=\"primary color 1\" default=\"#0F4C81 海军蓝\"}",
        "{argument name=\"primary color 2\" default=\"#FFD166 暖金\"}"
      ],
      "secondary": [
        "{argument name=\"secondary color 1\" default=\"#F4F1EA 米白\"}",
        "{argument name=\"secondary color 2\" default=\"#222 深灰\"}"
      ],
      "swatch_design": "色块 + HEX + 中文名"
    },
    "typography": {
      "position": "{argument name=\"type position\" default=\"左下\"}",
      "headline_font": "{argument name=\"headline font\" default=\"现代 serif(如 Playfair Display)\"}",
      "body_font": "{argument name=\"body font\" default=\"中文圆体 + 英文 sans\"}",
      "demo_block": "Aa Bb Cc 1234 + 一句中文 + 一句英文"
    },
    "applications": {
      "position": "{argument name=\"app position\" default=\"右下\"}",
      "mockups": [
        "{argument name=\"mockup 1\" default=\"名片正反面\"}",
        "{argument name=\"mockup 2\" default=\"产品包装盒\"}",
        "{argument name=\"mockup 3\" default=\"app icon + 闪屏\"}"
      ]
    }
  },
  "style": {
    "art_style": "{argument name=\"art style\" default=\"现代极简 brand board,米色背景 + 微纸纹\"}",
    "grid": "细灰色辅助线"
  },
  "aspect_ratio": "{argument name=\"aspect ratio\" default=\"3:4\"}",
  "constraints": {
    "must_keep": [
      "4 个区块边界清晰",
      "logo 区始终居首位",
      "配色板 ≤ 6 色 + HEX 可读",
      "应用 mockup 风格统一"
    ],
    "avoid": [
      "塞太多元素导致每区无呼吸感",
      "字体超过 2 种家族",
      "颜色超过 6 种",
      "缺少 HEX 编号"
    ]
  }
}

区块职责与参数解读

brand 区块:定义品牌身份的四要素——name(品牌名)、tagline(一句定位语)、industry(行业)、personality(性格关键词)。这四者是后续 logo、配色、字体决策的输入,属于"必问"的核心参数。

logo 区块:这是整张板的主视觉,要求"始终居首位"。primary_logo 描述主 logo 形态(文字 / 图形 / 组合),secondary_logos 列出衍生版本(黑白单色版、图形无文字版、竖排版),background_test 要求"深底 / 浅底各展示一次"——这是品牌板区别于普通海报的关键:它要验证 logo 在不同底上的可读性。

color_palette 区块:主色 2 个 + 辅助色 2 个,共 ≤ 6 色。swatch_design 明确要求"色块 + HEX + 中文名",HEX 编号是硬性约束,缺了 HEX 标注即失败。

typography 区块:headline_font 标题字体 + body_font 正文字体,且要求不超过 2 种字体家族。demo_block 演示块必须是"西文样本(Aa Bb Cc 1234)+ 一句中文 + 一句英文"的组合,验证中西文混排效果。

applications 区块:3 个应用 mockup(名片正反面 / 产品包装盒 / app icon + 闪屏),要求风格统一,这是"品牌落地产物"的直观证据。

constraints:成败开关

must_keep 定义必须出现的东西,avoid 定义必须避免的东西,二者缺一不可:

  • must_keep:4 个区块边界清晰、logo 区居首位、配色 ≤ 6 色且 HEX 可读、mockup 风格统一
  • avoid:每区无呼吸感(塞太多)、字体 > 2 家族、颜色 > 6 种、缺 HEX 编号

这一"必须 / 避免"双约束结构在 prompt-writing.md 的 JSON 骨架规范中有明确定义:constraints 用于明确必须出现什么、必须避免什么、最终结果更像什么。

参数策略与自动补全:三类参数的分工

模板把参数分为三档,对应不同的处理方式:

参数类型 内容 处理方式
必问 品牌名、行业、主色、定位 缺失时按提问顺序主动询问
可默认 layout、字体推荐、应用 mockup 直接用默认值,不打扰用户
可随机 mockup 实物细节 在风格范围内合理随机生成

自动补全策略进一步定义了"偷懒式输入"的展开规则:

  • 用户只给品牌名 + 行业 + 一种性格关键词 → 自动展开 logo + 配色 + 字体 + 3 个 mockup
  • 默认"现代极简"风格
  • 默认竖版 3:4

参数写法遵循 prompt-writing.md 的统一格式 {argument name="..." default="..."}:name 简洁明确,default 给出一个可直接工作的默认值,即使后续经常随机化的字段也应先给出合理默认。

三种变体:极简、高密度与自动补全

变体 1:极致极简 brand board(仅 logo + 颜色)

当用户只想要一张"干净到极致"的品牌板时,砍掉 typography 与 applications 区块,用瑞士平面 / Japanese minimal 作为风格约束:

{
  "type": "极简 brand board",
  "regions": {
    "logo": {"primary_logo": "字标 + 极简图形", "background_test": "白底 + 纯黑底"},
    "color_palette": {"primary": ["#000", "#FFF", "#FFD166"]},
    "typography": {"demo_block": "Aa Bb"},
    "applications": null
  },
  "constraints": {
    "must_feel": "瑞士平面 / Japanese minimal"
  }
}

注意这里的 "applications": null 用法——显式置空表示该区块不渲染。颜色压到 3 个(黑 / 白 / 一个强调色),整体只剩 logo 与配色两个焦点。

变体 2:高密度 brand board(含语气、icon 系统)

面向"完整可印刷 brand book cover"的需求,在主模板基础上追加 extras 区块,增加 icon 系统与品牌语气(tone of voice),并将应用 mockup 扩到 5 个:

{
  "type": "高密度 brand board",
  "regions": {
    "logo": {"primary_logo": "..."},
    "color_palette": {"primary": ["..."], "secondary": ["..."]},
    "typography": {"demo_block": "..."},
    "applications": {"mockups": ["名片", "包装", "海报", "app icon", "网站 hero"]}
  },
  "extras": {
    "icon_system": "12 个统一风格图标网格",
    "tone_of_voice": "3 句品牌语气示例"
  },
  "constraints": {
    "must_feel": "完整可印刷 brand book cover"
  }
}

高密度变体的风险在于塞太满,因此 constraints 里必须坚持"完整可印刷 brand book cover"这一感觉锚点,同时仍受主模板"≤6 色、≤2 字体家族"的硬约束。

变体 3:自动补全模式

当用户说"你来补全"或"先给我一个 demo"时,使用 auto-fill 模式。它不描述具体画面,只声明规则——用户给品牌名 + 行业 + 一句性格描述,Agent 自动决定 logo / 配色 / 字体 / 应用 mockup:

{
  "type": "Brand board 自动补全",
  "mode": "auto-fill",
  "rule": "用户给品牌名 + 行业 + 一句性格描述,自动决定 logo / 配色 / 字体 / 应用 mockup",
  "constraints": {
    "must_feel": "可作为客户提案首页"
  }
}

实战案例:从模板 JSON 到真实品牌板

仓库案例库 website/gpt-image2-website/public/case/branding-and-packaging/brand-identity-board/ 中保存了两个按本模板实际生成的案例 JSON,可作为最佳实践范本。

案例 A:新中式茶饮品牌"清篱"

1.json 把品牌板应用于"新中式冲饮与草本小罐茶":

  • brand:清篱 / "一味草木,半日清欢" / 性格"克制、温润、可信赖、略文人气质"
  • logo 区:以"清"字行书骨架 + 三片篱叶组成圆形章,横排字标 + 英文 CHING LI,衍生版含纯图形圆章、竖排组合、深绿底反白;左浅米底 + 右深松绿底各放一版主组合做背景测试
  • 配色:#2F4F4F 松烟绿、#C7B89E 米汤白 为主色,#8C9A8E 鼠尾草灰绿、#1A1A1A 墨点黑 为辅助,色块设计为"圆角色块 + HEX + 中文名 + 5% 白细边"
  • 字体:标题用类似思源宋的现代 serif + Cormorant 气质英文衬线,正文用类似 PingFang 的 clean sans;demo 块"Aa 清茶回甘 · Brew calm,0123456789"
  • 应用:名片正反面、牛皮纸小罐茶包装筒、公众号封面图缩略
  • 约束:HEX 数字清晰可读、≤6 主色、四区边界不糊、mockup 统一左上 45° 软光;避免书法字在 mockup 上乱缩放、同屏 >2 字体家族

这个案例完整演示了"文人气质"如何通过 logo 形态(行书 + 圆章)、配色(松烟绿 + 米汤白)和字体(思源宋 + Cormorant)三层协同表达。

案例 B:社区咖啡馆"砖缝光 Bricklight"

2.json 展示风格自由度:同样一个模板,换成"实在、好聊、不装"的独立精品咖啡,视觉语言变为温暖工业风:

  • logo:B 与 L 共用笔触形成砖缝,斜向光束负形穿缝而过;衍生版含仅光束 + 砖线图标、横排长字标、单黑反白烧橙底
  • 配色:#1E1E1E 燧石黑、#D36135 窑变橙 主色 + #EDE6DB 米窑白、#5C6670 钢蓝灰 辅助;色块改为长条色带 + HEX + 用途小字("主背景""强强调")
  • 应用:外带纸杯 + 热杯套、门头发光字夜间 mockup、微信小程序码立牌
  • 约束:HEX 与色块对应、四区呼吸感、杯上 logo 不跨杯缝可识别区;避免过强锈迹脏渍纹理、超过 6 个品牌色点

两个案例说明:模板的 regions 骨架是稳定的,变的是 brand 四要素与每个区块的具体内容——这正是"结构化模板 + 参数填充"设计哲学的价值。

从渲染到出图:结合脚本的完整调用链

按 SKILL.md 的定义,模板 JSON 是提示词结构模板,不是 API 请求体。三种运行模式下,最终交给图像模型的都是渲染后的 prompt 字符串。整个工作流分 8 步:

  1. 跑 check-mode.js 确定模式(A / B / C)
  2. 判断任务是生图还是改图
  3. 识别属于哪个分类目录(本例为 Branding & Packaging 下的 brand-identity-board)
  4. 只读取对应模板文件
  5. 严格遵循模板格式(JSON 主模板)
  6. 把用户输入映射到模板参数,关键信息不足时按提问顺序澄清
  7. 按模式分叉:Mode A 调脚本出图;Mode B 交给宿主图像工具;Mode C 落盘 prompt 并展示给用户
  8. 一句话告知用户:当前模式、prompt 落在哪、图落在哪

Mode A 下直接出图(Garden 本地生图)

当环境变量 ENABLE_GARDEN_IMAGEGEN 为真且存在 OPENAI_API_KEY 时,先渲染好 JSON 模板中的参数,保存为 prompt 文件,再调用 generate.js:

node skills/gpt-image-2/scripts/generate.js \
  --promptfile garden-gpt-image-2/prompt/brand-identity-board-20261001-030000.md \
  --size 1024x1024 \
  --quality high

从 shared.js 的源码可以看到这条链路的底层实现:

  • buildPayload()(generate.js)把 prompt、model、size、quality 等组装成 JSON body
  • postJson()(shared.js)向 ${OPENAI_BASE_URL || "https://api.openai.com/v1"}/images/generations 发起请求
  • extractGeneratedBytes()(shared.js)优先解析 data[0].b64_json,兼容 data[0].url
  • saveImage() / savePrompt() 自动创建目录并落盘

默认命名规则为 garden-gpt-image-2/prompt/<task-slug>-<timestamp>.md 与 garden-gpt-image-2/image/<task-slug>-<timestamp>.png,slugify() 会从 prompt 提取短名称。默认输出目录若不存在,脚本会自动创建。

Mode B / C 下如何使用

  • Mode B(宿主有图像工具):不调用脚本,把渲染好的 prompt 直接传给宿主的 image_generation 类工具,prompt 副本按需保存
  • Mode C(纯顾问):把最终 prompt 保存到 garden-gpt-image-2/prompt/,在对话中完整展示给用户,并附一句"丢进 ChatGPT / Midjourney / DALL·E 等工具执行"的建议,同时明确告知"已生成可复用 prompt,请用你的图像工具执行",不得假装出图成功

避免事项清单

模板文件在最后给出了 6 条高频失败点,这些既是生成时的约束,也是事后验收的自查清单:

  1. 不要让 logo 区被压缩到不显眼(logo 区必须居首位)
  2. 不要让配色 > 6 种(含辅助色)
  3. 不要让字体 > 2 个家族
  4. 不要让 mockup 过于花哨破坏专业感
  5. 不要漏掉 HEX 标注
  6. 不要让背景出现强烈纹理(保持"系统感 + 专业感"的冷静基调)

与 mascot-brand-kit.md、cosmetic-packaging.md 等相邻模板相比,品牌识别系统板最显著的特征是冷静、克制、以系统完整性为第一目标:它是"品牌资产的目录页",不是情绪表达页,任何过度的装饰、纹理、花色都会稀释"专业感"这个核心价值主张。掌握了四分区骨架、三档参数策略与避免事项清单,你就能把任意品牌的 VI 需求稳定地渲染成一张可交付、可提案、可进作品集的品牌识别系统板。

登录后查看全文
garden-skills