24 KiB
JSON 提示词模板总规范
本文件是 gpt-image-2 skill 的模板方法论总文档。后续所有具体模板文件都应尽量遵守这里的规则。
它不提供某个具体视觉场景的完整模板,而是定义:
- 模板应该如何组织
- 字段应该如何设计
- 参数如何区分为“必问 / 默认 / 随机”
- 缺失信息应该如何提问
- 如何从案例提炼出可复用的结构化 JSON 模板
一、何时使用 JSON 模板
当任务满足以下任一条件时,优先使用 JSON 模板,而不是直接写一整段自然语言提示词:
- 画面元素很多
- 画面包含多个功能区域
- 需要 UI / 商品卡 / 评论区 / 图例 / 标注 / 页眉页脚等结构
- 需要支持多个变体
- 需要支持“用户指定 / 默认值 / 随机生成”三种模式
- 后续很可能复用、扩写或调试
典型适用场景:
- 电商直播 UI 样机
- 产品爆炸视图海报
- 手绘城市地图
- 讲解型 Slides
- 高信息密度说明图
不必强行使用 JSON 模板的场景:
- 很简单的单主体图
- 没有复杂布局和多区域结构
- 用户只想快速试一个很轻量的视觉方向
二、references 的目录规则
references/ 必须采用:
- 一级:分类目录
- 二级:单模板 Markdown 文件
例如:
references/
ui-mockups/
live-commerce-ui.md
social-interface-mockup.md
product-visuals/
exploded-view-poster.md
不要继续采用:
- 一个大类一个大文件
- 一个来源一个文件
- 一个案例一个没有分类的平铺文件
目录树的好处:
- 精准读取
- 易于扩展
- 模板互不污染
- 每个模板文件可以写得很完整
三、单模板文件的标准结构
每个具体模板文件建议遵循以下结构:
# 模板名称
## 适用范围
## 何时使用
## 缺失信息优先提问顺序
## 主模板
📖 描述
📝 提示词
```json
{ ... }
参数策略
自动补全策略
变体方式
变体 1
变体 2
避免事项
说明:
- `主模板` 必须先有
- 变体模板建立在主模板之上
- 参数策略、自动补全策略、避免事项不能省略
---
# 四、JSON 模板的推荐骨架
大多数模板建议优先从以下骨架开始:
```json
{
"type": "模板类型",
"goal": "图像用途",
"subject": {},
"scene": {},
"layout": {},
"style": {},
"details": {},
"constraints": {}
}
字段职责
type
模板类型名称,例如:
- 直播 UI 样机
- 产品爆炸视图海报
- 手绘地图信息图
goal
说明这张图最终要干什么,例如:
- 电商直播截图样机
- 品牌主视觉海报
- 旅游攻略地图
- 高信息密度讲解图
subject
主体内容,例如:
- 人物
- 商品
- 城市
- 角色
- 插画主角
scene
场景、背景、环境、氛围。
layout
画面区域组织方式,适用于:
- 海报
- UI
- 地图
- slides
- 多区域结构图
style
风格、渲染、材质、色彩倾向、光线。
details
用于装载局部细节,例如:
- 商品卖点
- callout labels
- 评论内容
- 图例元素
- 页脚文案
constraints
用于明确:
- 必须出现什么
- 必须避免什么
- 最终结果更像什么、不像什么
五、场景特有字段建议
不同分类下可扩展不同结构。
5.1 UI Mockups
建议额外使用:
{
"ui_overlay": {
"top_header": {},
"chat_area": {},
"gift_area": {},
"product_card": {},
"bottom_bar": {}
}
}
5.2 Product Visuals
建议额外使用:
{
"header": {},
"centerpiece": {},
"callout_labels": {},
"footer": {},
"component_layers": []
}
5.3 Maps & Infographics
建议额外使用:
{
"title_section": {},
"sections": [],
"legend": {},
"centerpiece": {},
"extras": {}
}
5.4 Slides & Visual Docs
建议额外使用:
{
"page_type": "",
"information_density": "",
"headline_system": {},
"visual_blocks": [],
"annotation_style": {}
}
5.5 Storyboards & Sequences(电影分镜 / TVC / 流程板 / 漫画)
适用于「同一条叙事 / 同一个流程 / 同一组动作」按 N×M 网格输出多个 panel 的视觉。子类彼此之间字段差异大,按子类分别给字段建议:
5.5.1 电影 / 短片 cinematic 分镜(如 cinematic-storyboard-grid.md)
{
"subject": { "primary": "", "secondary": "", "mood": "", "style": "", "aspect_ratio_per_panel": "" },
"vehicle_or_actor": { "design": "", "scale": "" },
"layout": {
"grid": { "rows": 0, "columns": 0, "count": 0 },
"sheet_aspect_ratio": "",
"panel_borders": "",
"sections": [{ "position": "row x col y", "description": "" }],
"continuity": "(必填) 显式声明 N 个 panel 是连续叙事 / 同一 hero / 同一 mood"
},
"lighting": { "primary": "", "secondary": "", "accents": "" },
"environment": { "location": "", "weather": "", "threat": "" }
}
字段经验:
sections必须是数组,严格按 row-major 顺序列出每镜(不要让模型自由排列)continuity是该子类的关键字段,必填- 每镜描述要包含「景别 + 主体动作 + 光线 / 情绪」三要素
- 远 / 中 / 近 / POV 镜头要混搭,不要全特写或全远景
5.5.2 商业广告 TVC 分镜(如 product-tvc-storyboard.md)
{
"header": { "title": "", "subtitle_meta": "", "product_name_subtitle": "" },
"layout": { "grid": { "rows": 0, "columns": 0, "panel_count": 0, "panel_aspect_ratio": "" } },
"scenes": {
"count": 0,
"items": [{ "id": 1, "title_zh": "", "timestamp": "0-2s", "description": "" }]
}
}
字段经验:
- 与电影分镜相比,必须有
header.product_name_subtitle+ 每镜timestamp(广告强约束) - 每镜
title_zh是面向客户的中文小标题(如「环境建立」「特写出镜」「人货同框」) description必须显式包含产品,且产品在所有镜中外观一致
5.5.3 真人 / 角色 cinematic 流程板(如 process-photo-board.md)
{
"subject": {
"character": { "gender": "", "age": "", "identity": "", "hair": "", "undersuit": "", "armor_or_outfit": "", "helmet_or_headpiece": "" },
"environment": { "location": "", "background_elements": "" }
},
"layout": {
"header": { "count": 2, "labels": ["title", "subtitle"], "design": "" },
"sections": [{ "step_id": 1, "title": "", "position": "", "labels": [], "image": "" }],
"footer": { "count": 1, "labels": ["slogan"], "design": "" },
"grid": { "rows": 0, "columns": 0, "panel_count": 0, "panel_borders": "", "number_badges": "" }
},
"text_rendering": { "language": "", "font": "", "colors": "" }
}
字段经验:
- 角色一致性靠把所有 fixed attributes(gender / hair / undersuit)独立成
subject.character字段 - 状态递进靠每 step 的
image字段显式描述「此时已穿什么 / 正在做什么」 - 必须有
number_badges字段(步骤号在视觉上一眼可识别) - 标题语言(中 / 日 / 英)通过
text_rendering.language显式声明
5.6 Catalog / Lineup / Character-Variant Poster(多卡片信息图海报)
适用于「同一基底(角色 / 产品 / 概念)多个变体在一张海报里并列展示」的视觉。子类:
5.6.1 同角色多版本海报(如 character-catalog-poster.md)
{
"subject_overview": "(必填) 全图主题,如 '十二星座女子图鉴'",
"language": "",
"format": "vertical poster",
"style": { "overall": "", "rendering": "", "mood": "" },
"layout": {
"sections_count": 0,
"sections": [{
"title": "",
"position": "",
"theme_color": "(必填) 该 panel 的主题色,必须 panel 间各不相同",
"symbol": "",
"constellation": "",
"labels": [],
"character": { "pose": "", "outfit": "", "background": "" }
}]
}
}
字段经验:
- 每 section 必须有自己的
theme_color+symbol+motif,否则会被模型画成同一张 character子字段保留同一基底(脸型 / 体型 / 发色),仅变化 outfit / pose / backgroundsubject_overview是模型理解 "为什么这些 panel 要放在一起" 的关键提示
5.6.2 系列产品 lineup 对比海报(如 lineup-comparison-poster.md)
{
"subject": "(必填) 描述一句包含 'lineup chart / catalog board / comparison poster'",
"branding": { "headline": "", "signature": "", "seals": [] },
"palette": { "background": "", "highlights": [] },
"layout": {
"header": { "elements": [{ "type": "legend", "title": "", "labels": [] }] },
"sections": [{ "title": "row N tier name", "labels": [] }]
},
"content_grid": "显式说明每行多少 SKU、每 SKU 是什么样的卡片",
"visual_details": "材质 / 反光 / 印花 / 配件等让 SKU 之间彼此不同的细节"
}
字段经验:
- 必须有
legend类元素(等级 key / 图标 key / 风格 key),否则海报"对比"意味就消失 content_grid字段必须显式给「每行 N 个 SKU + 行内排序逻辑(按价 / 按色 / 按年代)」- SKU 数量通常 12 - 36,过少不像 lineup,过多每个会被画糊
5.7 Day-trip Itinerary Map(左行程卡 + 右画面地图 split 海报)
适用于"一日游 split 海报"(如 itinerary-day-trip-map.md):
{
"destination": { "name": "", "duration": "1 day", "theme": "" },
"headline": { "main": "", "tagline": "", "divider": "" },
"style": { "overall": "", "left_panel_look": "", "right_panel_look": "", "color_palette": "", "atmosphere": "" },
"layout": {
"format": "vertical 2:3 poster, split into two equal vertical columns",
"left_panel": { "type": "itinerary card", "header": [], "stop_count": 5, "stop_design": [], "border": "" },
"right_panel": { "type": "painted map scene", "background": "", "path": "", "marker_design": "", "compass_rose": "", "stats_box": "" },
"alignment_rule": "(必填) 左右编号 / 名称 / 顺序必须严格对齐"
},
"stops": {
"count": 5,
"items": [{ "number": 1, "name": "", "time": "", "description": "", "left_vignette": "", "right_scene": "" }]
},
"footer_box": { "compass_rose": "", "stats_box": { "design": "", "stats": [] } }
}
字段经验:
alignment_rule必填,否则左右两栏极易错位- 每 stop 同时给
left_vignette(卡片小插画)+right_scene(地图大场景)双视觉 stops.count建议 5-7,过少不像行程,过多卡片塞不下language默认与目的地官方语言一致(台湾 → 繁中,京都 → 日文)
5.8 Multi-Grid Ad Banner Set(多行业混合广告 banner 网格)
适用于"一图同时展示 N 个独立行业 / 主题 banner"(如 ad-banner-multi-grid.md):
{
"language": "",
"layout": {
"structure": "2x2 / 3x3 grid of equal quadrants",
"gutter": "",
"overall_aspect_ratio": "",
"panel_aspect_ratio": "",
"quadrants": [{
"position": "top-left",
"theme": "(必填) 该格的行业 / 主题,如 'Travel' / 'Skincare'",
"subject": "",
"elements": [],
"text_labels": [],
"style": "(必填) 该格的视觉风格,与其它格不同"
}]
},
"global_style": "把所有格统一的元素(如统一字体 / 统一边框)",
"constraints": { "must_keep": ["每格内容彼此独立、无叙事关联"] }
}
字段经验:
quadrants数组必填,每格必须独立指定theme+styleglobal_style用于"统一感"(如统一字体),但不要让所有格共享主体- 与
cinematic-storyboard-grid区别:本模板强调 panel 间无叙事关联,每格都是独立成品 - 与
banner-grid-2x2(已有)区别:本模板多行业 / 多主题,已有那个是同品牌多创意
5.9 Full Brand / Mascot Doc(18+ 模块大型品牌识别全流程文档)
适用于"一图概览整个品牌 / 吉祥物从 DNA 到落地的全流程"(如 full-mascot-brand-doc.md):
{
"brand": { "name": "", "industry": "", "primary_colors": [], "voice": "" },
"character": { "description": "", "rendering_style": "" },
"layout": {
"grid": "3 columns by 6 rows",
"panel_count": 18,
"sections": [
{ "id": "01", "title": "01 BRAND DNA ANALYSIS", "elements": [] },
{ "id": "02", "title": "02 CONCEPT MOODBOARD", "elements": [] }
]
}
}
字段经验:
sections数组显式列出 18 个模块,每模块有自己的id+title+elements- 模块
id双数字编号(01-18),方便视觉上形成「目录感」 - 每模块
elements必须显式列出「这一格画什么」(草图 / 3D / 配色板 / 应用场景) - 与
mascot-brand-kit(已有)区别:本模板是全流程文档(18-24 格),已有那个是简化套装(6-9 格)
六、参数设计规则
每个模板字段都尽量判断属于以下哪一类。
6.1 核心参数(优先提问)
缺失会显著影响结果,优先问用户。
常见例子:
- 主体是谁
- 商品名称是什么
- 城市名是什么
- 主题是什么
- 是真人照片还是文字描述
- 平台风格是什么
6.2 可默认参数
缺失后可以先用默认值,不影响模板正常工作。
常见例子:
- 背景色
- 次级按钮文案
- 普通装饰元素
- 一般性灯光词
- 常规色彩倾向
6.3 可随机参数
允许自动补全,但必须在风格范围内合理生成。
常见例子:
- 路人昵称
- 次级聊天消息
- 礼物提示
- 小装饰元素
- 次级背景内容
七、参数写法规范
变量统一使用如下格式:
{argument name="host name" default="Elon Musk"}
建议规则:
name:简洁明确default:给出一个可直接工作的默认值- 如果一个字段后续经常需要随机化,也应先给出合理默认值
不要使用:
- 含糊不清的参数名
- 没有默认值但又不是必问字段
八、缺失信息提问策略
8.1 总原则
提问必须:
- 精准
- 少量
- 只围绕模板关键字段
- 不要泛泛而问
8.2 通用优先级
建议按下面顺序判断是否需要提问:
- 主体来源是什么
- 图像用途是什么
- 核心对象/商品/主题是什么
- 是否允许自动补全缺失信息
- 是否有必须保留或必须避免的元素
8.3 直播 UI 类示例
不要问:
- “你想做成什么感觉?”
优先问:
- 主播是谁?
- 用真人照片、名人名字、人物描述,还是随机生成?
- 商品名称是什么?
- 商品价格是否指定?
- 是否允许我自动补全评论和礼物内容?
8.4 电影 / TVC 分镜类示例
不要问:
- "你想要什么故事?"
优先问:
- 一句话故事:谁 + 在哪 + 发生什么 + 结局是什么?
- 题材是什么?(sci-fi / 灾难 / 战斗 / 浪漫 / 悬疑 / 黑色电影)
- 镜头数量?(9 / 12 / 16)+ 网格(3×3 / 3×4 / 4×4)
- 情绪曲线:起 → 升 → 高潮 → 落 / 一直紧张 / 平静爆发?
- 风格:photoreal / 油画 / 动漫 cinematic / 黑白 / 复古胶片?
- (TVC 专用)产品是什么?品牌名 / 卖点 / 时长 / 比例?
8.5 流程板 / 装备穿戴 / 教程板示例
不要问:
- "你想做几张图?"
优先问:
- 流程主题是什么?(装备 / 化妆 / 操作 / 训练 / 维修)
- 主角是谁?(性别 / 年龄 / 关键识别特征 / 是否需要面部隐私保护)
- 步骤数量?(4 / 6 / 8 / 9)+ 网格
- 每一步「标题 + 简述 + 此时装备状态 / 操作动作」
- 风格:cinematic 实拍 / 时尚大片 / tokusatsu 特摄 / 工坊纪实?
- 文字语言(标题 / 说明字段使用语言)?
8.6 角色多版本目录海报示例(catalog character poster)
不要问:
- "你想画什么角色?"
优先问:
- 全图主题是什么?(十二星座 / 五行 / 朝代 / 人格类型 / 节气)
- 一共几个版本?(3 / 5 / 6 / 12)
- 每个版本的「名称 + 主题色 + 装束 / 道具 / 背景」
- 同一角色基底(脸型 / 体型 / 发色)保持哪些不变?
- 风格:anime / 国风 gongbi / Q 版 / 写实?
8.7 系列产品 lineup 对比海报示例
不要问:
- "你想做什么海报?"
优先问:
- 品牌 / 产品线 名称是什么?
- 一共几个 SKU?(建议 12-36)
- 按什么维度排序?(等级 tier / 系列 series / 年代 / 价格)
- 是否需要 legend(等级 key / 图标 key / 风格 key)?
- 背景调性:奢华深色 / 复古牛皮纸 / 工业极简?
8.8 一日游 split 海报示例
不要问:
- "你想去哪?"
优先问:
- 目的地(景区 / 城市 / 国家公园 名称)?
- 标题文案 + 文字语言(中 / 日 / 英)?
- 站点数量(5-7)+ 每站「名称 + 时间 + 一句描述 + 小插画 + 大场景」?
- 整体路线主题(自然 / 历史 / 美食 / 摄影 / 朝圣)?
- 风格:复古插画 / 国家公园海报 / 水彩日式 / Art Nouveau?
- 底部 stats(总距离 / 步数 / 预计时间)?
九、自动补全策略
当用户明确表示:
- “你来补全”
- “你随机生成”
- “先给我一个 demo”
则允许:
- 只问最关键的 1-2 个问题
- 其余字段使用默认值
- 或在可随机字段中合理生成
自动补全时必须满足:
- 不破坏主体一致性
- 不与用户已指定信息冲突
- 不制造过于离谱的次要元素
十、主模板与变体模板的关系
每个模板文件至少要有:
- 一套主模板
- 若干变体模板(可选但推荐)
主模板
应满足:
- 最通用
- 最容易复用
- 可覆盖大多数使用场景
变体模板
常见变体:
- 用户给参考照片版
- 用户给名人名字版
- 用户给文本描述版
- 自动补全版
- 平台风格版
- 商业化加强版
变体不应完全脱离主模板,而应在主模板结构上调整少量字段。
十一、从参考案例提炼模板的步骤
参考案例来源目前主要是:
skills/gpt-image-2/100+GPT-Image2提示词.md
后续提炼模板时,严格按以下步骤:
Step 1:先判断分类
把案例归入正确的一级目录(与 SKILL.md 模板索引一致):
- ui-mockups
- product-visuals
- maps(不再叫 maps-and-infographics)
- slides-and-visual-docs
- poster-and-campaigns
- portraits-and-characters
- scenes-and-illustrations
- editing-workflows
- avatars-and-profile
- storyboards-and-sequences
- grids-and-collages
- branding-and-packaging
- typography-and-text-layout
- assets-and-props
- academic-figures
- infographics
- technical-diagrams
Step 2:判断是新原型还是旧原型变体
例如:
- VR 头显爆炸图 -> 新原型
- 手机爆炸图 -> 旧原型变体
Step 3:拆字段
把案例拆成:
- 主体
- 场景
- 布局
- 风格
- 文案
- 约束
Step 4:标记参数类型
为每个字段标记:
- 必问
- 可默认
- 可随机
Step 5:先写主模板
不要一开始就写 4 个版本。先把最通用的一套主模板写出来。
Step 6:再补变体
例如:
- 参考照片版
- 人名版
- 描述版
- 自动补全版
Step 7:补提问顺序
说明在真实对话里优先要问哪些字段。
Step 8:补避免事项
总结这个模板最容易失败的地方。
十二、模板文件命名规则
模板文件名应满足:
- 小写字母
- 数字或连字符
- 尽量精确表达主题
- 不要用来源命名
- 不要用序号命名
正确示例:
live-commerce-ui.mdexploded-view-poster.mdfood-map.md
错误示例:
template-01.mdyoumind-case-1.mdtwitter-prompt-4.md
十三、单文件实施清单(后续每次新增模板都要遵守)
以后每新增一个模板文件,都按这份清单执行:
- 确定一级分类目录
- 确定文件名是否足够精确
- 判断它是新原型还是已有原型变体
- 写
适用范围 - 写
何时使用 - 写
缺失信息优先提问顺序 - 写主模板 JSON
- 写参数策略
- 写自动补全策略
- 写变体方式
- 写避免事项
- 若属于新增模板主题,则同步更新
SKILL.md索引
十四、Phase 1:references 目录树重构
目标
把 references/ 从平铺结构升级为目录树。
任务拆解
1. 建立一级分类目录
创建空目录:
references/ui-mockups/references/product-visuals/references/maps-and-infographics/references/slides-and-visual-docs/references/poster-and-campaigns/references/portraits-and-characters/references/scenes-and-illustrations/references/editing-workflows/references/branding-and-packaging/references/typography-and-text-layout/references/storyboards-and-sequences/references/assets-and-props/
2. 迁移现有直播模板
把现有直播模板迁移到:
references/ui-mockups/live-commerce-ui.md
3. 更新 SKILL.md
把原来的平铺索引改成:
- 一级分类
- 二级具体模板文件
4. 清理旧路径引用
删除旧的平铺 references 文件路径引用。
阶段完成标准
- references 目录树创建完成
- 现有直播模板已迁移到
ui-mockups/ SKILL.md索引已同步
十五、Phase 2:模板方法论升级
目标
把 prompt-writing.md 升级成后续所有模板的总规范。
任务拆解
1. 补全目录规则
明确 references 必须是目录树。
2. 补全单模板文件规范
明确一个模板文件内部必须有哪些章节。
3. 补全 JSON 字段设计标准
包括:
- 通用字段
- 分类特有字段
- 字段职责
4. 补全参数分类规则
包括:
- 核心参数
- 可默认参数
- 可随机参数
5. 补全提问与自动补全策略
包括:
- 问题优先级
- 自动补全何时允许
- 如何避免无谓提问
6. 补全案例提炼流程
从参考案例到 JSON 模板的完整步骤。
阶段完成标准
prompt-writing.md可以单独作为“模板设计总规范”使用
十六、后续阶段预告(只列主任务)
Phase 3:建设 ui-mockups/
优先文件:
live-commerce-ui.mdsocial-interface-mockup.mdproduct-card-overlay.md
Phase 4:建设 product-visuals/
优先文件:
exploded-view-poster.mdwhite-background-product.mdpremium-studio-product.md
Phase 5:建设 maps-and-infographics/
优先文件:
food-map.mdtravel-route-map.mdillustrated-city-map.md
Phase 6:建设 slides-and-visual-docs/
优先文件:
dense-explainer-slides.mdpolicy-style-slide.mdvisual-report-page.md
Phase 7:扩展常用视觉分类
- poster-and-campaigns
- portraits-and-characters
- scenes-and-illustrations
- editing-workflows
Phase 8:扩展高级分类
- branding-and-packaging
- typography-and-text-layout
- storyboards-and-sequences
- assets-and-props
十七、近期执行顺序建议
按当前情况,建议后续严格按下面顺序推进:
- 完成 Phase 1:重构 references 为目录树
- 完成 Phase 2:升级
prompt-writing.md - 完成 Phase 3:建设
ui-mockups/ - 完成 Phase 4:建设
product-visuals/ - 完成 Phase 5:建设
maps-and-infographics/ - 完成 Phase 6:建设
slides-and-visual-docs/ - 再进入其他分类扩展
十八、结论
后续这个 skill 不能按“不断加案例”的方式增长,而要按:
- 先定目录树
- 再定模板规范
- 再做单模板文件
- 再补参数与提问策略
- 最后再持续扩展案例
这样你后面才能真正依据一份稳定的路线图持续指导我完善这个 skill,而不会每次都重新决定结构。