W
AI-Wiki
CONCEPT

结构化图像提示词

定义

结构化图像提示词,是指不再只靠一整段自然语言去“笼统描述”画面,而是把图像生成需求拆成显式字段,用结构化数据表达画面的组成方式。在本文语境中,它特指 Ideogram 4 支持的 JSON 提示形式。

它与普通文本提示词的核心区别,不是“写得更规范”或“更像程序”,而是把原本隐含在自然语言里的图像结构直接显式化,例如:

  • 整体主题是什么;
  • 风格信息如何单独定义;
  • 背景与前景元素如何拆开描述;
  • 每个元素放在什么位置;
  • 每个元素允许使用哪些颜色;
  • 哪些元素是对象,哪些元素是文字;
  • 文字元素具体要渲染什么文本,以及它自己的局部样式。

因此,结构化图像提示词本质上是一种文生图中的结构化布局控制方式:它让模型不只理解“画什么”,还理解“每一部分在哪里、用什么颜色、以什么样式出现”。

在本文档中的具体语境

在本文对应的来源里,Ideogram 4 被描述为一款完全基于 JSON 结构提示词训练的文生图模型。来源同时指出:普通文本提示词也能生成图像,但如果改用 JSON 结构提示词,就可以获得“全方位精准控制”。

这种能力尤其面向以下类型任务:

  • 海报生成;
  • 版式设计;
  • 含清晰文字内容的图像;
  • 需要明确元素位置和颜色约束的合成画面。

换言之,这里的“结构化图像提示词”不是泛指一切带字段的提示工程技巧,而是特指 Ideogram 4 这类模型原生理解的 JSON 图像描述格式。

与普通文本提示词的区别

普通文本提示词通常把所有要求混在一段话里,例如同时描述主体、构图、背景、配色、字样和氛围。模型需要从自然语言里自行推断层级关系、布局意图和局部约束,因此在以下场景里容易失真:

  • 多元素海报中各对象相对位置容易跑偏;
  • 指定颜色可能只部分生效,甚至串到错误元素上;
  • 文字内容容易拼错、漏字或风格不稳定;
  • 某个局部的样式需求会被整体风格覆盖。

结构化图像提示词则把这些约束拆出来,直接告诉模型:

  • 全局高层描述是什么;
  • 风格描述是什么;
  • 背景是什么;
  • 画面中有哪些元素;
  • 每个元素属于 object 还是 text;
  • 每个元素的边界框 bbox 在哪里;
  • 每个元素自己的说明 desc 是什么;
  • 每个元素自己的 color_palette 是什么。

所以它的实际价值在于精确控制元素位置、颜色约束、文本内容和局部样式,而不只是“表达更整齐”。

核心字段层级

来源给出的 JSON 模板包含一套比较清晰的层级结构,核心字段包括:

  • high_level_description
  • style_description
  • compositional_deconstruction
  • background
  • elements

把它展开来看,可以理解为以下结构:

{
"high_level_description": "",
"style_description": {
"aesthetics": "",
"lighting": "",
"photo": "",
"medium": "",
"color_palette": []
},
"compositional_deconstruction": {
"background": "",
"elements": [
{
"type": "obj",
"bbox": [],
"desc": "",
"color_palette": []
},
{
"type": "text",
"text": "",
"bbox": [],
"desc": "",
"color_palette": []
}
]
}
}

其中最重要的思想是:全局描述、风格描述、背景描述和元素描述被拆到了不同层级,不再全部揉成一句提示词。

各层字段的作用

high_level_description

high_level_description 用于描述整张图最上层的主题与意图,相当于告诉模型“这是一张什么图”“整体要表达什么”。它解决的是全局语义问题,而不是具体局部位置问题。

例如,一个海报是科技招聘海报、音乐节主视觉、产品宣传页,通常应先在这一层确定,而不是完全依赖后面的局部元素拼凑。

style_description

style_description 用于承载整张图的风格信息。来源中明确列出的可承载子项包括:

  • aesthetics:审美倾向、气质、风格印象;
  • lighting:光照方式、明暗氛围;
  • photo:摄影感、镜头感、照片属性;
  • medium:媒介类型,如插画、摄影、平面设计等;
  • color_palette:全局颜色方案。

也就是说,风格不是简单写一句“现代、好看、高清”就结束,而是可以被进一步拆成多个维度。这样做的意义在于,模型能区分:哪些是全局风格约束,哪些是元素本身的内容说明。

来源还给出了颜色约束方面的重要限制:每张图像最多支持 16 种十六进制颜色,而每个元素最多支持 5 种颜色。这说明 color_palette 不是无限制自由填充,而是有明确上限的受控调色板机制。

compositional_deconstruction

compositional_deconstruction 可以理解为对构图的拆解层。它不是描述风格,而是把画面结构分解成背景与若干元素。

这一层下面至少包括:

  • background:背景描述;
  • elements:元素数组。

这种设计把“场景底板”与“前景对象/文字”分离开来,有利于模型分别处理大面积环境和可定位元素。

background

background 用于描述背景区域的内容与状态,例如背景环境、纹理、氛围、底色或衬底图形。它属于构图拆解的一部分,而不是某个独立元素。

如果把背景写进各个对象描述里,模型可能把背景错误地与主体绑定;单列 background 则能减少这种语义混淆。

elements

elements 是结构化提示词最关键的部分之一,用于列出画面中的具体元素。来源明确展示了至少两类元素:

  • object 类型,模板中以 obj 表示;
  • text 类型。

这意味着结构化图像提示词不只是“摆物体”,也能把文本作为一等元素纳入布局控制。

elements 的元素类型与绑定字段

object 元素

对象元素用于描述画面中的可视对象,例如人物、产品、图标、装饰图形、容器、插图主体等。来源模板中,这类元素至少可以绑定以下字段:

  • type:对象类型,模板示例为 obj
  • desc:对象描述;
  • bbox:对象位置范围;
  • color_palette:该对象允许或期望使用的颜色。

这意味着对象不仅能被定义“是什么”,还能被限定“出现在哪里”和“用哪些颜色”。

text 元素