切换主题

ComfyUI FLUX.1 Kontext 实战:多轮编辑、局部修改与角色一致性

Easton editorial illustration: three connected portrait frames showing input, background edit, and clothing edit, a small identity-lock badge spanning all three frames
12B
Kontext Dev 参数规模
BFL 模型卡将 FLUX.1 Kontext Dev 描述为 120 亿参数的 rectified flow transformer。
1,026
KontextBench 图像-指令对
技术报告使用 1,026 组真实图像与指令对评估编辑、角色参考、风格参考和文字编辑等任务。
2.5
Diffusers 示例 guidance_scale
这是模型卡示例值,可作为测试起点,不代表所有 ComfyUI 工作流的最佳参数。
数据来源: BFL 模型卡与 FLUX.1 Kontext 技术报告

"Black Forest Labs 的 FLUX.1 Kontext Dev 模型卡说明了 12B 参数、连续编辑能力、输出用途和 Non-Commercial License 边界。"

一张虚拟角色正面图已经满意:银灰短发、琥珀色眼睛、服装细节也对。第二张只想把舞台换成城市街头,结果脸型、发色和衣服同时变了;继续改姿势和表情,第三轮又开始发糊。FLUX.1 Kontext 的价值就在这里:它把输入图当作上下文,用文字指定“改什么”和“保留什么”,减少每次编辑都重新生成整张图造成的漂移。

它并不是永久锁脸工具。Black Forest Labs 展示过多轮保持能力,也明确给出了六轮后出现伪影和画质下降的失败案例。更稳妥的用法是短轮次探索、保存中间图、每轮只改一个主要变量。

FLUX.1 Kontext 适合什么,不适合什么

FLUX.1 Kontext Dev 是 12B 参数的图像编辑模型,能够同时接收输入图和文字指令。它适合换背景、改服装、局部替换、风格转换、文字编辑,以及基于前一轮输出继续修改。

需求Kontext 的做法Prompt 保留项主要风险
换背景但保人物单独修改背景face、pose、scale、position背景变化连带改脸或构图
换服装但保脸只描述服装材质和颜色facial features、hairstyle、expression衣服和体型一起漂移
修改产品场景只重写环境shape、logo、material、proportionsLogo 和瓶身比例被重画
多轮做系列图一轮只改一个维度每轮重复必要保留项小误差逐轮累积
长期角色资产用 Kontext 探索方向保存干净基准图长期稳定性不如训练方案

Kontext 与其他控制方案解决的问题不同。ControlNet 更适合固定姿势、深度和轮廓,LoRA 更适合长期复用角色或画风。IPAdapter 偏向参考图条件注入,FaceID 类方案则把重点放在人脸特征。

安装 Kontext Dev:模型文件和目录

ComfyUI 当前官方教程主线使用 FP8 scaled diffusion model、VAE 和两组 text encoder。模型页面可能需要先接受 BFL 条款才能下载。

ComfyUI/models/
├── diffusion_models/
│   └── flux1-dev-kontext_fp8_scaled.safetensors
├── text_encoders/
│   ├── clip_l.safetensors
│   └── t5xxl_fp16.safetensors
└── vae/
    └── ae.safetensors

t5xxl_fp16.safetensors 也可按官方教程换成 t5xxl_fp8_e4m3fn_scaled.safetensors。文件放好后刷新模型列表;加载器仍找不到时,检查目录拼写、文件是否完整,再重启 ComfyUI。通用的导入和缺节点问题可以参考 ComfyUI 工作流复用指南

原生模板入口

更新 ComfyUI 或 ComfyUI Desktop,在 Workflow Templates 中查找 Flux.1 Kontext Dev。模板入口和菜单名称可能随界面更新变化,找不到时先更新,而不是随意下载不明来源的节点包。

跑通第一轮:节点链和英文 Prompt

官方 Dev 工作流的主线是:

  1. Load Diffusion Model 选择 flux1-dev-kontext_fp8_scaled.safetensors
  2. DualCLIP Load 选择 clip_l.safetensors 和 T5 encoder。
  3. Load VAE 选择 ae.safetensors
  4. Load Image(from output) 载入要编辑的图片。
  5. CLIP Text Encode 中填写英文 Prompt。
  6. 点击 Queue,或用 Ctrl/Cmd + Enter 运行。

当前 ComfyUI 官方页面仍注明这条 Kontext Dev 工作流只支持英文 Prompt。这里不要依赖“中文也许能懂”的偶然结果;先把编辑意图写成简短、具体的英文指令,更容易判断失败来自模型、Prompt 还是工作流。

第一轮先只改一个对象

