用 JSON 提示词做出\"悬浮爆炸\"产品广告图,像导演一样控制每一层
薯片从袋子里炸出来、珍珠冰块悬浮——这种风格在食品行业几乎是标配,因为它同时传达诱人和真实。
- 悬浮爆炸风格能同时传达两件事:产品很诱人,配料很真实。
- 以前要么请摄影师搭高速摄影棚,要么设计师一层层 P。
- 为什么用 JSON 而不是写一段话——控制粒度完全不同。
- 十层结构拆解,每层在控制什么说清楚。
- motion_effect 是悬浮感的开关;四种变体加 JSON 与自然语言的选择建议。
你一定见过这类食品广告:薯片从袋子里炸出来,奶茶的珍珠和冰块在空中悬浮,巧克力碎片和坚果围绕着产品旋转。这种"悬浮爆炸"风格在食品行业几乎是标配,因为它能同时传达两件事:产品很诱人,配料很真实。
以前做这种图,要么请摄影师搭高速摄影棚,要么找设计师一层一层 P。现在,一条结构化的 JSON 提示词丢给 AI,几秒钟就能出图。
今天拆解的案例来自 ShaHid WaNii,他用 Google Gemini 生成了一组 BOO! 零食广告图:三包不同口味的零食包悬浮在暗色背景中,黑色冰淇淋筒、红蓝浆果、焦糖糖果在周围散落飞舞,包装上的俄文文字和怪兽图案细节清晰可辨。更厉害的是,他用同一套 JSON 结构换了个产品,生成了 Fit Seed 能量棒的广告图,紫色背景配种子散落,风格统一但产品完全不同。


这套方法的核心就一个词:分层控制。
为什么用 JSON 而不是写一段话
先回答一个最基本的问题。
写一段自然语言提示词,比如"三包零食悬浮在黑色背景中,周围有冰淇淋和浆果飞散,灯光是戏剧性的,画质要高",AI 也能出图。但你会发现一个问题:AI 对"戏剧性灯光"的理解可能和你不一样,"飞散"的幅度和方向你控制不了,产品的角度和大小全靠 AI 自由发挥。
JSON 的本质是把一张图拆成独立的层,每一层你都能精确指定参数。就像拍电影,导演不会对摄影师说"你随便拍,好看就行",而是会说"机位在这里,灯光从左上方 45 度打下来,演员站在画面右三分之一处"。
JSON 提示词就是你的导演分镜表。
十层结构拆解:每一层在控制什么
这套 JSON 结构一共有十层,我用通俗的比喻帮你理解每层的作用。
第一层,总控参数(image_type + resolution + aspect_ratio): 决定你要拍什么类型的片子。商业产品摄影、4K 分辨率、16:9 横版。这就像开拍前先定好"我们拍的是 TVC 广告,不是 vlog"。
第二层,场景层(scene): 搭建舞台。环境是什么?暗色摄影棚。背景是什么?深灰到黑色的渐变。这一层决定了整张图的"氛围底色"。
第三层,构图层(composition): 摄影师的站位和镜头选择。用什么风格拍(商业广告风)、景深多少(浅景深突出主体)、镜头焦段多少(85mm 人像镜头的压缩感)。这一层决定了画面的"视觉语法"。
第四层,主产品(primary_objects): 舞台上的主角。三包 BOO! 零食,分别是正面 15 度、侧面 30 度、背面 10 度的角度。注意,连每个包装的旋转角度都能指定,这是自然语言做不到的精度。
第五层,配料和装饰物(secondary_objects): 群演登场。黑色华夫冰淇淋筒、新鲜蓝莓和覆盆子、焦糖糖果、碎坚果。每个配料的大小、数量、散落范围都可以单独设定。
第六层,灯光层(lighting): 打光师上场。主光源从左上方 45 度打下来,补光从右侧填充阴影,底部有微弱的反射光让产品底部不会黑成一团。色温、强度、角度全部可控。
第七层,材质层(materials): 告诉 AI 每种物体的表面质感。包装袋是哑光塑料带轻微反光,冰淇淋筒是粗糙的华夫纹理,浆果表面有水珠。这一层直接决定画面的"高级感"。
第八层,色彩层(color_palette): 整张图的配色方案。主色调深灰黑,强调色用产品包装的橙红和蓝紫,辅助色用焦糖的暖棕。统一的色彩管理让画面看起来像经过后期调色,而不是 AI 随机配色。
第九层,动态效果层(motion_effect): 这是"悬浮感"的关键,下面单独讲。
第十层,渲染质量层(render_quality): 最终输出的技术参数。抗锯齿、光线追踪、纹理精度。相当于后期渲染时选"最高画质导出"。
motion_effect:悬浮感的灵魂在这一层
为什么那些"飞散的配料"看起来既有动感又不混乱?秘密在 motion_effect 层里的一个关键词:frozen motion(冻结运动)。
这个概念来自高速摄影。你用 1/8000 秒的快门速度拍一杯被打翻的咖啡,液体在空中凝固成完美的弧线,每一颗飞溅的水珠都清晰可见。frozen motion 就是告诉 AI:"所有物体都在运动中,但画面是凝固的那一瞬间。"
在 JSON 里,你可以进一步控制:
- 运动方向: 配料从中心向外扩散(explosion 模式),还是从上方自然下落(gravity 模式)
- 运动幅度: 飞散的距离是产品尺寸的 1.5 倍还是 3 倍
- 运动阶段: 是刚开始炸开的瞬间,还是已经散到最远点的状态
这三个参数的组合,直接决定了画面是"刚炸开的那一刻的冲击力"还是"优雅悬浮的静谧感"。BOO! 零食那组图选的是中等幅度的爆炸模式,所以配料散得开但不杂乱,悬浮感和冲击力兼顾。
换产品实战:同一套框架的四种变体
这套 JSON 结构最大的价值在于复用。产品换了,框架不用重写,只改几层就行。
奶茶广告:
- primary_objects 换成奶茶杯(透明杯体,能看到分层)
- secondary_objects 换成珍珠、芋圆、冰块、茶叶碎
- color_palette 主色调换成奶白和茶棕
- motion_effect 用 gravity 模式,配料从上方自然洒落,比 explosion 更适合饮品的"清爽感"

