Skip to content

图像提示词艺术

提示词(Prompt)是驱动图像生成模型的语言接口——一段精心组织的自然语言描述,决定了生成结果的主体、风格、构图、光影与细节。本页梳理从基础语法到结构化模板的完整提示词工程方法论,并覆盖 2024–2025 年从「标签堆叠」向「自然语言会话」演进的范式转变。前置阅读:扩散模型、主流图像生成模型对比。

想象你给一位画师口述需求——

  • 新手提示词= “画一个猫”。画师自由发挥,你拿到什么全凭运气。
  • 中级提示词= “一只橘猫坐在窗台上,阳光照进来,油画风格”。好多了——主体、场景、光线、风格都交代了。
  • 高手提示词(标签流派,SD 1.5 时代)= “a fluffy orange tabby cat sitting on a wooden windowsill, golden hour sunlight streaming through, dust particles in the air, oil painting style, thick brush strokes, warm palette, masterpiece, best quality, highly detailed”。每一个词都在精确操控画师的笔触——毛发的质感、光线的方向、调色盘的色温、画面的精细度。
  • 高手提示词(自然语言流派,2025 主流)= “A fluffy orange tabby cat sits on a wooden windowsill. Warm golden-hour sunlight streams through the window, catching floating dust particles. Render it as an oil painting with visible thick brush strokes and a warm, amber palette.”。句子完整、逻辑清晰,现代模型(FLUX、GPT-4o 原生图像、Midjourney v7)对此的理解力远超标签。

提示词的本质:你在用自然语言「编程」图像模型。 模型通过文本编码器(CLIP / T5)将你的文字映射到视觉特征空间——每个词都像一个坐标,叠加起来定位了最终图像在「视觉可能性宇宙」中的位置。

关键理解:模型不是「理解」你的语言,而是「统计关联」你的词和视觉特征。 它不知道”赛博朋克”是什么意思,但它知道”赛博朋克”这个词在训练数据中总是和霓虹灯、雨夜、高楼的画面一起出现。所以提示词工程的本质是找到那些与目标视觉特征关联最强的词。

2025 年的趋势提醒:随着 GPT-4o 原生图像生成(2025 年 3 月发布)等自回归图像模型的出现,以及 FLUX、Midjourney v7 等新一代扩散模型对自然语言理解的大幅提升,传统的「关键词堆叠 + 权重语法」正在让位于「会话式描述 + 多轮迭代」。但理解 CLIP/T5 编码原理依然是写好提示词的基础——新旧范式并存。

图像生成模型使用文本编码器将提示词转化为向量,再通过交叉注意力(Cross-Attention)机制注入去噪网络。不同模型的编码器架构差异巨大,直接决定了提示词的写法风格:

CLIP(Contrastive Language-Image Pre-training):OpenAI 在 2021 年提出,由两个 Transformer 编码器组成——一个编码文本、一个编码图像。训练时,CLIP 在 4 亿对「图像-文本」数据上做对比学习(Contrastive Learning):拉近匹配图文对在嵌入空间(Embedding Space,即将语义信息编码为高维向量的数学空间)中的距离,推开不匹配的对。最终,文本”cat”和猫的图像在这个共享空间中距离很近。SD 1.5 使用 CLIP ViT-L/14,最大处理 75 个 token(超出会被截断),这是为什么 SD 1.5 提示词必须精炼。

T5(Text-to-Text Transfer Transformer):Google 的通用语言模型,编码能力远强于 CLIP。FLUX.1 和 SD 3/3.5 使用 T5-XXL(约 47 亿参数),可处理 256–512 个 token 的长文本,能理解复杂句法、空间关系和指令。GPT-4o 原生图像生成更进一步——它没有独立的文本编码器,文本和图像共享同一个 Transformer 的词表(词表即模型能识别的所有基本符号单元),因此对自然语言的遵循能力接近 ChatGPT 本身。

