FLUX 3 Image Klein:参考图、画面布局与本地编辑实用指南
从第一张图到可控编辑,了解 FLUX 3 Image Klein 的浏览器和 API 用法、边界框、Windows 与 Mac 选项、显存、许可和故障排查。
你手上有一张能用的产品照片,但它的构图不适合下一项任务:主体需要左移,背景要换掉,右侧还得留白放标题。让图像生成器重新开始很容易,难的是拿到真正能用的修改结果。
FLUX 3 Image Klein 将文生图、图像编辑和多张参考图整合进同一模型系列。Black Forest Labs 于 2026 年 10 月 15 日发布了它。值得关注的并非又一张漂亮样图,而是你可以同时描述图像里有什么,以及各个元素应该位于哪里。BFL 发布公告
本指南从一个小实验开始,带你建立可重复的编辑流程。想先了解工具,可以从浏览器开始;要把生成接入应用,就选择 API;只有在文件控制或反复使用足以抵消部署成本时,再考虑本地运行。做出这个选择不需要先学会扩散模型的数学原理。
选择最短路径,先做出一张有用的图
| 你的目标 | 入门方式 | 仍需确认的事项 |
|---|---|---|
| 试试提示词或参考图 | Hugging Face 官方 Space 或 BFL Playground | 访问权限、当前配额、上传内容是否合适 |
| 在应用中加入生成能力 | BFL API | API 凭据、计费、重试和结果处理 |
| 在自己的机器上推理 | 兼容的 ComfyUI、Diffusers 或参考实现 | 完整运行时的内存需求、支持的 GPU、模型访问权限和许可 |
| 通过训练调整视觉风格 | 基础检查点和受支持的 LoRA 配方 | 数据集权利、训练资源和分发条款 |
它们是围绕相关权重构建的不同产品,并非可以互换的按钮。模型是学得的权重集合,运行时负责执行模型。ComfyUI 提供工作流界面,Diffusers 提供 Python 组件,托管 API 则提供运营好的服务。你在某个界面看到的功能,可能包含另一个界面并未执行的处理步骤。
第一次尝试时,打开官方 Space或 BFL Playground。生成前先查看账户和计费提示。Windows、macOS 和 Linux 用户都可以从浏览器开始;使用远程服务不需要本地 GPU。
选择自己拥有、可以安全发送到该服务的图片。用自己杯子的照片练习,比上传客户尚未发布的产品更妥当。下面的练习会给你一个具体的小任务,也会说明如何判断结果。
先做一次可控修改,再考虑叠加十张参考图
- 保存未经修改的源图,并记下尺寸。
- 选择编辑工作流,只附上这一张图。
- 描述完整的目标画面,包括哪些特征必须保持可辨认。
- 一次只要求一项变化,例如更换背景,不要同时更换主体、风格和构图。
- 以原图尺寸查看结果并进行比较。检查形状、文字、边缘和光线,而不只是缩略图。
- 将指令和结果放在一起保存。下一轮只改变一个变量。
例如,可以从这样的场景描述开始:
A catalog photograph of the same plain ceramic mug from the reference image,
with its handle and proportions preserved, on a matte pale-green surface.
Soft light comes from the left. The mug sits in the left third of a wide
composition, leaving clear space on the right for text added later.
验收标准由你决定:把手没有变化,杯子的轮廓仍然可用,留白区域确实空着。如果商标必须完全准确,就拿结果和原图核对,不要相信看似合理的重绘。拼写和品牌几何形状不容出错时,应使用常规设计工具添加最终文字。
官方模型卡提到最多可用 10 张参考图。这只是容量,不代表每项任务都应该用满十张。两张相机角度互相冲突的参考图,可能比一张清晰的图造成更多歧义。给每张输入指定明确用途:主体、材质、构图或风格。
布局框能引导构图,但不是像素级锁定
FLUX 3 支持用归一化坐标描述区域。除了说“把物体放在左边”,你还可以给出一个框,并描述框内对应的内容。坐标范围为 0 到 1000,因此布局描述不直接依赖最终图像是 1024 还是 2048 像素宽。BFL 边界框指南
原创说明图。框表示期望的位置,不代表实际生成结果,也不是硬性图像遮罩。
下面是用于说明的生成提示片段。它描述新的构图,并非编辑参考图;它应该放在提示词里,不是终端命令:
A clean studio composition with a ceramic mug <mug_1> on the left.
[{"id":"mug_1","bbox":[200,80,850,480],"desc":"A plain ceramic mug with a visible handle"}]
坐标顺序是上、左、下、右。这个例子中的框从画布向下 20%、向右 8% 处开始,到向下 85%、向右 48% 处结束。实际设计时先画出目标布局,再把布局换算为坐标。横纵数值填反,很容易得到令人困惑的结果。
编辑时既要标明来源,也要标明目标。下面这个 API 请求体仅用于示意:它把杯子从画面中央的源框移到左侧目标框。请将示例图片 URL 换成你拥有且可访问的图片;不要不经修改就提交占位地址。第一张参考图的标识是 ref_image_0。
{
"images": ["https://example.com/your-own-mug.png"],
"output_format": "png",
"prompt": "In <ref_image_0>, move the mug <mug_1> to the left. Preserve the mug's handle and the plain background. [{\"id\":\"mug_1\",\"from\":\"ref_image_0\",\"src_bbox\":[200,300,850,700],\"tgt_bbox\":[200,80,850,480],\"desc\":\"The same plain ceramic mug with its handle visible\"}]"
}
这里,from 指定参考图,src_bbox 标出原始区域,tgt_bbox 描述期望位置。需要更细致地安排保留内容时,可以为其他元素添加条目。本地参考 CLI 的独立 boxes.json 使用 0 到 1 的坐标;不要把 API 的 0 到 1000 数值直接粘贴进去。托管编辑语法、本地框格式
不要把框当作框外内容必定不变的保证。原始检查点文档提醒,编辑可能影响其他区域,元素也可能超出边界框。BFL 的托管编辑流程还包含像素恢复行为;不能悄悄把这项服务功能说成所有本地工作流都有。检查你实际使用的实现。检查点限制
用于印刷或客户项目时,把新旧图像叠加到编辑器里比较。如果物体成功移动,但包装文字也变了,那么构图任务成功了,素材保真任务却失败了。把两者分开判断,迭代时就不会那么挫败。
API 请求只是任务的开始,不是最终文件
开发者可以向文档所述端点提交图像请求。在 macOS 或 Linux 终端中,将 BFL_API_KEY 安全地设为环境变量,再运行下面的简例。这可能产生服务费用;不要把密钥放在公开仓库或浏览器代码包中。
curl --fail-with-body --request POST \
--url https://api.bfl.ai/v1/flux-3-image-klein \
--header "x-key: $BFL_API_KEY" \
--header "Content-Type: application/json" \
--data '{"prompt":"A simple studio photograph of a plain ceramic mug on a pale green surface","aspect_ratio":"16:9","output_format":"png"}' \
--output bfl-job.json
Windows PowerShell 可使用相同端点和原生 JSON 序列化方式:
$body = @{
prompt = "A simple studio photograph of a plain ceramic mug on a pale green surface"
aspect_ratio = "16:9"
output_format = "png"
} | ConvertTo-Json
$job = Invoke-RestMethod -Method Post `
-Uri "https://api.bfl.ai/v1/flux-3-image-klein" `
-Headers @{ "x-key" = $env:BFL_API_KEY } `
-ContentType "application/json" -Body $body
$job | ConvertTo-Json -Depth 10 | Set-Content -Encoding utf8 bfl-job.json
上面两种提交方式任选一种。两者都会把已接受的任务保存到 bfl-job.json,都不会下载结果。在同一文件夹里将下面这个标准库 Python 脚本保存为 poll_result.py。确保运行进程能读取 BFL_API_KEY,然后在 Windows 运行 python poll_result.py,在 macOS/Linux 运行 python3 poll_result.py。脚本会轮询已有任务并保存 result.png,不会再次提交生成请求。
import json
import os
from pathlib import Path
import time
from urllib.parse import urlparse
from urllib.request import Request, urlopen
job = json.loads(Path("bfl-job.json").read_text(encoding="utf-8-sig"))
polling_url = job["polling_url"]
parsed = urlparse(polling_url)
if parsed.scheme != "https" or not (parsed.hostname or "").endswith(".bfl.ai"):
raise ValueError("Unexpected polling host; inspect the saved job")
headers = {"x-key": os.environ["BFL_API_KEY"]}
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
with urlopen(Request(polling_url, headers=headers), timeout=60) as reply:
result = json.load(reply)
status = result["status"]
print(job["id"], status)
if status == "Ready":
sample = result["result"]["sample"]
if urlparse(sample).scheme != "https":
raise ValueError("Unexpected result URL")
with urlopen(sample, timeout=120) as image:
Path("result.png").write_bytes(image.read())
print("Saved result.png; inspect it before accepting the asset")
break
if status not in {"Pending", "Reasoning", "Generating"}:
raise RuntimeError(f"Job stopped: {status}; keep bfl-job.json")
time.sleep(1.5)
else:
raise TimeoutError("Keep bfl-job.json and resume polling this job later")
结果 API区分运行中、就绪、审核拦截和错误等状态。如果网络异常打断脚本,保留任务文件并重新运行轮询脚本,不要重新提交生成请求。提交响应状态不确定时,先检查情况再尝试;丢失响应并不代表服务拒绝了收费任务。请求参数
实用的应用会保留三类记录:源素材、生成任务和已接受的输出。即使用户拒绝某次修改,也应该能找回原图。这种设计比隐藏所有中间步骤、只吐出一张来历不明的新 JPEG 的按钮更有价值。
本地安装要按完整内存预算来规划
Klein 的 5.6B 指图像 Transformer,并不代表工作流只需要这一项。文本编码器、图像自编码器、提示词扩写器、激活值和参考图 token 也会占用资源。参考 CLI、演示程序和 Python API 默认启用扩写器;除非你提供了已处理好的扩写式描述,BFL 明确建议保持启用。因此,权重文件大小不能可靠地代表总显存需求。这和评估大型本地语言模型时要区分的情况相同。参考实现
BFL 宣传了面向消费级 GPU 的优化路径,包括适用于 8GB 显卡的 INT8 配置。参考代码模型卡则报告了其他配置下显著更高的峰值。这些说法对应不同配方;没有任何一个是适用于所有界面、分辨率和参考图数量的通用最低要求。记录显存数据时,也要一并记录运行时、精度、图像尺寸和卸载策略。发布时的硬件示例、参考代码硬件详情
原创资源清单,不是基准测试。组件大小和运行时峰值取决于具体配方。
在装有兼容 NVIDIA GPU 的 Windows 电脑上,可以先试当前的 ComfyUI 集成或 BFL 推荐的运行时。确认加载的是准确的 FLUX 3 工作流,不要因为名称相似就套用 FLUX 2 模板。成功下载模型并不能证明自定义节点、量化内核和文本编码器彼此兼容。
在 Linux 上,参考仓库和 Diffusers 集成指南提供面向开发者的路径。下面的参考安装流程对应文档中的 CUDA 13 配方,发布者在 B200 上测试过;它不是给 8GB 显卡准备的。Windows 用户需要兼容的 Linux/WSL 环境才能运行这些 Bash 命令。先确认驱动兼容性和完整内存预算。
- 安装 Git 和 Python 3.12,然后创建隔离环境:
git clone https://github.com/black-forest-labs/flux-3-image-klein.git
cd flux-3-image-klein
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -e . --extra-index-url https://download.pytorch.org/whl/cu130
- 在你自己的 Hugging Face 账户中接受检查点条款,用
hf auth login完成身份验证,然后下载文档指定的蒸馏版套件。参考 README 为这个模型、扩写器和安全分类器预留约 52GB 磁盘空间;磁盘空间不等于显存。
hf download black-forest-labs/flux-3-image-klein --local-dir weights/flux-3-image-klein --exclude 'variants/*'
hf download black-forest-labs/flux-3-image-klein-pup --local-dir weights/pup
hf download Falconsai/nsfw_image_detection --local-dir weights/nsfw-classifier
- 保持提示词扩写启用,运行一次生成,然后检查
out.png和随附的设置 JSON:
python scripts/cli.py "A plain ceramic mug on a pale green studio surface" --model distilled --out out.png --seed 7
- 如需在本机启动浏览器界面,运行
python scripts/app.py,打开http://127.0.0.1:7860,选择 Edit,附上自己的源图并输入一项修改要求。绘制框的 Layout 是另一个独立标签页。将应用限制在本机回环地址;含私人素材时不要启用公开分享选项。参考安装和演示
只有在基线流程已经跑通后,才加入量化或 CPU 卸载。8GB GPU 用户应遵循单独的 ComfyUI 文件和说明,不要套用完整参考代码的内存假设。
在 Mac 上,浏览器和 API 仍然是简单直接的选项。不要把 CUDA 安装命令或 NVIDIA 速度数据套用到 Apple Silicon 上。本地运行需要兼容 Metal/MPS 的实现,以及足够容纳所有组件的统一内存;库里出现一个使用 mps 的通用示例,并不能证明每一种量化路径都可用。Intel Mac 是另一类硬件,不是 Apple Silicon 的别称。
提示词写得更长,只有在消除歧义时才有帮助
参考实现会先把简短指令扩写为完整场景描述,再生成图像。这个提示词扩写是独立的语言模型步骤,在参考 CLI、演示程序和 Python API 中默认启用。当前参考 README 也链接了一个每次请求都会执行扩写的 Diffusers 流程。保留这一行为,不要把简短原始提示词当作等价输入。提示词准备
如果扩写器和图像模型无法同时装入内存,参考配方可以先运行扩写器,再把处理好的描述交给生成步骤。也可以用外部视觉语言模型根据公开的系统提示词准备描述。只有已经处理好的描述才适合配合 --no-pup;这个参数不是让未扩写的一行提示词白捡内存的优化。提示词扩写和托管服务的像素恢复是两项不同功能;保留其中一项,不代表另一个运行时也包含另一项。
加入专业语法之前,先用普通语言写清主体、背景、光线和预期改动。“做得专业一点”几乎没有确定任何细节。“保留杯子和把手,使用纯色背景,右侧留出三分之一空白”能减少系统需要协调的冲突目标。形容词变多不等于指令更好。
第二种用途是制作一组文章插图。固定配色和主体描述,只调整宽幅页眉与方形社交图片的构图。检查物体在不同格式中是否一致,不要假定某个宽高比成功后其他比例也会完美复现。
第三种用途是在内部比较包装样稿。使用虚构标签或已获批准的素材,并明确标注输出只是概念图。渲染图好看,不代表产品可制造、颜色还原准确,也不代表有权使用照片中人物的肖像。生成之后,生产设计审核仍然不可少。
估算一项成品的成本,而不只看一次成功请求
截至 10 月 15 日,发布公告列出的 API 起价为每张 1K 图像 0.009 美元。这个起步单位价并不保证适用于每种分辨率和工作流。估算活动成本前,查看当前的 BFL 价格、账户费用和请求规则。
预算时应统计每项被接受素材所需的尝试次数。如果一项任务修改了五轮,相关成本就是五次尝试,再加上审核和后期时间。本地运行会用硬件、电费、存储和维护取代部分服务费,但不会免去检查结果的成本。
开放权重也不代表商业使用不受限制。FLUX Kommunity License区分非商业用途、符合条件的商业输出生成和其他商业活动。营收门槛、关联公司、模型再分发和训练用途都要分别核查。输入照片、商标或人物的权利也不由模型许可决定。
编辑不顺利时,先缩小故障范围
| 现象 | 首先检查 | 下一步建议 |
|---|---|---|
| 构图没有按要求变化 | 坐标顺序及互相冲突的场景描述 | 减少到一张参考图、一个区域 |
| 图像其他部分也变了 | 原始模型说明和托管服务的保真功能是否不同 | 叠图比较,必要时用基于遮罩的工具收尾 |
| 本地运行耗尽内存 | 所有已加载组件、分辨率和参考图数量 | 回到运行时文档所述的低内存配方 |
| 文字看着像真的,内容却不对 | 检查完整分辨率下的字样,而非缩略图 | 在常规编辑器里添加准确文字 |
| API 响应里暂时没有图像文件 | 任务状态和结果轮询 | 跟踪已有任务,不要立刻重复提交 |
开始第二个项目之前,先弄清这些问题
FLUX 3 Image Klein 能替代 Photoshop 吗?
它是一个可通过多种方式运行的生成与编辑模型,不是完整的图层式生产应用。它可以帮你制作或修改素材;选区工具、精准排版、色彩管理、版本管理和交付工作仍可能需要在编辑器中完成。
可以指望它准确生成韩文吗?
用实际交付尺寸测试真实文字。模型卡提醒,渲染文字可能不准确或变形。英文演示可读,不代表韩文排版可靠。条件允许时,把准确文案保留为可编辑文本。
本地推理是否意味着整个流程都离线?
只有你有意将整个流程设置为离线时才是。初始下载、远程提示词扩写、外部节点和遥测都可能产生网络流量。要检查完整工作流,而不只是图像 Transformer 所在的位置。
初学者应该选择哪个检查点?
先使用文档所述的蒸馏版生成路径。基础检查点主要面向适配和研究。确定一个已知可用任务后,再在相同输入上比较其他选择,不要同时更换模型、提示词和分辨率。
真正的突破,是得到可信的修改结果
我们的看法是,图像 AI 的价值在于更好地控制修改,而不是生成更多令人意外的图片。FLUX 3 Image Klein 值得关注,是因为参考图、布局描述和多种部署方式让这种控制更接近日常工作。接下来仍要把原图、预期修改和验收标准明确呈现出来。
从一张图和一次有意图的编辑开始。能稳定产出已获批准素材的工作流,胜过一个速度很快、却让你猜不透究竟改了哪里的模型。
来源与媒体
核对日期:2026 年 10 月 18 日。以上产品能力和性能数据来自链接中的发布方;本文没有声称进行本地基准测试或付费生成。三张图均为原创说明图。可查看 BFL 的官方输出图库和官方交互演示了解产品示例;本文没有转载这些第三方图片。
让实验成果便于复用
把源链接、提示词、设置和审核记录放在一起,而不只是保存最终图片。Telli.sh 可以帮助整理研究笔记;它不是图像生成集成。创建 Telli.sh 账户