手把手教你拆解\"风格骨架\",小白也能一键复刻大厂视觉

做一张图 prompt 是好工具,做四张属于同一个世界的图就不是了。风格骨架分两层:一层冻结,一层填空。

作者:小互 AI 商业图像教学06-12 · 8 分钟⚑ 方法教程
商业视觉实战 · 实操库
一分钟速览
  • 「再写一段更精细的 prompt」治不了系列感的问题。
  • prompt 和 JSON 根本是两种工具,用错了怎么写都不对。
  • 风格骨架有两层:冻结层保证一致,填空层负责变化。
  • 可填空骨架模板直接拿走。
  • 同一份骨架先在原品类内换主题,再跨到新品类,最后换皮推到边界。

「再写一段更精细的 prompt」治不了系列图

做单张图,prompt 是好工具。你越能写出画面感,它就越能给你一张有惊喜的图。

但你想做的不是一张图,是四张属于同一个世界的图。

这时候 prompt 的优点变成了缺点。自然语言天生是模糊的:你写"巨型毛绒吉祥物",第一次模型给你做了一只软乎乎圆滚滚的,第二次它觉得"毛绒"是说毛茸茸的皮毛、做了只动物,第三次它把"巨型"理解成了占满整个画面、把背景挤没了。

每一次它都"理解"了你的话,每一次理解又不一样。我以前以为是自己写得不细,把 prompt 加长到 500 字,把每个细节都写死,结果第二张图依然不像第一张。

后来发现问题在工具。"描述一张图"和"做一套系列"是两件事,前者没法被技巧硬扛到后者上。

prompt 和 JSON,根本是两种工具

prompt 是描述一张图的工具。它的强项是把模糊的感觉转成具体的画面,让模型有发挥空间。

JSON 不是用来描述画面的,它是用来管理变量的。把"风格"拆成一组明确的字段,下次换主题,你只动其中几个,剩下的字段原封不动地再丢一遍。模型这一端仍然按文本理解、不存在硬约束,但你这一端的变量是清晰、可锁定、可单点替换的。

什么时候用哪个,看你想做什么:

  • 一次性的、只用一次的单张图:用 prompt 就够
  • 同风格的两三张图、或者这张图后面还会被复用:开始考虑 JSON
  • 系列海报、品牌主视觉、IP 多季节延展、小红书系列封面:必须 JSON

那个反驳"我把 prompt 再写细一点不就好了",到这里你应该看见问题在哪:再细的 prompt 也是自然语言,自然语言每次解读不一样,你想要的恰恰是"每次解读都一样"。

JSON 的价值在于结构。模糊的感觉一旦被拆进字段里,每个字段的取值就是可比对、可锁定、可单点替换的。换主题对你来说是改几个字段,其他字段原样再丢回去。主体材质、构图层级、信息条位置这三项基本不漂;色调和地标细节仍可能有 20–30% 的偏差,要靠 seed 锁定和参考图补。整体的"系列感",会从靠手感、靠运气,变成可重复的流程。

风格骨架的两层:一层冻结,一层填空

一份能让你批量出系列图的 JSON,必须分成两层。我把它们叫做冻结层和填空层。

冻结层装的是"这套作品成立的条件"。这些东西每张图都一样,每次出图原样保留:

  • style_summary:一句话定义这套风格是什么
  • composition:画面分几层,主体在哪,标题在哪,信息条在哪
  • depth_layering:天空到中景到前景的深度关系
  • typography_rule:字体类别、主标题位置、副标题怎么挂
  • negative_prompt:什么必须不出现(真人主体、极简平面、低饱和等)

填空层装的是"每次换主题要变的内容"。它是一组变量,每个变量都有明确的含义和取值范围:

  • EVENT_NAME / TOP_MICRO_TEXT:活动叫什么、属于哪一类
  • SEASON:季节定调
  • CITY_OR_DISTRICT:场景区域类型(商业街 / 海港 / 校园 / 居民区 / 商务区)
  • PRIMARY_MASCOT / SECONDARY_MASCOT:主副吉祥物的材质、形象、表情
  • MASCOT_ACTION:主副怎么互动
  • LANDMARKS / SKY_AND_WEATHER / GROUND_PLANE:背景三件套
  • COLOR_PALETTE / DATE_RANGE / LOCATION_TEXT / CTA_TEXT:色调和活动信息

判断一个字段该放哪一层,问自己一句话:这个字段如果每次都变,作品还认得出是同一种吗?

认不出了,它必须在冻结层。比如把"3D 毛绒材质"放进填空层,每次随便换材质,做出来的就不是同一套作品。

认得出、只是主题变了,它就在填空层。比如把吉祥物从虾饺换成书本,作品仍然是"城市节日海报"那一类,只是主题不一样。

举个最容易踩坑的:3D 毛绒材质这一项应该放哪一层?答案是冻结层。每次换成针织或纸艺,作品就不是同一家了。但同一个冻结的"毛绒"前提下,吉祥物可以从虾饺换书本换萤火虫,这才是填空层该干的事。