术语速查:

  • Token(词元):文本编码器的最小处理单元。英文中约等于一个词或子词(如 “painting” → 一个 token,“unhappiness” → “un” + “happ” + “iness” 三个 token)。中文通常一个字对应 1-2 个 token。
  • Transformer:2017 年提出的神经网络架构,核心是自注意力机制(Self-Attention)——每个位置可以「看到」并加权聚合序列中所有其他位置的信息,从而捕捉长距离依赖。
  • Cross-Attention(交叉注意力):在 U-Net/DiT 去噪过程中,图像特征作为 Query,文本向量作为 Key 和 Value——相当于图像的每个空间位置去「查询」文本中与它相关的部分,据此决定”这里该画什么”。

编码器到去噪网络的数据流:

提示词文本
│
▼
Tokenizer(分词:将文本切分为 token 序列)
│
▼
文本编码器(CLIP 或 T5)→ 文本嵌入向量 [N_tokens × D_dim]
│
▼
Cross-Attention 层(注入去噪网络 U-Net / DiT 的每一层)
│
▼
去噪网络据此在每个空间位置进行条件去噪
│
▼
生成的潜变量 → VAE 解码 → 最终图像

DiT(Diffusion Transformer) 是 2023 年起逐渐取代 U-Net 的新一代去噪骨干。SD 3/3.5 和 FLUX 都使用 DiT 或其变体 MMDiT(Multimodal Diffusion Transformer,将文本 token 和图像 token 拼接在同一序列中联合处理,注意力交互更充分)。相比 U-Net 的卷积归纳偏置,DiT 用纯 Transformer 架构处理图像的潜表示(Latent Representation,即图像在压缩后的低维隐空间表示),扩展性更好。

不同编码器对词序和权重的敏感度不同:

CLIP 编码器(SD 1.5 / SDXL):

  • 靠前的词权重更高。CLIP 的 Transformer 编码器中,靠前位置的 token 在注意力中天然获得更多关注。因此把最重要的主体放在最前面。
  • 重复词增加权重。“beautiful beautiful beautiful garden” 比 “beautiful garden” 更强调”美丽”这个属性——本质是增加了该 token 在注意力分布中的能量。但过度重复会导致画面失真或出现伪影。
  • 靠后容易被忽略。CLIP 有 token 数量上限(SD 1.5 为 75 token,SDXL 为 230 token)。超出的内容可能被截断或严重弱化。实践中常将长提示词分多个 75-token 段(chunk) 喂入编码器,各段向量拼接后再注入。

T5 编码器(FLUX / SD 3 / DALL-E 3):

  • 词序影响较小。T5 使用双向自注意力 + 相对位置编码,对词序的依赖远弱于 CLIP。你把主体放句首或句尾,效果差异不大。
  • 理解句法关系。T5 能理解”一只猫追一只狗”和”一只狗追一只猫”的区别——主语和宾语的角色由句法决定,而非靠词序硬编码。
  • 长文本友好。256–512 token 上限让用户可以写细致的场景描述,无需精打细算每一个 token。

权重语法(SD 1.5/SDXL WebUI 生态特有):

  • (word:1.3) 将该词的 Cross-Attention 权重提高到 1.3 倍。
  • [word] 或 (word:0.8) 降低权重。
  • 这是对 CLIP 注意力权重的直接后处理修改,在 T5 编码器的模型上不适用(FLUX/SD3 不支持此语法)。
  • 正向提示词(Positive Prompt):你想要的——“beautiful landscape, masterpiece, sharp focus”。
  • 负向提示词(Negative Prompt):你不想要的——“blurry, low quality, deformed hands, extra fingers, watermark”。

CFG(Classifier-Free Guidance,无分类器引导) 是实现负向提示词的核心机制。在每一步去噪时,模型同时执行两次预测:

  1. 有条件预测 ε_θ(x_t, c):输入含提示词的条件 c,预测噪声。
  2. 无条件预测 ε_θ(x_t, ∅):提示词置空(或替换为负向条件),预测噪声。

最终去噪方向 = 无条件预测 + CFG 强度 × (有条件预测 − 无条件预测)。

CFG 强度(通常 7–12)放大了「条件方向」与「无条件方向」的差距——就像沿着梯度的方向多走几步,让结果更贴近提示词。负向提示词就是把上面的”无条件预测”替换为”负向条件预测”,于是模型不仅被拉向正向方向,还被主动推离负向特征。

