FLUX.1 Kontext是什么
FLUX.1 Kontext 是由 Black Forest Labs 推出的图像生成与编辑模型,支持上下文感知的图像处理。模型基于文本和图像提示进行生成与编辑,支持对象修改、风格转换、背景替换、角色一致性保持和文本编辑等多种任务。FLUX.1 Kontext Pro版本支持快速迭代图像编辑,能在多次编辑中保持图像质量和角色特征稳定。。Kontext Max版本在提示词遵循、排版生成和编辑一致性方面表现卓越,速度极快。FLUX.1 Kontext [dev] 是FLUX.1 Kontext pro 的开源开发版本,拥有120亿(12B)参数,支持在消费级硬件上高效运行,实现媲美专有工具的顶级图像编辑性能,对标GPT-4o和Gemini 图像生成功能。
FLUX.1 Kontext的项目地址
项目官网:https://bfl.ai/announcements/flux-1-kontext
GitHub仓库:https://github.com/black-forest-labs/flux
HuggingFace模型库:https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
ComfyUI安装
ComfyUI 的桌面版是支持 Apple Silicon,所以这次我们直接选择桌面版。安装过程会很简单。
ComfyUI下载地址:https://www.comfy.org/zh-cn

打开 http://comfy.org,直接下载 Mac 版就可以了,下载完成之后直接双击 dmg 文件。

这就是一个常规的 macOS 软件安装方式 ,拖动到 Application,然后打开 ComfyUI。

然后就会进入配置页面了,全程可视化配置,没有任何复杂的地方,点击开始使用。

选择 GPU 类型

按默认选择左边的 MPS 加速,不启用 CPU 模型。点击下一步,安装位置设置。

可以设置 ComfyUI 的主要目录。这个目录里会包含如下的文件:

插件,输入,模型,输出这些都放在这里。如果没有特殊需求直接下一步,如果有多个硬盘,或者有大的硬盘,就尽量切换到大空间的路径。因为这个目录需要放模型,所需空间会比较大。
桌面设置

这里基本默认就可以了,如果你的网络是内外,可以点开镜像设置。我的网络没问题,他直接打勾✅了,所以我是直接点击安装,自动设置 Python 环境和安装依赖。

这个过程非常丝滑,你不需要关心具体细节,它会全自动完成。因为 macOS 的深度学习包不是很大,也不需要几个 G 的 CUDA,所以即便是在线下载依赖,整个过程也不会太久。
安装完成之后自动启动。

启动之后会弹出模板,让你选择,选好之后就可以开始使用了,到这里之后,后面的操作就和 Windows 平台差不多了,同样在演示例子中选择 Flux,然后选择小兔子的那个工作流。

打开之后,他同样会提示你下载几个必要的模型。因为这是桌面端,只要点击一下下载,它会自动帮你下载并放到正确的路径,当然,你也可以直接去 Huggingface 下载。下载完成之后,就可以点击运行了。
https://huggingface.co/bullerwins/FLUX.1-Kontext-dev-GGUF/tree/main
在运行之前一切顺利,整个过程还挺丝滑。但是点击运行之后就出现问题了。

模型加载全部没有问题,但是到了 KSampler 这一步的时候,就出了错误了。
错误提示为:
Trying to convert Float8_e4m3fn to the MPS backend but it does not have support for that dtype.
通过右下角的查找问题,可以快速转到 GitHub 的讨论版块,有六个提问,一个已经被解决了,看了一圈也不是特别清楚。但是,我根据他的提示信息盲猜,这应该是数据类型的问题。M 系列芯片和 N 卡支持的数据类型不一样,FP8 这种估计只有 N 卡上可以。

所以,我的思路是下载 FP16 的 FLux 模型,FP16 的 Clip 模型。果然,换了模型之后,就没有报错了。
下载地址分别为:
# 黑森林官方 HF HTTPS://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev # ComfyUI 官方 HF HTTPS://huggingface.co/comfyanonymous/flux_text_encoders
换了模型之后就可以正常生成图片。但是…. 时间有点久。
必须优化下,借用 Windows 的优化思路,同时考虑到 M 系列对 GGUF 支持比较好。我就在 M4 上也安装了 GGUF 插件,然后加载了 GGUF 模型。
Flux kontext GGUF节点安装和使用
所以,今天主要是讲如何使用GGUF模型,包括模型从哪里下载,使用什么节点,如何修改工作流。在昨天的基础上,完成今天的内容并不会太难。
使用GGUF是需要下载单独的GGUF模型。
GGUF(GPT Generative Unified Format)是一种专门用于大语言模型(如Llama、Mistral等)推理的模型文件新格式。
兼容性更好:支持更多模型结构(不仅仅是Llama系列)。
信息更丰富:文件内可以保存模型结构、参数、词表、量化信息等多种元数据,方便后续加载和复用。
体积优化:支持多种量化方式,进一步缩小模型文件体积,适合本地、边缘设备部署。
生态广泛:被Ollama、llama.cpp、lmdeploy、ComfyUI、text-generation-webui等多个AI推理工具支持。
这个模型已经有人做好了 ,只要打开下面这个地址:
https://huggingface.co/bullerwins/FLUX.1-Kontext-dev-GGUF/tree/main
可以看到如下内容:

根据自己的情况来下载模型,显存小的就下载小的模型。显存大点的就下载大一点的模型,从23.8G到4.02GB任君选择。如果不确定,可以参考开头的截图。或者Q2,Q4,Q6,Q8分别下载一个。放到diffusion_models/文件夹下面
ComfyUI/ ├── models/ │ ├── diffusion_models/ │ │ └── flux1-dev-kontext_fp8_scaled.safetensors │ ├── vae/ │ │ └── ae.safetensor │ └── text_encoders/ │ ├── clip_l.safetensors │ └── t5xxl_fp16.safetensors 或者 t5xxl_fp8_e4m3fn_scaled.safetensors

这样模型部分就完成了。
插件安装
有了模型之后,还需要专门插件和节点去加载这个模型。
插件地址:
https://github.com/city96/ComfyUI-GGUF
根据项目主页的介绍单独安装,也可以通过ComfyUI Manger来快速安装。
下面以ComfyUI Manager为例:

打开ComfyUI后右上角有一个Manager按钮,点击一下会弹出一个窗口,然后选择节点管理。
然后搜索ComfyUI-GGUF, 索到了之后点击Install 开始安装。

这里可能会有好几个结果,选名字最匹配,后面Star数量最多那个。插件安装完成之后,会要求重启软件。点击左下角的Restart重启软件。这样插件就安装完成了!
工作流修改
重启软件之后,双击工作流空白处,输入GGUF。

此时就可以看到很多GGUF相关的节点了,选中Unet Loader来加载FluxKontext的GGUF模型。
如果你是先安装了节点,重启之后才放模型,记得要刷新以下节点定义。

这样节点才能读取到模型!
然后把原先接在Load Diffusion Model上的线换到Unet Loader上。

Unet Loader 里通过unet_name可以切换具体的gguf模型。
为了进一步节省空间,可以把DualCLIP加载器也换一下:

换成GGUF版之后,clip_name1换一个叫“t5-v1_1-xxl-encoder-gguf”的文件。这个文件可以通过这个地址下载:
https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/tree/main
接下来就可以点击运行测试了。

可以看到运行过程中只用了10.5G显存。
我的电脑在不运行Flux的时候,其他软件大概占用了3G显存。所以FLUX这次总共用了7.5GB左右。所以理论上8G挤一挤也是够用的。12G应该能轻松驾驭。

ComfyUI 安装Login 插件

登录时会需要密码

Kontext 的能力
风格转化
提示词:transform to a Ghibli photo


改变着装
提示词:Change the girl's clothes to a bikini while preserving her facial features, hairstyle, and pose.


改变视角
提示词:Rotate the camera 90 degrees to view directly from side the woman.


移除物体
提示词:Remove the person in the image.


老照片修复
提示词:Repair this old photo, keep the appearance of the characters unchanged to the greatest extent, eliminate cracks, enhance clarity, correct colors, restore the original photo, and achieve ultra-high-definition quality.

修改文字
提示词:change the text on the pager sign to "piano"

改变发色
提示词:change the girl hair to pink


老照片修复
提示词:Repair this old photo, keep the appearance of the characters unchanged to the greatest extent, eliminate cracks, enhance clarity, correct colors, restore the original photo, and achieve ultra-high-definition quality.


改变图片文字
Replace the toothbrush in the hand of the main character on the left with a microphone, making the character look like they are singing. Change the text content to "Singing, louder, more noise." 将左侧主角手中的牙刷替换为麦克风,让角色看起来像在唱歌。将文字内容改为"唱歌,更大声,更多噪音。"


生成一组图片



原图 保持原始画面风格,清晨的江南小巷,刚被雨水冲刷过。一个纸鸢缠绕在电线杆上,屋檐下挂着一个竹篮,巷尾的茶馆刚刚开门,温暖的灯光从里面洒出。 保持原始画面风格,一位穿着深绿色旗袍的女子撑着伞走进雨中的小巷,脸上带着淡淡的思索表情。她穿过灰砖和瓦屋顶,雨滴轻轻地拍打着她的伞,路旁的灯笼随风轻轻摇曳。 保持原始画面风格,镜头拉近到屋檐的一角,那里有一只小鸟,给小鸟一个特写镜头。 保持原始画面风格,她经过一家裁缝店,橱窗里挂着未完成的布料。一只猫在门旁的踏板上打盹,而店内,一位老人专注地缝制着,每一针都一丝不苟。 保持原始画面风格,镜头拉近,给左下角睡着的猫一个特写镜头。「镜头拉近这个效果很好用,后续可以在首尾帧或者连续镜头中使用。」 保持原始画面风格,她在老街尽头的一家邮局前停下,从包里取出一封旧信。背景是潮湿的格子窗和一个斑驳的门牌;信封的边缘有些破损。 保持原始画面不变,环境变成夜晚。