先测试换背景,不要同时改背景、衣服、姿势、年龄和画风。只改一个对象能建立干净基线,也便于发现是哪条指令引入漂移。

Change the background to a city street at night.
Keep the person in the exact same position, scale, and pose.
Preserve the same facial features, hairstyle, expression, and clothing.

Prompt 写法:同时说明修改项和保留项

Kontext Prompt 不需要堆画质词,重点是对象、动作和不变量。beautifulbettermake it different 这类词没有明确编辑边界;changereplacekeeppreserve 更容易让模型区分修改区和保留区。

场景不够明确更可控的写法
背景替换Put her on a beachChange the background to a beach while keeping the same face, pose, scale, and position
服装修改Transform her into a VikingChange only the clothing to Viking armor while preserving facial features and hairstyle
产品改色Create a new bottle designChange only the bottle color to blue; preserve shape, logo placement, material, and proportions
风格转换Make it a sketchConvert to a pencil sketch while maintaining the original composition and subject identity

人物、产品与构图的保留词

保持目标建议写出的保留项失败信号
人物身份facial features、hairstyle、expression、body shape眼睛、脸型、发型或年龄变化
产品外形shape、logo placement、material、proportionsLogo 拼写、瓶身曲线或材质改变
构图composition、camera angle、position、scale主体移动、裁切或透视改变
姿势pose、hand position、body orientation四肢位置和轮廓偏离

需要严格姿势时,不要继续把更多姿势描述塞进 Kontext Prompt;这通常是转向 ControlNet 的信号。

多轮编辑:保存、检查、回退

多轮流程通过 Load Image(from output) 把上一轮输出作为下一轮输入。推荐顺序是先背景,再服装或配饰,然后做轻微姿势或表情,最后才调整光照和风格。

  1. 保存未编辑基准图。
  2. 第一轮只换背景,保存 round-01
  3. 第二轮只改服装或配饰,保存 round-02
  4. 第三轮再做轻微姿势或表情。
  5. 最后才做风格、色调或光照。

什么时候必须回退

脸型、眼睛、Logo、产品比例或清晰度一旦明显变差,就回到上一张干净中间图。不要在已经漂移的图上追加“把脸改回去”,因为新指令会继续重绘更多区域,错误也会被带入下一轮。

多轮没有固定安全轮数。BFL 的失败案例显示六轮后可能出现明显伪影,但这不是“五轮安全、六轮必坏”的阈值。输入图、修改幅度和每轮指令都会改变结果。

角色和产品一致性的实用配方

角色图先写清可观察特征,不要只用 shehim

Change only the background.
Keep the same woman with short silver hair and amber eyes.
Preserve her facial features, hairstyle, expression, body shape, pose, and scale.

产品图要把品牌敏感细节列成不变量:

Place the same bottle on a marble counter.
Preserve the exact bottle shape, logo placement, label text, material, proportions, and camera angle.
Change only the environment and surrounding lighting.

这类 Prompt 能降低漂移,但不能替代人工检查。商业产品图至少要逐张核对 Logo、文字、比例、包装信息和材质;真实人物只能使用已获授权或自有素材。

Dev、Pro、Max、FP8 和 GGUF 怎么选

选项获取方式适合场景注意事项
Kontext Dev本地 open weights研究、定制、本地隐私和高频试验权重受 Non-Commercial License 约束
Kontext ProAPI / Partner Nodes商业编辑和快速迭代价格与服务条款以当前平台为准
Kontext MaxAPI / Partner Nodes更强指令遵循和文字编辑不等同于本地 Dev 权重
FP8 scaledComfyUI 官方教程主线希望用原生节点快速跑通显存是否足够仍取决于环境和分辨率
GGUF / Nunchaku社区或特定实现降低显存压力或加速节点、量化质量和兼容性需要实测

不要把“12GB 一定能跑”或“16GB 一定流畅”写成硬门槛。显存还受 T5、分辨率、VAE、预览、offload 和其他节点影响;低显存细节可继续看 ComfyUI 低显存与提速实战

Guidance 先从示例值测试

Hugging Face 模型卡的 Diffusers 示例使用 guidance_scale=2.5。它可以作为起点,但 ComfyUI 节点、输入图和编辑范围不同,不应把它写成“1.5–2.5 永远最佳”。固定输入和 seed,一次只调一个参数,才能看出变化来自哪里。

常见失败的排查顺序

症状先检查下一步
模型列表里找不到文件目录、文件名、下载完整性刷新模型列表并重启
Prompt 几乎没效果是否使用英文、对象是否具体change/replace 明确修改项
换背景后脸变了是否一次改了多个维度加入 face、hairstyle、pose 保留项
多轮越来越糊是否继续使用已漂移输出回退上一张干净中间图
产品 Logo 被改是否声明 logo 和 label 不变缩小编辑范围并人工复核
构图或姿势失控是否需要结构强约束改用或叠加 ControlNet
显存不足FP8、T5、分辨率和附加节点再评估 GGUF、offload 或 API