2025 趋势:新一代模型(FLUX、GPT-4o 原生图像)对负向提示词的依赖大幅降低。这些模型在训练时使用了更高质量的数据和更好的对齐技术,默认输出质量已经很高,用户主要用正向描述即可。FLUX 甚至在原生实现中不提供单独的负向提示词接口。SD 3.5 仍支持但效果不如 SD 1.5 显著。

两种主要写法流派,对应不同模型架构:

  • Danbooru 标签流派(SD 1.5 传统):1girl, solo, long_hair, school_uniform, looking_at_viewer, smile。用逗号分隔的标签,来自 Danbooru 图站标注体系。简洁高效,权重均匀,契合 CLIP 短 token 上限的特点。
  • 自然语言流派(FLUX / DALL-E 3 / GPT-4o 原生图像 / SD 3 / Midjourney v6+):A young girl with long hair wearing a school uniform, smiling as she looks directly at the camera.。这些模型使用 T5 编码器(或本身就是语言模型),对自然语言理解力更强,能处理复杂语法关系和空间指令(“左边的杯子换成红色”)。

判断标准:看你的模型用什么编码器。CLIP → 标签流;T5 / 原生 LLM → 自然语言流。混用时效果会打折。

2025 新范式:多模态提示与会话式迭代

Section titled “2025 新范式:多模态提示与会话式迭代”

2024–2025 年最重要的变化是提示词不再只是纯文本:

  • 图像引用(Reference Image):IP-Adapter、Midjourney 的 --sref(风格参考)和 --cref(角色参考)、FLUX 的 Redux 允许用户用一张参考图代替大段文字描述风格或角色。模型通过图像编码器提取参考图的视觉特征,直接注入生成流程。
  • 会话式多轮迭代:GPT-4o 原生图像、Midjourney v7 支持多轮对话式修改——“把背景换成日落”、“给她加一副眼镜”。模型理解上下文,在上一轮结果上精确修改,而非每次重新生成。
  • 指令式提示(Instruction-based Prompting):从”描述画面”转向”下达指令”。FLUX.1 Kontext(2025)专门为图像编辑优化,用户输入”把猫换成狗”而不是重新描述整张图。

文本到图像的完整数据流(2025 主流架构)

Section titled “文本到图像的完整数据流(2025 主流架构)”
# 提示词模板:分层构建,可复用、可组合
def build_prompt(subject, scene, style, quality, details):
"""分层构建提示词,核心主体放最前。
适用于 CLIP 系模型(SD 1.5 / SDXL)。
对于 T5 系模型(FLUX / SD3),可改写为自然语言句式。"""
layers = [subject, scene, style, quality, details]
return ", ".join([l for l in layers if l])
# 负向提示词通用模板(CLIP 系模型几乎必需,T5 系可省略)
negative = ("low quality, blurry, deformed hands, extra fingers, "
"missing fingers, watermark, text, signature, jpeg artifacts")
# CLIP 系(标签流):分层堆叠
prompts_clip = [
build_prompt("a fluffy orange cat", "sitting on windowsill",
"oil painting style, thick brush strokes",
"masterpiece, best quality", "golden hour, warm palette"),
build_prompt("a futuristic city skyline", "at dusk with flying cars",
"cyberpunk style, digital art",
"masterpiece, ultra detailed", "neon lights, rain, reflections"),
]
# T5 系(自然语言流):完整句子描述
prompts_t5 = [
"A fluffy orange tabby cat sits on a wooden windowsill. Warm golden-hour "
"sunlight streams through the window, catching floating dust particles. "
"Oil painting with thick, visible brush strokes and a warm amber palette.",
"A futuristic city skyline at dusk, flying cars streak between skyscrapers. "
"Cyberpunk digital art with vivid neon lights, wet streets reflecting the glow.",
]
for i, p in enumerate(prompts_clip):
print(f"CLIP Prompt {i+1}: {p}")
for i, p in enumerate(prompts_t5):
print(f"T5 Prompt {i+1}: {p}")
# CLIP 版主体在前、标签堆叠;T5 版完整句子、逻辑清晰——同结构但适配不同编码器

使用 diffusers + compel 精确控制权重

