13e - 品牌一致性指南
本文是《AI Agent 实战手册》第 13 章第 5 节。 上一节:13d-批量生成自动化 | 下一节:14a-语音AI平台对比
概述
当品牌需要在多个渠道、多种场景下持续输出 AI 生成的视觉内容时,最大的挑战不是”生成一张好图”,而是”每张图都像同一个品牌出品”。本节系统介绍四大品牌一致性技术——种子控制(Seed Control)、风格参考(Style Reference)、LoRA 适配器训练、模型微调(Fine-tuning),帮助你构建可复现、可扩展的品牌视觉系统。
1. 品牌一致性技术全景
工具推荐
| 技术方案 | 适用平台 | 价格 | 一致性程度 | 技术门槛 | 适用场景 |
|---|---|---|---|---|---|
| Seed 控制 | Midjourney、SD、FLUX | 免费(平台内置) | ★★☆☆☆ 低 | 低 | 快速迭代、微调变体 |
| —sref 风格参考 | Midjourney v7 | $10/月起(Midjourney 订阅) | ★★★☆☆ 中 | 低 | 品牌风格统一、系列图生成 |
| —cref 角色参考 | Midjourney v7 | $10/月起(Midjourney 订阅) | ★★★★☆ 高 | 低 | 角色一致性、IP 形象维护 |
| IP-Adapter | SD/FLUX(ComfyUI) | 免费(开源) | ★★★★☆ 高 | 中 | 风格迁移、多参考融合 |
| LoRA 训练 | SD/FLUX | $0.30-$2/次(云端);免费(本地) | ★★★★★ 极高 | 高 | 品牌专属风格、角色/产品定制 |
| DreamBooth 微调 | SD/FLUX | $2-$10/次(云端) | ★★★★★ 极高 | 高 | 深度品牌定制、产品级一致性 |
| Replicate 训练 API | FLUX | ~$0.38/次训练 | ★★★★★ 极高 | 中 | 快速云端 LoRA 训练 |
| Civitai 在线训练 | SD/FLUX | Buzz 积分制(约 $0.50-$2/次) | ★★★★☆ 高 | 低 | 无需本地 GPU 的 LoRA 训练 |
技术选型决策树
需要品牌视觉一致性?
├── 仅需风格统一(色调、氛围)?
│ ├── 使用 Midjourney? → --sref 风格参考(最简单)
│ └── 使用 SD/FLUX? → IP-Adapter + 风格参考图
├── 需要角色/IP 一致性?
│ ├── 使用 Midjourney? → --cref 角色参考
│ └── 使用 SD/FLUX? → LoRA 训练(20-50 张参考图)
├── 需要产品级精确一致性?
│ └── LoRA 训练 或 DreamBooth 微调
└── 需要企业级品牌系统?
└── 自定义 LoRA + 品牌风格指南 + 自动化管线2. Seed 控制:可复现生成的基础
Seed(种子)是 AI 图像生成中控制随机性的数值。相同的 seed + 相同的 prompt + 相同的参数 = 几乎相同的输出。这是实现品牌一致性的最基础手段。
2.1 Seed 工作原理
AI 图像生成模型从随机噪声开始,逐步去噪生成图像。Seed 决定了初始噪声的模式——固定 seed 意味着固定起点,从而获得可复现的结果。
Seed 12345 + "品牌吉祥物,蓝色背景" → 图像 A
Seed 12345 + "品牌吉祥物,蓝色背景" → 图像 A(相同)
Seed 67890 + "品牌吉祥物,蓝色背景" → 图像 B(不同)
Seed 12345 + "品牌吉祥物,红色背景" → 图像 C(构图相似,颜色不同)2.2 各平台 Seed 支持情况
| 平台 | Seed 支持 | 使用方式 | 确定性程度 | 注意事项 |
|---|---|---|---|---|
| Midjourney | ✅ | --seed 12345 | 高(同版本内) | 版本升级后 seed 结果可能变化 |
| Stable Diffusion | ✅ | WebUI/API 参数 seed | 极高 | 同模型+同采样器=完全一致 |
| FLUX | ✅ | API 参数 seed | 极高 | 本地和 API 结果一致 |
| DALL-E 3 | ❌ | 不支持 seed 参数 | 不可控 | OpenAI 不提供 seed 控制 |
| GPT-image-1 | ❌ | 不支持 | 不可控 | 无法精确复现 |
| Ideogram | ✅ | API 参数 seed | 高 | 支持 API 调用时指定 |
2.3 Seed 控制操作步骤
Midjourney Seed 使用
步骤 1:获取已有图像的 Seed
对一张满意的图像添加 ✉️ 信封 emoji 反应,Midjourney Bot 会私信告知该图像的 seed 值。
步骤 2:在新 prompt 中复用 Seed
/imagine prompt: 品牌吉祥物小熊,坐在办公桌前,扁平插画风格,品牌蓝 #2563EB 背景 --seed 42 --ar 1:1步骤 3:基于 Seed 创建变体
保持 seed 不变,微调 prompt 的其他部分:
/imagine prompt: 品牌吉祥物小熊,站在会议室里,扁平插画风格,品牌蓝 #2563EB 背景 --seed 42 --ar 1:1Stable Diffusion / FLUX Seed 使用(API)
import requests
def generate_with_seed(prompt: str, seed: int, model: str = "flux-2-pro"):
"""使用固定 seed 生成可复现的图像"""
response = requests.post(
f"https://api.bfl.ai/v1/{model}",
headers={"X-Key": "YOUR_API_KEY"},
json={
"prompt": prompt,
"seed": seed, # 固定 seed
"width": 1024,
"height": 1024,
}
)
return response.json()
# 品牌基准图像
base_image = generate_with_seed(
prompt="minimalist brand mascot, blue bear, flat design, #2563EB background",
seed=42
)
# 变体:相同 seed,微调 prompt
variant = generate_with_seed(
prompt="minimalist brand mascot, blue bear, flat design, #2563EB background, waving hand",
seed=42 # 相同 seed 保持构图一致
)2.4 Seed 控制的局限性
⚠️ Seed 只是一致性的”地基”,不是完整解决方案:
- 修改 prompt 文本会显著改变输出(即使 seed 相同)
- 模型版本更新后,相同 seed 可能产生不同结果
- 不同采样器(sampler)或步数(steps)会影响结果
- DALL-E 3 和 GPT-image-1 完全不支持 seed 控制
提示词模板
你是一个品牌视觉管理专家。请为以下品牌生成一组 [数量] 个图像 prompt,
要求所有图像保持视觉一致性。
品牌信息:
- 品牌名:[品牌名称]
- 品牌色:主色 [#HEX],辅色 [#HEX]
- 视觉风格:[扁平插画 / 3D渲染 / 照片级 / 水彩]
- 品牌调性:[专业严谨 / 活泼年轻 / 高端奢华 / 温暖亲切]
要求:
1. 所有 prompt 使用统一的风格描述词(在每个 prompt 末尾附加)
2. 指定统一的光照和构图方向
3. 输出 JSON 格式,包含 prompt、negative_prompt、recommended_seed
4. 附加一个"品牌风格后缀",可复用到所有未来 prompt 中3. 风格参考(Style Reference):零训练的一致性方案
风格参考是一种无需训练模型、通过提供参考图像来引导生成风格的技术。Midjourney 的 --sref 是目前最成熟的实现,FLUX 和 SD 生态则通过 IP-Adapter 实现类似功能。
3.1 Midjourney —sref 风格参考
--sref(Style Reference)参数让 Midjourney 从参考图像中提取色调、纹理、光照、艺术风格等视觉特征,并应用到新生成的图像中。
基本用法
/imagine prompt: 一只猫坐在窗台上 --sref https://example.com/brand-style-image.png高级用法:多风格混合与权重
# 混合两个风格参考,设置权重
/imagine prompt: 产品展示图 --sref https://url-a.png::2 https://url-b.png::3
# 权重说明:url-a 占 40%,url-b 占 60%风格强度控制
# --sw 参数控制风格影响强度(0-1000,默认 100)
/imagine prompt: 品牌海报 --sref https://brand-ref.png --sw 200 # 更强的风格影响
/imagine prompt: 品牌海报 --sref https://brand-ref.png --sw 50 # 更弱的风格影响SREF Code:可复用的风格代码
Midjourney 支持使用数字代码代替图像 URL,这些代码对应预定义的风格:
# 使用 sref code(10 位数字)
/imagine prompt: 品牌插画 --sref 1234567890
# 组合 sref code 和图像 URL
/imagine prompt: 品牌插画 --sref 1234567890 https://brand-ref.png::2💡 建议为品牌建立一个”SREF 风格库”,记录每个满意风格的 sref code 或参考图 URL,供团队统一使用。
3.2 Midjourney —cref 角色参考
--cref(Character Reference)专注于保持角色的面部特征、发型、服装等身份特征的一致性。
# 基本角色参考
/imagine prompt: 品牌吉祥物在咖啡店 --cref https://mascot-ref.png
# 角色强度控制(--cw 0-100,默认 100)
/imagine prompt: 品牌吉祥物在海边 --cref https://mascot-ref.png --cw 80
# 组合风格参考 + 角色参考
/imagine prompt: 品牌吉祥物在办公室 --sref https://brand-style.png --cref https://mascot-ref.png3.3 IP-Adapter:开源生态的风格参考方案
IP-Adapter(Image Prompt Adapter)是一个开源项目,为 Stable Diffusion 和 FLUX 提供类似 —sref 的风格参考能力,通过 ComfyUI 工作流使用。
工具推荐
| 工具 | 用途 | 价格 | 适用模型 |
|---|---|---|---|
| IP-Adapter | 风格/内容参考 | 免费(开源) | SD 1.5/XL/FLUX |
| IP-Adapter FaceID | 面部一致性 | 免费(开源) | SD 1.5/XL |
| InstantID | 零样本面部保持 | 免费(开源) | SDXL |
| ControlNet | 构图/姿态控制 | 免费(开源) | SD/FLUX |
| FLUX ControlNet Union Pro | 多模式控制 | 免费(开源) | FLUX |
ComfyUI IP-Adapter 工作流
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 品牌参考图 │───▶│ IP-Adapter │───▶│ KSampler │───▶ 输出图像
│ (风格样本) │ │ (提取风格) │ │ (生成) │
└──────────────┘ └──────────────┘ └──────────────┘
▲
┌──────┴──────┐
│ Text Prompt │
│ (内容描述) │
└─────────────┘操作步骤
步骤 1:安装 IP-Adapter 节点
在 ComfyUI 中安装 ComfyUI_IPAdapter_plus 自定义节点:
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git步骤 2:下载模型文件
将 IP-Adapter 模型放入 ComfyUI/models/ipadapter/ 目录:
ip-adapter-plus_sdxl_vit-h.safetensors(SDXL 用)ip-adapter-plus-face_sdxl_vit-h.safetensors(面部用)
步骤 3:构建工作流
- 加载品牌参考图像(1-4 张风格样本)
- 连接 IP-Adapter 节点,设置权重(推荐 0.5-0.8)
- 输入文本 prompt 描述具体内容
- 生成的图像将融合参考图的风格和 prompt 的内容
提示词模板
请为品牌 [品牌名] 创建一套风格参考系统:
品牌视觉规范:
- 主色调:[颜色]
- 辅助色:[颜色]
- 字体风格:[衬线 / 无衬线 / 手写]
- 插画风格:[扁平 / 3D / 手绘 / 像素]
- 摄影风格:[自然光 / 工作室 / 电影感]
请输出:
1. 一个"品牌风格后缀"(50 字以内),可附加到任何 prompt 末尾
2. 一个 negative prompt 模板,排除不符合品牌的元素
3. 推荐的 Midjourney --sref 使用策略
4. 推荐的 IP-Adapter 权重设置4. LoRA 训练:品牌专属风格适配器
LoRA(Low-Rank Adaptation)是一种轻量级模型微调技术,通过在预训练模型上添加少量可训练参数,让模型学会特定的风格、角色或产品外观。LoRA 文件通常只有 10-200MB,可以灵活组合使用。
4.1 LoRA 核心概念
┌─────────────────────────────────────────┐
│ 预训练基础模型 │
│ (FLUX Dev / SD XL / SD 1.5) │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ LoRA A │ │ LoRA B │ │
│ │ 品牌风格 │ │ 产品外观 │ ← 可叠加 │
│ │ (~50MB) │ │ (~30MB) │ │
│ └──────────┘ └──────────┘ │
│ │
│ 输出:品牌风格 + 产品外观的图像 │
└─────────────────────────────────────────┘LoRA vs 全模型微调:
| 对比项 | LoRA | 全模型微调(DreamBooth) |
|---|---|---|
| 训练数据量 | 15-50 张图 | 20-100 张图 |
| 训练时间 | 15-30 分钟 | 1-4 小时 |
| 模型大小 | 10-200MB | 2-7GB |
| GPU 需求 | 8GB+ VRAM | 16GB+ VRAM |
| 可组合性 | ✅ 多个 LoRA 可叠加 | ❌ 独立模型 |
| 灵活性 | 高(权重可调) | 中 |
| 云端训练成本 | $0.30-$2/次 | $2-$10/次 |
4.2 LoRA 训练平台对比
| 平台 | 价格 | 支持模型 | 易用性 | 适用场景 |
|---|---|---|---|---|
| Civitai 在线训练 | Buzz 积分制(约 $0.50-$2/次) | SD 1.5/XL/FLUX | ★★★★★ 极简 | 无 GPU 用户、快速实验 |
| RunPod | $0.89/hr(RTX 5090)起 | 任意模型 | ★★★☆☆ 中等 | 专业训练、大批量 |
| Replicate API | ~$0.38/次 | FLUX | ★★★★☆ 简单 | API 集成、自动化训练 |
| Google Colab | 免费(有限制);Pro $10/月 | 任意模型 | ★★★☆☆ 中等 | 学习实验、小规模训练 |
| 本地训练(Kohya) | 免费(需 GPU) | 任意模型 | ★★☆☆☆ 复杂 | 完全控制、隐私敏感 |
| ThinkDiffusion | $0.50/hr 起 | SD/FLUX | ★★★★☆ 简单 | 云端 ComfyUI + 训练 |
4.3 LoRA 训练操作步骤
方案一:Civitai 在线训练(最简单)
步骤 1:准备训练数据集
- 收集 20-30 张品牌风格参考图(风格 LoRA)或目标对象图片(角色/产品 LoRA)
- 图像要求:清晰、无水印、风格一致、分辨率 ≥ 512×512
- 裁剪为正方形(1:1)或训练目标分辨率
步骤 2:上传到 Civitai
- 登录 Civitai → 进入训练页面
- 选择基础模型(推荐 FLUX Dev 或 SDXL)
- 上传训练图像数据集
- Civitai 会自动进行图像标注(captioning)
步骤 3:配置训练参数
| 参数 | 推荐值(风格 LoRA) | 推荐值(角色 LoRA) |
|---|---|---|
| 训练步数(Steps) | 3000-4500 | 1500-3000 |
| 学习率(Learning Rate) | 1e-4 ~ 5e-5 | 1e-4 |
| 重复次数(Num Repeats) | 3-5 | 5-10 |
| 批次大小(Batch Size) | 1-2 | 1 |
| 网络维度(Network Dim) | 16-32 | 32-64 |
| 网络 Alpha | 与 Dim 相同或一半 | 与 Dim 相同 |
步骤 4:开始训练并下载
- 点击开始训练,等待 15-30 分钟
- 训练完成后下载
.safetensors文件 - 将文件放入 ComfyUI 的
models/loras/目录
方案二:Replicate API 训练(适合自动化)
import replicate
# 使用 Replicate API 训练 FLUX LoRA
training = replicate.trainings.create(
version="ostris/flux-dev-lora-trainer:d995297071a44dcb72244e6c19462111649ec86a9646c32df56daa7f14801944",
input={
"input_images": "https://your-bucket.s3.amazonaws.com/brand-images.zip",
"trigger_word": "mybrandstyle", # 触发词
"steps": 3000,
"learning_rate": 0.0001,
"batch_size": 1,
"resolution": "1024",
"autocaption": True, # 自动标注
},
destination="your-username/brand-style-lora"
)
print(f"训练状态: {training.status}")
print(f"训练 ID: {training.id}")
# 训练完成后使用
output = replicate.run(
"your-username/brand-style-lora",
input={
"prompt": "mybrandstyle, 产品展示图,简约背景",
"num_inference_steps": 28,
}
)方案三:本地训练(Kohya ss-scripts)
步骤 1:环境准备
# 克隆 Kohya 训练脚本
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
# 安装依赖(需要 Python 3.10+)
pip install -r requirements.txt
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121步骤 2:准备数据集目录结构
training_data/
├── 5_mybrandstyle/ # 格式:{重复次数}_{触发词}
│ ├── image_001.png
│ ├── image_001.txt # 对应的标注文件
│ ├── image_002.png
│ ├── image_002.txt
│ └── ...
└── reg/ # 正则化图像(可选)
└── 1_style/
├── reg_001.png
└── ...步骤 3:编写训练配置
# brand_lora_config.toml
[model]
pretrained_model_name_or_path = "/path/to/flux-dev"
output_dir = "./output/brand_lora"
output_name = "brand_style_v1"
[dataset]
train_data_dir = "./training_data"
resolution = 1024
batch_size = 1
[training]
max_train_steps = 3000
learning_rate = 0.0001
network_dim = 32
network_alpha = 16
optimizer_type = "AdamW8bit"
lr_scheduler = "cosine"
save_every_n_steps = 500步骤 4:启动训练
accelerate launch --num_cpu_threads_per_process 1 \
flux_train_network.py \
--config_file brand_lora_config.toml4.4 LoRA 使用技巧
在 ComfyUI 中加载 LoRA
[Load Checkpoint: FLUX Dev]
→ [Load LoRA: brand_style_v1.safetensors, strength: 0.8]
→ [CLIP Text Encode: "mybrandstyle, 产品展示图"]
→ [KSampler]
→ [Save Image]多 LoRA 叠加
# 叠加品牌风格 LoRA + 产品 LoRA
[Load Checkpoint]
→ [Load LoRA: brand_style.safetensors, strength: 0.7]
→ [Load LoRA: product_look.safetensors, strength: 0.5]
→ [CLIP Text Encode]
→ [KSampler]LoRA 权重调优建议
| 场景 | 推荐权重 | 说明 |
|---|---|---|
| 风格 LoRA 单独使用 | 0.7-1.0 | 较高权重确保风格明显 |
| 角色 LoRA 单独使用 | 0.8-1.0 | 高权重保持角色特征 |
| 多 LoRA 叠加 | 各 0.4-0.7 | 降低单个权重避免冲突 |
| LoRA + IP-Adapter | LoRA 0.6 + IP 0.4 | 互补使用,避免过拟合 |
提示词模板
请为以下品牌设计 LoRA 训练方案:
品牌信息:
- 品牌名:[品牌名称]
- 视觉风格:[详细描述品牌视觉特征]
- 训练目标:[风格一致性 / 角色一致性 / 产品外观]
- 预算:[低(免费/Civitai)/ 中(Replicate)/ 高(RunPod/本地)]
请输出:
1. 推荐的训练平台和预估成本
2. 数据集准备清单(需要什么类型的图片、数量、质量要求)
3. 推荐的训练参数配置
4. 触发词(trigger word)命名建议
5. 训练后的验证测试 prompt(5 个不同场景)5. 模型微调(Fine-tuning):深度品牌定制
当 LoRA 无法满足精度要求时,全模型微调(如 DreamBooth)提供更深层的定制能力。微调会修改模型的核心权重,使其”原生理解”品牌视觉语言。
5.1 微调方法对比
| 方法 | 原理 | 训练数据 | 训练时间 | 模型大小 | 适用场景 |
|---|---|---|---|---|---|
| DreamBooth | 全模型权重微调 | 20-100 张 | 1-4 小时 | 2-7GB | 高精度角色/产品定制 |
| Textual Inversion | 学习新的文本嵌入 | 5-15 张 | 30-60 分钟 | ~10KB | 简单概念注入 |
| LoRA | 低秩适配器 | 15-50 张 | 15-30 分钟 | 10-200MB | 灵活风格/角色定制 |
| Full Fine-tune | 完整模型训练 | 100-1000+ 张 | 数小时-数天 | 完整模型大小 | 企业级定制模型 |
5.2 DreamBooth 微调操作步骤
DreamBooth 通过将特定概念(如品牌吉祥物、产品外观)“植入”模型权重,实现极高的一致性。
步骤 1:准备训练数据
dreambooth_data/
├── instance_images/ # 目标对象图片(20-50 张)
│ ├── product_01.png # 不同角度
│ ├── product_02.png # 不同光照
│ ├── product_03.png # 不同背景
│ └── ...
└── class_images/ # 类别正则化图片(200-300 张,可自动生成)
├── generic_product_01.png
└── ...数据准备要点:
- 目标对象图片:多角度、多光照、多背景,但对象本身一致
- 类别正则化图片:同类别的通用图片,防止模型”遗忘”通用知识
- 分辨率:与训练分辨率一致(通常 512×512 或 1024×1024)
步骤 2:配置训练参数
# DreamBooth 训练配置示例(使用 diffusers 库)
training_config = {
"pretrained_model": "stabilityai/stable-diffusion-xl-base-1.0",
"instance_prompt": "a photo of sks brandproduct", # sks 是唯一标识符
"class_prompt": "a photo of product",
"instance_data_dir": "./dreambooth_data/instance_images",
"class_data_dir": "./dreambooth_data/class_images",
"output_dir": "./output/brand_dreambooth",
"resolution": 1024,
"train_batch_size": 1,
"gradient_accumulation_steps": 1,
"learning_rate": 1e-6,
"lr_scheduler": "constant",
"max_train_steps": 800,
"num_class_images": 200,
"with_prior_preservation": True, # 启用正则化
"prior_loss_weight": 1.0,
}步骤 3:云端训练(Replicate)
import replicate
# 使用 Replicate 进行 DreamBooth 训练
training = replicate.trainings.create(
version="stability-ai/sdxl:...",
input={
"input_images": "https://bucket.s3.amazonaws.com/brand-product.zip",
"token_string": "sks",
"caption_prefix": "a photo of sks brandproduct,",
"max_train_steps": 800,
"use_face_detection_instead": False,
},
destination="your-username/brand-product-model"
)步骤 4:使用微调模型
# 使用微调后的模型生成品牌产品图
output = replicate.run(
"your-username/brand-product-model",
input={
"prompt": "a photo of sks brandproduct on a wooden table, soft natural lighting, minimalist background",
"negative_prompt": "blurry, low quality, distorted",
"num_inference_steps": 30,
"guidance_scale": 7.5,
}
)5.3 企业级微调方案
对于需要大规模品牌一致性的企业,可以考虑以下方案:
| 方案 | 提供商 | 价格 | 特点 |
|---|---|---|---|
| Stability AI Enterprise | Stability AI | 联系销售 | 定制 SD 模型、企业 API、品牌安全 |
| Amazon Bedrock Custom Models | AWS | 按训练时长计费 | 托管训练、与 AWS 生态集成 |
| Replicate Fine-tuning | Replicate | ~$0.38-$5/次 | API 驱动、快速迭代 |
| RunPod Serverless | RunPod | $0.89/hr 起 | 灵活 GPU、自定义环境 |
6. 品牌风格指南与 AI 图像生成集成
将传统品牌风格指南(Brand Style Guide)转化为 AI 可执行的规范,是实现系统化品牌一致性的关键。
6.1 品牌风格指南 AI 化
传统品牌风格指南通常包含色彩、字体、图像风格等规范。将其转化为 AI 图像生成的可执行参数:
| 品牌规范项 | 传统描述 | AI 参数化 |
|---|---|---|
| 主色调 | Pantone 2563 C | #2563EB,在 prompt 中指定 |
| 摄影风格 | 自然光、温暖色调 | natural lighting, warm tones, golden hour |
| 插画风格 | 扁平设计、圆角 | flat design, rounded corners, vector style |
| 禁用元素 | 不使用暗色调 | negative prompt: dark, moody, gloomy |
| 构图规范 | 留白充足 | minimalist composition, ample white space |
| 人物风格 | 多元化、真实感 | diverse, realistic, natural expressions |
6.2 构建品牌 Prompt 系统
品牌风格后缀(Brand Style Suffix)
创建一个标准化的”品牌风格后缀”,附加到所有 prompt 末尾:
# 品牌风格后缀示例
BRAND_SUFFIX = """
minimalist flat illustration style, brand blue #2563EB primary color,
soft rounded shapes, clean white background, warm natural lighting,
professional and friendly tone, high quality, 4K resolution
"""
# 品牌 Negative Prompt
BRAND_NEGATIVE = """
dark, moody, gloomy, cluttered, aggressive, low quality, blurry,
watermark, text overlay, harsh shadows, oversaturated
"""品牌 Prompt 模板系统
class BrandPromptSystem:
"""品牌 Prompt 管理系统"""
def __init__(self, brand_config: dict):
self.brand_name = brand_config["name"]
self.style_suffix = brand_config["style_suffix"]
self.negative_prompt = brand_config["negative_prompt"]
self.default_seed = brand_config.get("default_seed", None)
self.lora_trigger = brand_config.get("lora_trigger", "")
def generate_prompt(self, content: str, scene: str = "") -> dict:
"""生成品牌一致的完整 prompt"""
prompt = f"{self.lora_trigger} {content}"
if scene:
prompt += f", {scene}"
prompt += f", {self.style_suffix}"
return {
"prompt": prompt.strip(),
"negative_prompt": self.negative_prompt,
"seed": self.default_seed,
}
# 使用示例
brand = BrandPromptSystem({
"name": "TechBrand",
"style_suffix": "minimalist flat design, #2563EB blue accent, clean white background",
"negative_prompt": "dark, cluttered, low quality, blurry",
"lora_trigger": "techbrandstyle",
"default_seed": 42,
})
# 生成产品图 prompt
product_prompt = brand.generate_prompt(
content="智能手表产品展示",
scene="白色桌面,45度角俯拍"
)
# 输出: "techbrandstyle 智能手表产品展示, 白色桌面,45度角俯拍, minimalist flat design, #2563EB blue accent, clean white background"6.3 品牌一致性自动化管线
将品牌风格系统集成到批量生成管线中:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 品牌风格配置 │ │ Prompt 生成 │ │ AI 图像生成 │ │ 品牌审核 │
│ │ │ │ │ │ │ │
│ · 风格后缀 │───▶│ · 内容 + 后缀 │───▶│ · LoRA 加载 │───▶│ · 色彩检查 │
│ · Negative │ │ · Negative │ │ · Seed 固定 │ │ · 风格评分 │
│ · LoRA 配置 │ │ · Seed 分配 │ │ · 批量生成 │ │ · 人工确认 │
│ · Seed 库 │ │ │ │ │ │ │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘实战案例:为 DTC 品牌构建 AI 视觉系统
背景
一家 DTC 护肤品牌”GlowLab”需要建立统一的 AI 图像生成系统,覆盖以下场景:
- 社交媒体配图(Instagram、小红书):每周 10 张
- 产品展示图(电商平台):每个新品 5 个场景
- 品牌吉祥物”小光”在不同场景中的插画
解决方案
采用”LoRA + 风格后缀 + Seed 库”三层一致性方案:
第一层:训练品牌风格 LoRA
- 收集 25 张品牌现有视觉素材(包装、广告、社交媒体图)
- 使用 Civitai 在线训练,基础模型选择 FLUX Dev
- 触发词设定为
glowlabstyle - 训练参数:3000 步,学习率 1e-4,网络维度 32
训练成本:约 $1.50(Civitai Buzz 积分)
第二层:建立品牌 Prompt 规范
# GlowLab 品牌配置
GLOWLAB_CONFIG = {
"style_suffix": (
"glowlabstyle, soft pastel color palette, "
"mint green #A8E6CF and coral pink #FF8B94 accents, "
"clean minimalist composition, soft diffused lighting, "
"gentle gradient backgrounds, premium skincare aesthetic"
),
"negative_prompt": (
"harsh lighting, dark mood, cluttered background, "
"low quality, blurry, aggressive colors, "
"cheap looking, text, watermark"
),
"sref_code": "3847291056", # Midjourney 备用风格代码
}第三层:Seed 库管理
# GlowLab Seed 库 — 记录每个满意结果的 seed
SEED_LIBRARY = {
"product_hero": {"seed": 42, "note": "产品主图标准构图"},
"lifestyle_warm": {"seed": 1337, "note": "温暖生活场景"},
"mascot_happy": {"seed": 2048, "note": "吉祥物开心表情基准"},
"social_square": {"seed": 777, "note": "社交媒体正方形构图"},
"packaging_flat": {"seed": 512, "note": "包装平铺展示"},
}生成效果
| 场景 | 使用技术 | 一致性评分 | 单张成本 |
|---|---|---|---|
| 社交媒体配图 | LoRA + 风格后缀 | 9/10 | $0.07(FLUX API) |
| 产品展示图 | LoRA + Seed 固定 | 9.5/10 | $0.07 |
| 吉祥物插画 | LoRA + —cref(Midjourney) | 8.5/10 | $0.10(MJ 订阅均摊) |
| 节日主题变体 | LoRA + 风格后缀 + 新 Seed | 8/10 | $0.07 |
月度成本分析
| 项目 | 数量 | 单价 | 月成本 |
|---|---|---|---|
| LoRA 训练(每季度更新) | 0.33 次/月 | $1.50 | $0.50 |
| 社交媒体配图 | 40 张 | $0.07 | $2.80 |
| 产品展示图 | 20 张 | $0.07 | $1.40 |
| 吉祥物插画 | 10 张 | $0.10 | $1.00 |
| 月总计 | $5.70 |
案例分析
- 成本优势:月成本不到 $6,相比外包设计师($500+/月)节省 98%
- 一致性保证:LoRA 确保所有图像”原生”符合品牌风格,无需逐张调整
- 可扩展性:新增场景只需编写新 prompt,无需重新训练
- 迭代效率:品牌视觉升级时,只需重新训练 LoRA($1.50,30 分钟),所有管线自动适配
- 风险控制:保留人工审核环节,确保 AI 生成内容符合品牌调性
避坑指南
❌ 常见错误
-
仅依赖 Seed 控制品牌一致性
- 问题:Seed 只能保证相同 prompt 的可复现性,修改 prompt 内容后输出差异很大,无法真正实现跨场景的品牌一致性
- 正确做法:Seed 作为辅助手段,核心一致性依靠 LoRA 或风格参考;建立”品牌风格后缀”统一附加到所有 prompt
-
LoRA 训练数据质量差
- 问题:使用模糊、风格混杂、分辨率不一的图片训练,导致 LoRA 学到的”风格”不稳定
- 正确做法:精选 20-30 张高质量、风格一致的参考图;统一裁剪为训练分辨率;手动检查每张图的标注(caption)准确性
-
LoRA 权重设置过高导致过拟合
- 问题:LoRA 权重设为 1.0,生成的图像过度”像训练数据”,缺乏多样性,甚至出现伪影
- 正确做法:风格 LoRA 权重建议 0.6-0.8;多 LoRA 叠加时各降至 0.4-0.6;通过 A/B 测试找到最佳权重
-
忽略 Midjourney 版本更新对 —sref 的影响
- 问题:Midjourney 从 v6 升级到 v7 后,相同的 —sref 参考图产生的风格效果发生变化,品牌视觉突然”漂移”
- 正确做法:在 prompt 中锁定版本(如
--v 7);版本升级前先用品牌参考图测试新版本效果;维护版本化的风格参考库
-
品牌风格指南没有转化为 AI 可执行参数
- 问题:品牌手册写着”温暖、专业、现代”,但这些抽象描述无法直接指导 AI 生成
- 正确做法:将每个品牌属性转化为具体的 prompt 关键词(如”温暖” →
warm golden lighting, soft shadows, amber tones);建立品牌 prompt 词典
-
没有建立品牌视觉审核流程
- 问题:批量生成的图像直接发布,部分图像偏离品牌调性,损害品牌形象
- 正确做法:在自动化管线中插入人工审核环节(Slack 审批);建立品牌一致性评分标准(色彩匹配度、风格符合度、构图规范);设置不合格图像的自动重生成机制
✅ 最佳实践
- 建立品牌 Prompt 资产库:将验证过的品牌风格后缀、negative prompt、seed 值、sref code 统一管理在版本控制系统中,团队共享使用
- 定期更新 LoRA:每季度用最新的品牌素材重新训练 LoRA,保持与品牌视觉演进同步
- 多技术组合使用:LoRA(深层风格)+ —sref(表层风格)+ Seed(构图稳定)三层叠加,实现最高一致性
- A/B 测试权重参数:每次调整 LoRA 权重或风格参考强度后,生成 10 张测试图进行对比,找到最佳平衡点
- 文档化品牌 AI 规范:将 AI 图像生成的品牌规范(prompt 模板、LoRA 配置、审核标准)写入品牌手册,作为团队标准操作流程
相关资源与延伸阅读
- Midjourney Omni-Reference 完整指南 — —cref 与 —sref 详解 — Midjourney 角色参考和风格参考的官方功能深度解析(2025)
- Midjourney SREF Code 完整指南与风格库 — SREF 代码的使用方法和预设风格库(2025)
- FLUX LoRA 训练教程 — Kohya 方法 — 使用 Kohya ss-scripts 训练 FLUX LoRA 的详细步骤(2025)
- Civitai LoRA 在线训练指南 — 无需本地 GPU 的在线 LoRA 训练教程(2025)
- 完整 LoRA 训练教程 — Civitai、Kohya、RunPod 全平台 — 覆盖多平台的 LoRA 训练完整指南(2025)
- FLUX 训练详细指南:数据集准备 — LoRA 训练数据集的准备方法和最佳实践
- AI 图像一致性保持指南 — 参考图像与属性锁定 — Seed 控制和参考图像的综合一致性策略(2025)
- Replicate LoRA 训练 API — 通过 API 自动化 LoRA 训练的云端方案
- ComfyUI IP-Adapter Plus — 开源 IP-Adapter 实现,支持 SD 和 FLUX 的风格参考
- RunPod FLUX LoRA 训练教程 — 使用 FluxGym 在 RunPod 上训练 FLUX LoRA(2025)
参考来源
- Midjourney Omni-Reference Guide — ImaginePro (2025)
- Complete Guide to Midjourney SREF Codes & Styles — srefs.co (2025)
- Midjourney V7 SREF Upgrades — The AI Video Creator (2025)
- Flux LoRA Training with Kohya — ThinkDiffusion (2025)
- Complete LoRA Training Tutorial — Civitai (2025)
- Detailed Flux Training Guide: Dataset Preparation — Civitai (2025)
- How to Keep AI Images Consistent — Skywork AI (2025)
- How to Train Stable Diffusion LoRA Models — ViewComfy (2025)
- LoRA Training on RunPod — NextDiffusion (2025)
- Replicate LoRA Training API (2025)
- What is an AI Image Seed — Runway (2025)
- Mastering Style Consistency in Midjourney — Kuble (2025)
📖 返回 总览与导航 | 上一节:13d-批量生成自动化 | 下一节:14a-语音AI平台对比