冻结层定义了你的世界长什么样,填空层让你在这个世界里换主题。

直接拿走的可填空骨架模板

我把整套骨架整理成了下面这份 JSON。冻结层我用普通字符串写死,填空层我用 [变量名] 标出。你直接复制走,把方括号里的内容换成你的主题就行。

{
  "style_name": "Plush City Festival Poster",
  "style_summary": "A real-style city street scene with giant fuzzy plush mascots in the foreground, bold rounded white display typography in the sky area, and a friendly festival UI info bar — combining tourism-poster energy with plush IP cuteness.",

  "environment_variables": {
    "EVENT_NAME": "[活动主标题,英文大写 display 字]",
    "TOP_MICRO_TEXT": "[顶部小字,系列标识或副主题]",
    "SEASON": "[spring / summer / autumn / winter / golden hour]",
    "CITY_OR_DISTRICT": "[商业街 / 海港 / 校园 / 居民区 / 商务区]",
    "PRIMARY_MASCOT": "[巨型毛绒主角,写清材质+形象+表情]",
    "SECONDARY_MASCOT": "[小毛绒副角]",
    "MASCOT_ACTION": "[跑 / 飘 / 滑过 / 走近镜头]",
    "LANDMARKS": "[3-4 个关键地标]",
    "SKY_AND_WEATHER": "[天空和氛围]",
    "GROUND_PLANE": "[地面类型]",
    "COLOR_PALETTE": "[主色调]",
    "DATE_RANGE": "[日期 range]",
    "LOCATION_TEXT": "[地点 label]",
    "CTA_TEXT": "[行动短句]"
  },

  "composition": {
    "layout_type": "wide horizontal event KV poster",
    "depth_layering": "sky behind headline / landmarks in middle / mascots in foreground / UI info on top",
    "headline_position": "big centered headline in the upper sky area",
    "headline_style": "rounded sans-serif display, white with subtle outline, decorated with small star sparkles",
    "mascot_position": "primary mascot lower right, secondary lower left, both walking toward the viewer",
    "info_bar_position": "bottom of the frame, white panel or floating icons with date / location / CTA",
    "aspect_ratio": "16:9"
  },

  "negative_prompt": "no real human as main subject, no flat minimalist design, no low-saturation palette, no photorealistic ultra-sharp buildings, no missing event info bar"
}

冻结层不用动。每做一个新主题,你只改 environment_variables 这一段。

怎么把它喂给模型:整段 JSON(带大括号)连同一句框架指令一起贴进对话框,框架指令我常用的写法是"render an image strictly following the JSON spec below, treat every field as a hard constraint"。负面词那一段各家不同:Stable Diffusion / Flux 直接喂负面通道;Midjourney 改写成 --no xxx;闭源对话模型尽量改成正面表述(要饱和、要明亮,而不是不要灰、不要暗)。

骨架管的是变量。角色一致性和 seed 漂移要另外锁:把第一张做对的图作为 style reference / character reference 一起喂进去,再固定 seed,能把后续几张的漂移再压一半。

同一份骨架,先在原品类内换主题,再跨到新载体

这 5 个案例,先在原品类内部把主题、情绪都换一遍,再把骨架搬到完全不同的载体上去试。这一组的核心是:骨架本身不动,只换填空层的变量。

1. 早茶饮茶节海报

改了什么:主角换巨型毛绒虾饺(顶部褶皱清晰、肚子半透明),副角换带气孔的小毛绒蒸笼,地标换港式骑楼+老茶楼+电车轨道,色调偏暖竹绿。

为什么这样改:第一张就是来踩骨架地基的,主题离原题"城市节日"不远,主要验证主体换品类之后还能不能在同一张海报里成立。

改完什么样:

2. 江南旧书市海报

改了什么:主角换巨型毛绒精装书本(书页张开像翅膀,封面烫金),副角换带流苏的小毛绒书签,地标换江南古镇白墙黛瓦+乌篷船+石桥。

为什么这样改:商业市集是骨架的舒适区。换到文化活动,主要看它在另一种气质下还稳不稳。

改完什么样:

3. 山间萤火虫夜祭海报

改了什么:天空换深紫蓝+萤火点,主角换尾灯发暖黄光的巨型毛绒萤火虫,副角换小毛绒纸灯笼,地标换山间村落木屋+山脊。

为什么这样改:前两个都在白天。把整套情绪从白翻到夜,是骨架真正的压力测试,看它在天空都换掉之后还能不能立住。

改完什么样:

4. 毛绒 IP 年历海报

改了什么:作品载体从单张海报改成 3×4 月份网格的单张年历海报,每格一张迷你海报、沿用同一骨架。信息条改成"月份+季节关键词"。提示词第一句改写为 yearly wall calendar poster。

为什么这样改:海报和年历海报相通在"系列感",差别在"载体"。这一步如果能成,骨架就不只是一张海报的模板。