Section titled “使用 diffusers + compel 精确控制权重”
# compel 库:在 diffusers 生态中解析 (word:1.5) 权重语法
# 仅适用于 CLIP 系编码器的模型(SD 1.5 / SDXL)
from diffusers import StableDiffusionPipeline
import torch
from compel import Compel
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16
).to("cuda")
# compel 解析权重语法:++ 提升权重,-- 降低权重
prompt = "a (fluffy:1.3) orange cat sitting on a windowsill, (golden hour:1.2), masterpiece"
negative_prompt = "blurry, low quality, deformed"
compel = Compel(tokenizer=pipe.tokenizer, text_encoder=pipe.text_encoder)
# 编码为带权重的嵌入向量——比直接传字符串更精确
conditioning = compel.build_conditioning_tensor(prompt)
negative_conditioning = compel.build_conditioning_tensor(negative_prompt)
image = pipe(
prompt_embeds=conditioning,
negative_prompt_embeds=negative_conditioning,
num_inference_steps=30,
guidance_scale=7.5, # CFG 强度:越高越贴近提示词,但过高会导致过饱和
).images[0]
image.save("cat.png")
  • 主体永远在最前面(CLIP 系):CLIP 对开头 token 的注意力最强。如果你要画”一个女孩和一条龙”,先写哪个取决于谁是视觉焦点。T5 系对此不敏感。
  • 负向提示词的使用因模型而异:SD 1.5 中不加负向提示词容易得到低质量图,通用负向词:low quality, worst quality, blurry, deformed, extra limbs, watermark, text。FLUX / GPT-4o 原生图像可省略,模型自带质量保证。
  • 权重大于语法(CLIP 系):与其写长句,不如用关键词堆叠。(masterpiece:1.3) 可把权重提高到 1.3 倍(圆括号加强、方括号减弱)。注意此语法在 T5 系模型上无效。
  • Flux / DALL-E 3 / GPT-4o 原生图像用自然语言:这些模型用 T5 编码器或本身就是语言模型,理解复杂句子结构。与其写标签,不如写一段完整的画面描述。
  • 避免矛盾指令:realistic photo, anime style 同时出现会让模型困惑——除非你刻意做风格融合。明确一个主基调。
  • 从简单到复杂迭代:先用短 prompt 验证主体是否正确,再逐步加风格和质量修饰词微调。不要一开始就写 200 词的超长 prompt。
  • 善用社区资源:CivitAI 和 PromptHero 上有大量社区验证的有效 prompt 模板——详见主流图像生成模型对比。
  • 善用参考图替代文字描述(2025 新):如果你想要某种特定画风但文字描述不清,用 Midjourney --sref 或 FLUX Redux 直接喂一张参考图,比写 100 词的画风描述更准确。
  • 善用多轮对话精修(2025 新):GPT-4o 原生图像、Midjourney v7 支持对话式修改。第一次生成后,用自然语言指明要改的局部(“把猫的姿势改成趴着”),比一次性写完美 prompt 更高效。
  • GPT-4o 原生图像生成(2025):OpenAI 于 2025 年 3 月推出,用自回归方式逐 token 生成图像(而非传统扩散去噪)。最大优势是极致的指令遵循和文字渲染——你描述”一张海报上写着 AI SUMMIT 2025”,它能准确画出文字;多轮对话式编辑(“把标题颜色改成蓝色”)体验流畅。提示词写法接近与 ChatGPT 对话,无需标签或权重语法。
  • Midjourney v7(2025):自然语言描述能力进一步提升,新增 Draft Mode(草稿模式,快速预览)和深度个性化(根据用户历史生成偏好自动调整)。/imagine a cinematic portrait of a samurai in the rain --ar 16:9 --style raw --p 参数控制画幅、风格倾向和个性化强度。
  • Stable Diffusion 3.5(2024):Stability AI 推出 Large(8B)/Medium(2.5B)/Turbo 三个变体,使用 MMDiT 架构 + T5-XXL + CLIP 双编码器。提示词风格介于标签和自然语言之间,支持但不依赖负向提示词。
  • FLUX.1 系列(Black Forest Labs,2024–2025):包括 FLUX.1 [dev]/[pro]/[schnell] 以及 2025 年的 FLUX.1 Kontext(图像编辑专用)和 FLUX.1.1 Pro。使用 T5-XXL 编码器,自然语言提示词效果最佳,原生不支持负向提示词和权重语法。Kontext 版本支持指令式编辑(“把背景换成雪山”)。
  • Stable Diffusion WebUI(A1111/Forge):标签流派主阵地,正向/负向双输入框,支持权重语法 (word:1.5)。Forge 分支已适配 SD 3.5 和 FLUX。
  • ComfyUI 工作流:提示词作为节点输入,支持条件分支——根据上游节点的结果动态生成不同 prompt——详见ComfyUI 与节点式生成。对 FLUX/SD3 同样有完整节点支持。
  • PromptBook / CivitAI:社区分享提示词配方库,每个配方附带生成结果,可以直接复制学习。
