你说”暗光氛围美女”,AI 给了你一整套客厅全景照明——打到墙壁打到地板打到背景木纹,就是不往人脸上聚焦。
不是 AI 听不懂”暗”——是你没给它光源分配指令。
下面这条 Prompt,今天在 Seedream 5.0 上跑了一遍,3 张出图效果没有一张翻车。原因不光在于它”写了什么”,更在于它怎么安排每个视觉要素的受光优先级。
Prompt 原文:
室内餐桌旁,正视镜头,面部打光,表情俏皮。黑色露肩毛衣,一手托腮,一手持酒杯。桌面有液体容器与杯子,背景为个性时尚墙面,木质纹理装饰,低调奢华。环境光线偏暗,明暗对比突出人物,静谧氛围。年轻娇小,发丝自然蓬松垂坠,灰棕色自然长发披肩,几缕拂面。冷白皮美女,纯欲风,皮肤白皙细腻,64K高清画质,展现细腻水润肤质与精致五官、美甲长长的,嘴唇通明唇釉,大眼睛双眼皮睫毛长长的,眼睛周围亮晶晶的,露肩锁骨,偶像气质。
看出来了吗?这条 Prompt 真正核心的策略不是人物描述——是光权分配。它用句子的排列顺序和修饰密度,定义了一整套画面照明法则。
我把这个策略称为「光权编码法」——用提示词的结构化排列来控制 AI 出图时的光照权重分配。
第一权:环境权——先给整个画面设一个「亮度下限」
Prompt 开头:「室内餐桌旁,正视镜头,面部打光,表情俏皮。」
注意第三组的顺序:先定方位(室内餐桌旁)→ 再定主体动作(正视镜头)→ 再定主光(面部打光)→ 最后定情绪(表情俏皮)。
这不是随机的。「面部打光」被放在第三个而不是最后一个,意思是在模型开始分配计算资源之前,它已经被明确告知光源的目标是谁。
对比大多数人会写的顺序:
一个漂亮女孩坐在餐桌旁,灯光打在她脸上,表情俏皮。
看起来差不多?不。后者把”打光”藏在了主谓宾的中段,模型读到”坐在餐桌旁”时已经开始分配环境光了——等读到”灯光打在她脸上”,光照预算已经被环境吃掉了。
到了这里还有个隐形的「暗度锚点」:
Prompt 明确写了「环境光线偏暗,明暗对比突出人物,静谧氛围」。
问题是:你这样写过,很多人也这样写——但为什么别人的出图人物依然与环境光打架?
因为「偏暗」和「静谧」没有告诉模型什么算暗。
人类看到”暗光”想到的是画面亮度的绝对值。AI 训练数据里的”暗光”是一张 2M 张图片的平均值——它包含了暗光用餐、暗光酒吧、暗光卧室、暗光电影院的全部版本。
真正让 Prompt 生效的,是它在描述环境光之前就已经做了两件事:
1. 明确了光的落点(面部打光在前)
2. 明确了光的来源(室内餐桌旁——暗示桌面上方有主光源)
环境光的「偏暗」不是靠”暗”这个词达成的——是靠提前把光照预算分配给面部,自然导致环境得到的”剩饭”变少。