改完什么样:

5. 品牌 APP 启动屏

改了什么:比例从 16:9 横版改成 9:16 竖版,信息条简化成一个圆角主按钮+应用名,主体居中放大。提示词第一句改写为 mobile app onboarding screen。

为什么这样改:从纸面海报到手机屏幕,比例、场景、信息密度全换。这一步如果能扛,骨架就脱离了海报这个载体,是真正的"风格骨架"。

改完什么样:

给骨架换皮,再把它推到边界

这 4 个案例换一种动法,开始动骨架以外的东西。前两个是给整套骨架换一层皮,看材质能换得多远;后两个是把骨架推到大多数人不会想到的语境和观看场景里去。

6. 针织绒线版本

改了什么:所有材质从"3D 毛绒"换成"针织绒线 / chunky knit",建筑表面也带线圈纹理,提示词加入 knitted wool texture covering all surfaces。

为什么这样改:前 5 个动的都是骨架内部。这一个让骨架不动,只换外层材质,看不动结构换皮能换得多彻底。

改完什么样:

7. 纸艺立体版本

改了什么:材质换成 paper craft / paper diorama / pop-up book,城市变迷你纸雕模型,吉祥物边缘有清晰折痕。

为什么这样改:和针织那张配合看,能确认换皮不是只能换一次。同一骨架可以承载完全不同的工艺质感,材质这一层基本是自由的。

改完什么样:

8. 当代美术馆展览主视觉

改了什么:主体从"节日吉祥物"换成"巨型毛绒艺术装置(带怪兽气质的现代雕塑感)",地标换美术馆建筑+雕塑公园,display 大字改成展览名,信息条改"开展日期+展厅+预约"。提示词第一句换成 contemporary museum exhibition key visual。

为什么这样改:节日海报和美术馆主视觉,一个商业一个严肃。如果骨架能在这两端同时立住,它定义的就不是品类,是一种视觉语言。这张测的时候我故意把吉祥物的笑脸去掉了一点,调成更接近草间弥生那种"诡气可爱"的表情,骨架完全没崩,气质却从节日跨到了当代艺术。

改完什么样:

9. 电梯门贴广告

改了什么:画面被中线一分为二(左右两扇电梯门),主体故意跨在分线上,信息条延伸到门缝处。观看方式从"看一张平面海报"变成"看一对电梯门"。

为什么这样改:压轴的位置留给一个最非常规的载体。这张是全部 9 个案例里最难出的,AI 不知道"画面中线要严丝合缝对齐",主体跨缝那一下经常错位 3-5 个像素,文字也容易在门缝处断字。我连试了 6 次才出一张可用的,最后还在 PS 里沿门缝补了一道。但出来之后你会发现,骨架能塞进的场景比一般人想得远。

改完什么样:

把你手上的风格做成骨架的 4 步

如果你想用同样的方法把自己喜欢的风格变成可批量复用的骨架,按这 4 步走:

  1. 找参考:挑 3-5 张你确定喜欢的、同风格的图。一张不行,三张才能让你看清"哪些是共性、哪些是这一张的偶然"。具体来源:去小红书搜你想做的风格关键词,保存前 5 张你看完想立刻试的图。
  2. 拆字段:对着这些图,写下每张图的视觉品类、主体、背景、构图、字体、颜色、装饰,一项一项写。具体做法:开一个表格,每张图占一行,写 7 列。三张图全部填完,你会一眼看出哪几列每次都长得差不多。
  3. 立骨架:每张图里反复出现的那些放进冻结层,每张图不一样的那些放进填空层。落到代码上:复制本文那份 JSON 模板,把字段值换成你这套风格的。
  4. 测变量边界:用同一份骨架做 3 张测试图,第一张原样、第二张只换主角、第三张只换季节。对比哪一张还像"一家人",哪一张已经不像了,后者那个变量就该锁回冻结层。

做完这 4 步,你手上就有了一份能稳定批量复用的风格骨架。

要管理预期:骨架解决的是主体材质、构图层级、信息条位置这一档的稳定性,色调和地标细节仍可能漂 20–30%,那 20% 用 seed 锁定和参考图补。前两张大概率还会翻,第三张开始你会发现自己在做"同一套作品"。

下次你想做系列图,别再从 prompt 框里开始。今晚就开一个 JSON 文件,把你喜欢的那套风格的冻结层 5 个字段先填出来,明天起手第一张图。从那张开始,你不会再做出"不像一家人"的系列。

本文参考:[Vigo Zhao] 的内容链接 | [https://x.com/VigoCreativeAI/status/2048288962972680389]

来源
小互 AI 商业图像教学小互 AI 商业图像教学
↑ 正文结束
✓ 本篇全文免费开放

会员可复制、下载全文 Markdown,还能让你的 AI 订阅和提问。

📮 新解读第一时间进邮箱

读完觉得有用?留个邮箱,每篇新解读发布就送达,随时退订。