OpenMontage 中的 FLUX 提示词核心原则:从零写出高质量文生图提示词的完整指南
【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage
导读
本文档基于 OpenMontage 仓库内置的 flux-best-practices 技能 中最重要的规则文件 core-principles.md,系统讲解适用于全部 BFL FLUX 模型的通用提示词原则。在 OpenMontage 的智能视频生产管线中,FLUX 被封装为flux_image与image_gen等图像生成工具,本文的每一条原则都可以直接应用于这些工具的实际调用。读完本文,你将掌握 FLUX 提示词的 8 条核心原则(正向描述、结构公式、具体性、自然语言、光照、词序、长度控制与迭代优化),并理解负向提示词不可用的替代策略,以及这些原则在仓库源码中的落地方式。
背景:FLUX 技能体系与核心原则的定位
OpenMontage 将 Black Forest Labs 的 FLUX 最佳实践整理为一个结构化技能(skill),入口文件 SKILL.md 将其定位为"为任何 BFL FLUX 模型生成提示词时保证图像质量与提示词解析准确性的技能"。整个技能按影响等级划分为多个规则文件,其中core-principles被 _sections.md 标记为CRITICAL(关键级):
Universal prompting principles that apply to all FLUX models. Master these before diving into specific techniques.(适用于所有 FLUX 模型的通用提示词原则,掌握它们之后再深入具体技巧。)
也就是说,core-principles.md 是进入 FLUX.2 / FLUX.1 文生图、图生图、JSON 结构化提示词、十六进制取色、排版文字、多参考图编辑等全部进阶技巧之前,必须先掌握的地基。它不针对某个具体模型,而是适用于全部 FLUX 模型。
在 OpenMontage 中,这套原则被多个图像生成工具直接引用:flux_image工具的agent_skills字段声明了["flux-best-practices", "bfl-api"](见 flux_image.py),image_gen图像生成选择器同样声明["flux-best-practices", "bfl-api"](见 image_gen.py),此外 atlas_image.py 与 comfyui_image.py 也引用了该技能。这意味着在 OpenMontage 中运行任何 FLUX 相关的图像生成任务时,Agent 都会优先加载本文将要讲解的这些核心原则。
原则一:只用正向描述(Positive Descriptions Only)
这是 FLUX 提示词体系中最根本、也最容易被习惯其他模型(如 Stable Diffusion)的用户踩坑的一条:FLUX 不支持负向提示词(negative prompt)。必须始终描述"你想要的",而不是"你不想要的"。
错误写法
a portrait of a woman, no glasses, no hat, no makeup正确写法
a portrait of a woman with natural skin, clear face, bare head, visible eyes两种写法看似表达同一意图,但 FLUX 的文本编码器只接收正向描述。若提示词中出现 "no glasses" 这类否定短语,模型往往会把 "glasses" 本身当作关键 token 处理,反而更容易生成眼镜,甚至导致注意力偏移到并不存在的元素上。
关于这一点,同目录下的 negative-prompt-alternatives.md 给出了更深入的原因解释与替换策略:
Negative prompts can actually make models focus MORE on unwanted elements.(负向提示词实际上会让模型把更多注意力放到你不想要的那些元素上。)
三步替换法
- 识别你不想要什么;
- 自问:"那里应该是什么?";
- 描述这个正向替代物。
常见替换对照表(节选)
| 不想要的(Instead of) | 改为使用(Use) |
|---|---|
| "no people" | "empty", "deserted", "solitary", "abandoned" |
| "no makeup" | "natural skin", "bare face", "fresh-faced" |
| "no glasses" | "visible eyes", "unobstructed gaze", "clear eye contact" |
| "no text" | "clean surfaces", "unmarked", "text-free" |
| "no blur" | "sharp focus", "crisp details", "tack-sharp" |
| "not modern" | "traditional", "classical", "vintage", "historical" |
| "no bright colors" | "neutral tones", "earth tones", "soft pastels" |
| "no distractions" | "clean composition", "focused framing", "minimal elements" |
复杂改写示例
原始负向堆叠提示词:
Portrait of a woman, no glasses, no makeup, no wrinkles, no blemishes, no bright colors, no distracting background, no harsh lighting正向改写:
Portrait of a youthful woman with clear natural skin and visible bright eyes, fresh-faced with a healthy glow, wearing muted earth tones against a soft blurred neutral background, gentle diffused lighting creating soft shadows原则二:提示词结构公式(Prompt Structure Formula)
为了获得稳定一致的结果,FLUX 提示词应当遵循固定的结构公式:
[Subject] + [Action/Pose] + [Style/Medium] + [Context/Setting] + [Lighting] + [Technical Details]即:主体 + 动作/姿态 + 风格/媒介 + 场景/环境 + 光照 + 技术细节。
结构化示例
A young woman with flowing auburn hair (subject) dancing gracefully in mid-leap (action) in the style of classical oil painting (style) in a moonlit garden with roses (context) soft diffused moonlight with subtle rim lighting (lighting) medium shot, shallow depth of field (technical)在 t2i-prompting.md 中,这个公式被进一步扩展为 8 项框架,适合更复杂的创作:
[Main Subject] - who/what is the focus(主体是谁/什么) [Attributes] - characteristics, details, clothing(属性:特征、细节、衣着) [Action/Pose] - what they're doing(动作/姿态) [Environment] - where, setting, background(环境:地点、场景、背景) [Style/Medium] - artistic approach(风格/媒介) [Lighting] - light source, quality, mood(光照:光源、质感、情绪) [Composition] - framing, camera angle(构图:取景、机位) [Technical] - camera, lens, film stock(技术:相机、镜头、胶片)在 OpenMontage 的 flux_image.py 中,prompt是输入参数中唯一必填字段("required": ["prompt"]),其余参数(宽高、模型、种子、推理步数、guidance)均有默认值。也就是说,提示词质量直接决定了工具输出质量,结构公式就是保证提示词质量的第一道工序。
原则三:具体性至关重要(Specificity Matters)
越具体的提示词,生成结果越好——这是各条原则中最容易立竿见影的一条。
模糊提示词(效果差)
a cat sitting具体提示词(效果好)
A fluffy orange tabby cat with bright green eyes sitting regally on a vintage velvet armchair, afternoon sunlight streaming through lace curtains, warm golden hour lighting, shallow depth of field, shot on medium format film两行提示词的差距不仅仅在于字数:前者没有给模型提供任何视觉锚点,结果完全依赖模型随机采样;后者则锁定了品种、毛色、眼睛颜色、坐姿姿态、家具类型与材质、光线来源与质感、景深效果、拍摄介质等十几个决定画面成色的细节变量。
原则四:自然语言优于关键词堆砌(Natural Language Works Best)
把提示词写成描述性散文(prose),而不是用逗号分隔的关键词列表。
关键词式(效果较差)
woman, portrait, beautiful, blonde, studio, professional, 8k, detailed散文式(效果更好)
A professional studio portrait of a beautiful blonde woman in her thirties, captured with soft studio lighting that accentuates her features, rendered in stunning detail with natural skin texture and subtle catchlights in her eyes原因在于 FLUX 的文本编码基于自然语言训练,散文式的连贯句式能让模型理解词与词之间的修饰关系("which feature is being lit by which light"),而关键词列表只是并列的孤立 token,修饰关系全部丢失。t2i-prompting.md 还给出了一组典型的"叙事式"参考:人物肖像、动物、物体/产品、风景、建筑等五类主体的描述方式均以完整句子呈现,例如动物示例:
A majestic snow leopard with piercing blue-grey eyes, thick spotted fur dusted with snowflakes, powerful muscular build, alert posture on a rocky outcrop原则五:光照是最关键的单点因素(Lighting is Critical)
始终写明光照——它对图像质量的影响在所有因素中最大。核心原则文档把光照分为四类,每类给出关键词与效果对照:
自然光照(Natural Lighting)
- Golden hour(黄金时刻)— warm, soft, directional(温暖、柔和、有方向性)
- Overcast(阴天)— soft, diffused, even(柔和、漫射、均匀)
- Harsh midday(正午强光)— high contrast, strong shadows(高对比、硬阴影)
- Dappled forest light(林间斑驳光)— specular, organic patterns(镜面高光、有机图案)
影棚光照(Studio Lighting)
- Softbox(柔光箱)— even, professional(均匀、专业)
- Rim light(轮廓光)— edge definition, separation(勾勒边缘、主体分离)
- Butterfly lighting(蝴蝶光)— beauty, glamour(美妆、魅力)
- Rembrandt lighting(伦勃朗光)— dramatic, classic portraits(戏剧性、经典肖像)
氛围光照(Atmospheric Lighting)
- Volumetric fog(体积雾)— depth, mystery(纵深、神秘)
- God rays(丁达尔光柱)— dramatic, spiritual(戏剧性、神圣感)
- Neon glow(霓虹辉光)— urban, cyberpunk(都市、赛博朋克)
- Candlelight(烛光)— warm, intimate(温暖、亲密)
情绪化光照(Mood-Based Lighting)
- Dramatic shadows(戏剧性阴影)— tension, noir(紧张感、黑色电影)
- High key(高调光)— bright, airy, clean(明亮、通透、干净)
- Low key(低调光)— moody, mysterious(阴郁、神秘)
- Chiaroscuro(明暗对照)— strong contrast, painterly(强烈对比、绘画感)
t2i-prompting.md 进一步补充了人像布光的具体角度描述,例如:Rembrandt lighting(45 度主光在脸颊形成三角阴影)、Butterfly lighting(头顶主光在鼻下形成阴影)、Split lighting(90 度侧光、半脸在阴影中)、Loop lighting(微偏角度形成小鼻影)。
原则六:词序影响优先级(Word Order Matters)
FLUX 会优先处理提示词中靠前出现的元素。因此,把最重要的元素放到句子开头,是提升结果符合度的高杠杆技巧。
效果较差的写法
A forest background with soft lighting where a knight in shining armor stands背景、光照被放到了主语位置,模型会先分配注意力给"森林",主题人物反而变成附属信息。
效果更好的写法
A knight in shining armor stands in a forest, soft dappled lighting filtering through the canopy主体 "knight" 第一时间进入编码器视野,背景与光照退居修饰位置。这一原则在 flux2-models.md 中针对 FLUX.2 [klein] 模型被特别强调:"Front-load your subject (word order critical)",因为 klein 不做提示词放大(no prompt upsampling),提示词怎么写,模型就怎么理解。
原则七:控制提示词长度(Medium Prompt Length)
FLUX 的最佳提示词长度通常为30–80 个单词(模型理论上可处理至多 512 token)。
- 过短:缺乏方向,输出千篇一律的通用结果;
- 过长:重点涣散,模型难以聚焦;
- 最佳区间:信息量足够引导生成,又不至于让模型困惑。
对追求速度的 FLUX.2 [klein],官方建议将提示词控制在 40–70 词的中等详细度;而对追求细节的 FLUX.2 [max],则可以承载更长的技术性描述(相机、镜头、胶片模拟等)。可以理解为:长度本身不是目标,让每句话都为画面提供可落地的视觉信息才是目标。
原则八:迭代式优化(Iterative Refinement)
好的提示词不是一次写成的,而是迭代出来的:
- 从核心主体与动作开始;
- 添加风格与媒介;
- 明确光照与氛围;
- 补充技术细节;
- 根据生成结果反向修正。
关键纪律是:每次只修改一个要素,这样才能准确归因"是什么改动带来了什么效果"。这一点与flux_image工具的Determinism.SEEDED(基于种子的确定性)设计天然配合——在 flux_image.py 中,seed参数会被原样透传给 fal.ai API(payload["seed"] = inputs["seed"]),且idempotency_key_fields = ["prompt", "width", "height", "seed", "model"]。也就是说,固定 seed 后逐项修改提示词,就能在受控条件下做严格的 A/B 对比实验,这正是迭代优化的工程化前提。
仓库落地:在 OpenMontage 中实际调用 FLUX
理解以上 8 条原则后,可以在 OpenMontage 中通过 flux_image.py(经 fal.ai API)实际执行。该工具的输入模式(input_schema)关键参数如下:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | string | 必填 | 唯一必填参数,按本文 8 条原则编写 |
negative_prompt | string | "" | 该工具保留了字段透传,但按 FLUX 官方最佳实践应留空,改用正向描述 |
width/height | integer | 1024 / 1024 | 输出分辨率 |
model | enum | flux-pro/v1.1 | 可选flux-pro/v1.1、flux/dev、flux-pro |
seed | integer | — | 固定种子以实现可复现实验 |
num_inference_steps | integer | — | 推理步数 |
guidance_scale | number | — | 引导强度 |
output_path | string | — | 图像输出路径 |
使用前提:需要设置FAL_KEY(或FAL_AI_API_KEY)环境变量,工具通过os.environ.get("FAL_KEY")读取;未配置时get_status()返回UNAVAILABLE,执行时直接报错并提示安装说明。底层实现调用https://fal.run/fal-ai/{model},同步等待响应后下载图像文件写入output_path。
对于多提供商的统一入口,可以使用 image_gen.py 中的图像生成选择器,其中provider参数取"flux"时会路由到_generate_flux内部实现(该实现默认请求fal-ai/flux/dev端点)。
模型选型:核心原则之上的下一步
核心原则是"通用于所有 FLUX 模型"的底座,选型则决定"原则用在哪个模型上"。core-principles.md指向了 model-selection-guide.md 与 flux2-models.md,两者的速查结论一致:
| 需求优先级 | 推荐模型 |
|---|---|
| 速度 | FLUX.2 [klein] |
| 质量 | FLUX.2 [max] |
| 平衡 | FLUX.2 [pro] |
| 文字排版 | FLUX.2 [flex] |
| 图像编辑 | FLUX.2 [klein]/[pro]/[max](通过参考图) |
| 本地/免费 | FLUX.2 [dev] |
| 局部重绘 | FLUX.1 Fill |
注意一个重要的模型差异:FLUX.2 全部模型原生支持通过参考图做图生图编辑,已无需使用旧版 FLUX.1 Kontext。在具体提示词风格上,flux2-models.md 的建议与核心原则一脉相承——[klein] 用叙事散文式、强调光照;[max] 用"技术参数 + 描述性散文"组合(相机机身、镜头焦距、光圈、胶片型号);[pro] 用均衡详细度;[flex] 必须用引号包裹精确文字并写明字体、层级与位置。
结语
core-principles.md 的 8 条核心原则——只用正向描述、按结构公式组织、追求具体、使用自然语言、强调光照、前置重要词、控制 30–80 词长度、迭代式优化——构成了 OpenMontage 中一切 FLUX 图像生成任务(从flux_image到image_gen再到各管线内的视觉素材生产)的提示词地基。它们独立于具体模型版本,向下兼容 FLUX.1 家族,向上覆盖 FLUX.2 全部变体。掌握这些原则后,再深入本技能的其他规则文件(t2i-prompting.md 文生图、negative-prompt-alternatives.md 负向替代、hex-color-prompting.md 精确取色、typography-text.md 文字渲染、multi-reference-editing.md 多参考图编辑),即可在 OpenMontage 中把 FLUX 的图像能力稳定地接入自动化视频生产流程。
【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考