类库/工具语言说明
CLIPPythonOpenAI 的文本-图像对比学习编码器,提示词工程的理论基础
OpenCLIPPython开源 CLIP 实现,SDXL/SD3 文本编码器使用
T5 / T5-XXLPythonGoogle 的通用语言模型,FLUX/SD3 的高性能文本编码器
SigLIPPythonGoogle 的改进版 CLIP(Sigmoid 损失替代 Softmax),2025 年新模型广泛采用
compelPython提示词权重解析库,支持 (word:1.5) 语法,diffusers 生态(仅 CLIP 系)
PromptHeroWeb社区 prompt 搜索引擎,可按模型/风格浏览
CivitAIWeb模型和 prompt 社区,大量带参数的示例
Midjourney Prompt HelperWebMJ 提示词辅助工具,可视化选择风格/镜头/光线
术语英文解释
提示词Prompt驱动图像生成的自然语言描述或标签序列
正向提示词Positive Prompt描述你想要的画面内容的提示词
负向提示词Negative Prompt描述你不想要的特征,通过 CFG 机制压制
TokenToken文本编码器的最小处理单元,一个词或子词
权重Weight控制某个词对生成结果影响力大小的数值
CFGClassifier-Free Guidance无分类器引导,放大条件方向、压制无条件方向
Danbooru 标签Danbooru Tags来自 Danbooru 图站的标注体系,逗号分隔的关键词
Cross-AttentionCross-Attention去噪网络中将文本向量注入视觉特征的机制
Token 上限Token Limit文本编码器一次能处理的最大 token 数(SD 1.5 为 75,FLUX 为 256+)
EmbeddingEmbedding文本经编码器映射后的高维向量表示
对比学习Contrastive LearningCLIP 的训练范式:拉近匹配图文对、推开不匹配对
DiTDiffusion Transformer用 Transformer 替代 U-Net 的新一代去噪骨干(SD3/FLUX 使用)
MMDiTMultimodal Diffusion Transformer文本与图像 token 联合处理的 DiT 变体(SD 3 核心架构)
潜空间Latent Space图像经 VAE 压缩后的低维表示空间,扩散在此进行
自回归Autoregressive逐 token 顺序生成的方式(GPT-4o 原生图像使用)
  • Radford et al.,「Learning Transferable Visual Models from Natural Language」(ICML 2021):CLIP 论文,建立了文本与图像在同一嵌入空间对齐的范式,是提示词工程的理论根基。
  • Ho & Salimans,「Classifier-Free Guidance」(NeurIPS 2022 workshop):CFG 论文,解释了正向/负向提示词的数学原理——无分类器引导如何放大条件信号。
  • Esser et al.,「Scaling Rectified Flow Transformers for High-Resolution Image Syntheses」(ICML 2024):SD 3 技术报告,描述了 MMDiT 架构和 T5+CLIP 双编码器如何协同处理提示词,以及整流流(Rectified Flow)替代传统 DDPM 去噪的新范式。
  • Peebles & Xie,「Scalable Diffusion Models with Transformers」(ICCV 2023):DiT 论文,奠定了 SD 3 / FLUX 等新一代模型的 Transformer 去噪骨干架构。
  • CivitAI Prompt Guide:社区维护的提示词指南,包含大量分模型、分风格的实战模板。
  • PromptHero Tutorials:社区教程站点,按主题(人物/风景/概念艺术)分类的 prompt 示例库。
  • Rombach et al.,「High-Resolution Image Synthesis with Latent Diffusion Models」(CVPR 2022):Latent Diffusion 论文(SD 基础),描述了 CLIP 文本编码器如何通过 Cross-Attention 注入 U-Net。