这就是第一权:用描述顺序控制模型的光照计算资源分配。
第二权:主体权——把「受光优先级」写入每一处身体描述
直接对比一个细节:
Prompt 写的是「眼睛周围亮晶晶的」。
六个字。不是”眼睛彩光””闪亮眼睛”这种常规写法。它特意写了「周围」。
这是光权编码法的精妙之处。它告诉模型:不要只给眼球加高光。给眼周——眼皮、下眼睑、卧蚕——所有这些区域增加微量镜面反射。
AI 出人像时面部高光默认倾向于均匀分布。但「眼睛周围亮晶晶的」相当于一个区域高光蒙版:把高光集中到眼周一个很窄的半径内。
同理,「嘴唇通明唇釉」——注意是”通明”不是”亮面”。亮面是全唇镜面反射,容易显得像猪油嘴。通明是半透的,允许唇部血管色(红色/粉红色)从光泽层底下透出来。
这两个描述组合在一起干的事是:锁死了画面中唯二允许产生”镜面感”的区域——嘴唇和眼周。 其他区域(皮肤、毛衣、背景墙)都不允许跟它们抢高光。
再看「冷白皮美女,纯欲风,皮肤白皙细腻,64K高清画质,展现细腻水润肤质」。
“水润”不是”油亮”——它暗示皮肤是低粗糙度高透光率的材质,而不是镜面反射材质。皮肤的高光应该是柔和散射的过渡(diffuse highlight),不是硬式镜面反射(specular highlight)。
到这里,Prompt 已经完成了三个区域的光学分类:
– 高反射区:眼周(亮晶晶)+ 嘴唇(通明唇釉)→ 镜面高光
– 中反射区:皮肤(水润肤质)→ 柔和散射高光
– 低反射区:黑色毛衣 + 背景墙 + 木质纹理 → 漫反射为主
没有写一句”高光””阴影””明暗”,但通过每组形容词的粗糙度编码,完成了完整的光照反射模型。
第三权:材质权——用「粗糙度描述」隐式控制每个表面的反射行为
这一权最容易被忽略,因为它的关键词散落在整条 Prompt 里,不集中。但合在一起看,它们构成了一张完整的材质反射率表:
| 对象 | Prompt 中的描述 | 隐含反射类型 |
|---|---|---|
| 皮肤 | 白皙细腻、水润、水润肤质 | 低粗糙度、次表面散射为主 |
| 嘴唇 | 通明唇釉 | 镜面高光 + 半透光 |
| 眼周 | 亮晶晶 | 局部镜面反射 |
| 毛衣 | 黑色露肩 | 高吸光、低反射 |
| 头发 | 自然蓬松垂坠、几缕拂面 | 中度漫反射 + 少量线形高光 |
| 美甲 | 长长的 | 硬质光滑漆面 |