排障时固定输入图和 seed,只改变 Prompt 或一个参数。一次同时更换模型、量化、分辨率和 Prompt,会让结果无法归因。

许可、合规与最终选型

FLUX.1 Kontext Dev 的模型权重当前受 FLUX.1 dev Non-Commercial License 约束。模型卡说明生成输出可以用于个人、科研和商业目的,但这不代表可以把 Dev 权重直接集成到收费服务;商业部署要核对 BFL 当前 licensing。Pro 和 Max 是 API 侧产品,适用条款也以调用平台为准。

最终选型可以按目标判断:

  • 短期换背景、服装、局部和概念探索:先用 Kontext。
  • 长期稳定复用原创角色或画风:转 LoRA。
  • 主要目标是固定同一张脸:评估 FaceID 类方案,并处理肖像授权。
  • 姿势、轮廓和构图必须严格一致:用 ControlNet。
  • 只是把参考图风格或主体条件注入新生成:评估 IPAdapter。

跑通第一轮后,先保存基准图,再按“背景 → 服装 → 轻微动作 → 光照或风格”逐轮推进。Kontext 的优势不是保证永不漂移,而是让每次修改有明确上下文,并允许你在出现偏差时回到最近的干净版本。

在 ComfyUI 中完成一次可回退的 Kontext 多轮编辑

先跑通官方 Dev 模板,再用一轮一个变量的方式编辑,并为角色、产品与构图写清保留项。

  1. 1

    步骤 1: 更新并打开模板

    更新 ComfyUI,在 Workflow Templates 中找到 Flux.1 Kontext Dev;模板缺失时先核对当前版本。
  2. 2

    步骤 2: 放置模型文件

    分别放置 diffusion model、VAE 和 CLIP/T5 text encoders,刷新或重启后确认加载器可以选到文件。
  3. 3

    步骤 3: 导入基准图

    在 Load Image(from output) 中载入授权或自有输入图,并保存这张未编辑基准图。
  4. 4

    步骤 4: 先做单变量修改

    在 CLIP Text Encode 中用英文写明要改的对象,同时列出必须保持不变的脸、姿势、比例或构图。
  5. 5

    步骤 5: 保存第一轮输出

    检查脸、发型、Logo、材质、位置和清晰度;通过后再把输出作为下一轮输入。
  6. 6

    步骤 6: 逐轮增加变化

    按背景、服装或配饰、轻微动作、光照或风格的顺序推进,每轮只改一个主要维度。
  7. 7

    步骤 7: 发现漂移立即回退

    一旦脸、产品比例、Logo 或清晰度明显变差,回到上一张干净输出,缩小改动范围后重试。
  8. 8

    步骤 8: 决定是否换方案

    需要长期角色复用、严格锁脸或精确姿势时,分别评估 LoRA、FaceID 类方案或 ControlNet。

常见问题

FLUX.1 Kontext 和 LoRA 有什么区别?
Kontext 使用输入图和文字指令即时编辑,不需要先训练;LoRA 需要准备或训练权重,但更适合长期复用固定角色、产品或画风。
ComfyUI 里 Kontext Dev 的模型文件放哪里?
diffusion model 放在 models/diffusion_models/,ae.safetensors 放在 models/vae/,clip_l 和 t5xxl text encoders 放在 models/text_encoders/。
FLUX Kontext 怎么降低角色变脸?
每轮只修改一个维度,并明确保留 facial features、hairstyle、expression、pose 和 scale;已经漂移时应回退到上一张中间图。
Kontext Dev 的 Prompt 可以写中文吗?
当前 ComfyUI 官方 Kontext Dev 工作流文档仍注明 CLIP Text Encode 只支持英文 Prompt,因此这条原生工作流优先直接使用英文指令。
多轮编辑为什么越改越糊?
每一轮都会把上一轮的误差带入下一轮,过长编辑还可能产生伪影;应保存中间版本、减少单轮改动,并在出现漂移时及时回退。
FLUX.1 Kontext Dev 可以商用吗?
模型权重受 FLUX.1 dev Non-Commercial License 约束,商业部署需要核对 BFL 当前许可;生成输出与模型权重的使用权不是同一件事。

9 分钟阅读 · 发布于: 2026年8月21日 · 修改于: 2026年8月21日

评论

使用 GitHub 账号登录后即可评论

Easton BlogEaston Blog