化妆品广告:
- primary_objects 换成口红或粉底液瓶
- secondary_objects 换成花瓣、水滴、丝绸飘带
- lighting 加强高光,化妆品广告需要更多的"光泽感"
- materials 重点调整:金属壳体的镜面反射、液体的流动质感

手机发布会风格:
- primary_objects 换成手机(正面亮屏)
- secondary_objects 换成 App 图标、光粒子、几何碎片
- scene 背景换成深蓝到黑的渐变(科技感标配)
- motion_effect 用轻微的 orbital 模式,让碎片围绕手机缓慢旋转而不是炸开

咖啡豆广告:
- primary_objects 换成咖啡包装袋(开口朝上)
- secondary_objects 换成咖啡豆、研磨粉末、热气
- materials 特别注意咖啡豆的油亮质感和粉末的细腻颗粒
- color_palette 走深棕、焦糖色系

你会发现,每次换产品基本只改 3 到 5 层,其他层(总控、构图、渲染质量)几乎不用动。这就是结构化提示词的效率优势。
JSON 还是自然语言?看场景选工具
JSON 提示词并不是所有情况都需要用。一个简单的判断标准:
自然语言够用的场景: 单个主体、简单背景、不需要精确控制细节。比如"一只猫坐在窗台上,阳光照进来",用自然语言完全没问题,写 JSON 反而浪费时间。
JSON 更合适的场景: 多个物体需要精确摆放、灯光和材质有特定要求、需要复用结构批量出图。商业产品广告几乎都属于这个范畴,因为你需要控制的变量太多了:产品角度、配料种类和数量、灯光方向、色彩统一性、动态效果。
还有一个实际考虑:如果你要给同一个品牌做一组系列广告图(比如同一个零食品牌的五种口味),JSON 结构可以当模板用,每次只改产品名称和配色,出图风格高度统一。用自然语言写五次,每次的措辞差异都可能导致 AI 理解偏差,风格一致性很难保证。
上手建议
- 不需要一次写完整的十层 JSON。先从五层开始:场景、主产品、配料、灯光、动态效果,这五层决定了 80% 的画面效果
- motion_effect 层多试几次 frozen motion 的参数组合,这一层对最终效果的影响最大
- 先用自然语言跑一张"差不多"的图,确认大方向对了,再用 JSON 精调细节
- 保存你觉得效果好的 JSON 结构作为模板库,下次换产品直接套用
小互说: 以前觉得 JSON 是程序员的事,跟做图没关系。看了这个案例才发现,结构化提示词本质上就是"把你脑海里的画面拆成清单告诉 AI",逻辑清楚比文笔好更重要。做产品广告图的朋友真的可以试试,省下的设计费够吃一个月零食了。
本文参考:ShaHid WaNii 的推文 | 原文链接