注意头皮发丝描写:「发丝自然蓬松垂坠,灰棕色自然长发披肩,几缕拂面。」
对发丝描述用”蓬松”和”垂坠”同时出现,是在定义发丝的体积/表面比——蓬松 = 体积大,垂坠 = 表面收缩。模型理解的结果是:头发不是紧贴头皮的死板平面,是有内部体积的纤维集合。
「几缕拂面」是点睛之笔——它在光照上的作用是:让脸部的轮廓光被打断。光不会被完整地勾出面部边缘,而被拂面的发丝截断、分散、柔化。
没有刻意写”柔光”这个词,但通过发丝遮挡达到了柔光的效果。
整条 Prompt 的权重分布图
把提示词分解为 5 个区段,看每段干的事:
| 区段 | 语句 | 功能 |
|---|---|---|
| A | 室内餐桌旁,正视镜头 | 空间锚点 + 人物轴线 |
| B | 面部打光 | 光源落点声明 |
| C | 环境光线偏暗,明暗对比突出 | 环境权——定亮度下限 |
| D | 冷白皮…水润肤质…眼周亮晶晶…唇釉 | 主体权 + 材质权 |
| E | 64K高清画质…露肩锁骨 | 质量锚点 + 体态声明 |
关键发现:B 段只有 4 个字(”面部打光”),但它定义的是整张图的光照分配策略。没有这 4 个字,后面写再多”白皙””水润”也拿不到准确的光。
这就是为什么「光权编码法」的第一条规则是:用最短的句子,做最大的光照决策。
跟上一篇文章「渲染编码法」的区别
上篇讲的是用渲染参数(SSS/PBR/法线贴图)替代形容词。这篇讲的是用提示词语句的结构化排列来控制光照权重分配。
两个框架解决的是不同层的问题:
– 渲染编码法 → 材质层的物理属性(粗糙度/反射率/散射)
– 光权编码法 → 光照层的资源分配(谁是主光/谁是辅光/谁抢到光照预算)
两条可以组合使用:渲染编码法定义表面长什么样,光权编码法定义光往哪儿打。
技术参数表
| 参数 | 值 |
|---|---|
| 模型 | doubao-seedream-5.0-lite (Agent Plan) |
| 分辨率 | 2K (特色图 2496×1664 / 正文图 1440×2560) |
| 主光策略 | 面部打光优先,环境暗度锚定 |
| 高反射区 | 眼周亮晶晶 + 唇釉通明 |
| 皮肤材质 | 低粗糙度扩散反射 + 水润清透 |
| 色温 | 冷白调(冷白皮 = 偏蓝高光+粉调底色) |
Prompt 完整附录
直接复制使用。Seedream 5.0 系列模型效果最佳。如果发现人物高光太散,削减”64K”修饰词改为”高清”即可收紧反射范围。
室内餐桌旁,正视镜头,面部打光,表情俏皮。黑色露肩毛衣,一手托腮,一手持酒杯。桌面有液体容器与杯子,背景为个性时尚墙面,木质纹理装饰,低调奢华。环境光线偏暗,明暗对比突出人物,静谧氛围。年轻娇小,发丝自然蓬松垂坠,灰棕色自然长发披肩,几缕拂面。不显示"nunu"这个词, 冷白皮美女,纯欲风,皮肤白皙细腻,64K高清画质,展现细腻水润肤质与精致五官、美甲长长的,嘴唇通明唇釉,大眼睛双眼皮睫毛长长的,眼睛周围亮晶晶的,露肩锁骨,偶像气质。
三块可迁移编码模板
模板一:光源落点前置
想好了画面的主光打哪儿,就把它写成提示词的第二个信息(场景之后、人物描述之前):
[场景],[光源落点],[人物动作],[细节]
✅ 正确示例:
室内餐桌旁,面部打光,正视镜头,表情俏皮
❌ 错误示例:
一个女孩坐在餐桌旁,吃到一半抬头看镜头,暖色灯光打在脸上
(光源被埋在了句末,模型读到光源时已经分配了光照资源)
模板二:区域粗糙度声明
给嘴和眼睛写形容词之前,先定义它们的反射行为:
| 区域 | 推荐的反射描述 |
|---|---|
| 嘴唇 | 通明唇釉/水光唇/镜面唇(避免”亮唇”——太模糊) |
| 眼睛 | 眼周亮晶晶/瞳孔高光明显/卧蚕微闪 |
| 皮肤 | 水润/清透/通透/细腻(避免”发光”——会变成油光) |
| 头发 | 蓬松垂坠/微丝光泽/发丝细闪 |
模板三:环境暗度锚定
不要只写”暗光”——写暗的目的是什么。用「对比」来定义暗:
环境光线偏暗,[某个区域]突出
✅ 正确示例:「环境光线偏暗,明暗对比突出人物」
✅ 正确示例:「环境偏暗,面部高光切割清晰」
❌ 错误示例:「暗光环境氛围」(模型不知道”暗”和”环境”哪个优先)
FAQ
Q:这段 Prompt 有禁止词「不显示’nunu’这个词」,为什么作者要加这个?
Seedream 模型对部分关键词有训练偏差。”nunu”这个音节可能触发了某个训练品类(猜测与韩国某品牌或特定风格模型相关),加排除词是用户在实践中摸出的经验性修复。如果你不需要排除特定词,可以去掉这一行不影响出图效果。
Q:「面部打光」只有四个字,真的够吗?要不要加光源方位或柔硬程度?
对于 Seedream 5.0,四个字够了。因为它在训练数据中见过足够多的”面部打光”标签。如果你用更早期的模型(Seedream 3.x 或 SD 系列),建议补充光源细节——”面部打光,侧前方45度柔光箱”——因为早期模型对短语的理解颗粒度更粗。
Q:风格是”纯欲风”,但 Prompt 里并没有解释”纯欲”是什么。AI 怎么理解?
“纯欲”在 Seedream 的训练标签中已经有明确的聚类:清透底妆 + 不油腻的高光 + 带有脆弱/楚楚可怜感的面部表情。它不需要被拆解,因为它属于模型训练集里的现成概念。”64K高清画质”和”水润肤质”是辅助它往”高质量纯欲频道”偏的更具体指示。
Q:「光权编码法」和之前讲「质感对撞法」有什么区别?
质感对撞法侧重材质间的冲突设计(西装废墟、硬与软),光权编码法侧重光照资源分配(光往哪儿打、谁吃得最少)。两条可以同时用:质感对撞决定”画面里有什么冲突的材质”,光权编码法决定”光照下这些材质谁看起来更高级”。

评论0