Paper Deep Reading · arXiv:2506.15742v2 · 2025

FLUX.1 Kontext

把目标图像 token、参考图像 token 与文本指令放进同一个 flow transformer,使单模型覆盖文本生成、局部编辑、风格参考、角色参考与连续多轮编辑。

Black Forest LabsRectified Flow12B [dev]KontextBench 1,026 对19 页 v2

论文身份与证据边界

v2 标题页把 Black Forest Labs 放在作者首位,并要求引用为 “Black Forest Labs (2025)”。其后列出 20 位个人作者;正文没有贡献声明、共同第一作者标记或通讯作者标记。

可确认信息

  • 标题:FLUX.1 Kontext: Flow Matching for In-Context Image Generation and Editing in Latent Space
  • arXiv:2506.15742v2,主分类 cs.GR,19 页
  • 集体作者:Black Forest Labs
  • 技术报告,不应写成 NeurIPS 2025 已接收论文

作者记录说明

标题页中的个人名单依次为 Stephen Batifol、Andreas Blattmann、Frederic Boesel、Saksham Consul、Cyril Diagne、Tim Dockhorn、Jack English、Zion English、Patrick Esser、Sumith Kulal、Kyle Lacey、Yam Levi、Cheng Li、Dominik Lorenz、Jonas Müller、Dustin Podell、Robin Rombach、Harry Saini、Axel Sauer、Luke Smith。

名单顺序没有被论文说明为字母顺序或贡献顺序。现有 Obsidian 将 Luke Smith 标成通讯候选,状态应保持 unverified。

Paper verified本文披露的是模型家族与评测。可下载权重对应 [dev],API 还包含 [pro] 与 [max];三个变体的训练方式和任务覆盖范围不同。

研究动机:把编辑变成视觉上下文学习

论文把图像处理需求拆成两类。局部编辑要求修改有限区域并尽量保持其余内容;生成式编辑要求从参考图像抽取人物、物体或风格,在新场景与新视角中重新生成。作者认为当时的方法仍受三项问题限制:合成编辑对会继承数据生成器的偏差,多轮操作会导致人物和物体身份漂移,自回归多模态系统的推理延迟妨碍交互使用。

关系数据

训练单位是 \( (x\mid y,c) \):目标图像、可选上下文图像和文本指令。模型学习图像之间由语言指定的关系。

统一网络

有上下文图像时执行编辑或参考生成;省略上下文 token 时保留文本生成能力。

连续编辑

上一轮输出可直接作为下一轮上下文,交互速度与身份保持共同决定实用性。

Figure 1 输入海鸥海鸥在酒吧两只海鸥背面视角电影院场景杂货店场景发布庆祝场景
Figure 1 · 连续角色生成。论文以逐轮生成的海鸥角色展示输出再次作为图像上下文。它证明了案例可行性;单个精选序列无法给出总体成功率。
Figure 2 输入照片移除脸部物体移动到 Freiburg雪景编辑
Figure 2 · 指令驱动的逐轮编辑。三次操作依次移除遮挡、改变地点、改变天气。作者强调人物、姿态、衣着和摄影风格的连续性。

问题定义:一个条件分布覆盖两种工作模式

\[p_{\theta}(x\mid y,c)\]
\(x\):目标图像;\(y\in\mathcal X\cup\{\varnothing\}\):可选参考图像;\(c\in\mathcal C\):自然语言指令。\(y\neq\varnothing\) 对应图像编辑与参考生成,\(y=\varnothing\) 对应文本生成。

图像先经冻结的 FLUX autoencoder 编码成 latent token。目标图像 latent 在训练时被加噪,上下文 latent 保持干净;文本 token 进入文本分支。输出是目标序列上的 velocity prediction,经过数值求解和 VAE 解码得到图像。

目标图像 \(x\)
VAE 编码
线性加噪
\(z_t\)
拼接上下文
\([z_t;y]\)
文本条件
Flow Transformer
ODE 采样
VAE 解码
Our interpretation这里的 “in-context” 表示推理时输入参考图像,并没有参数更新。它与语言模型 few-shot learning 的共同点是通过上下文指定任务;机制仍是条件生成。

FLUX.1 基础:高容量 latent flow transformer

Kontext 继承 FLUX.1 的 16 通道 VAE 和混合式 Transformer。double-stream block 对图像与文本保留独立权重,通过拼接后的 attention 进行信息交换;随后把两个序列合并,进入 38 个 single-stream block。输出阶段丢弃文本 token,只解码图像 token。

Figure 3 融合 DiT block
Figure 3 · fused DiT block。作者把 attention 的输入输出投影和 MLP 线性层合并,扩大矩阵乘法,并把 feed-forward modulation 参数减少一半。

位置编码

factorized 3D RoPE 为每个 latent token 分配 \((t,h,w)\)。单张目标图像使用 \(t=0\),空间坐标保留二维结构。Kontext 借用第一维作为参考图像的虚拟时间编号。

VAE

卷积 autoencoder 从头训练,包含 adversarial objective。论文给出 4,096 张 ImageNet、\(256\times256\) 重建结果。

Table 1 · VAE 重建质量(完整方法行)

模型PDist ↓SSIM ↑PSNR ↑
Flux-VAE0.332 ± 0.0030.896 ± 0.00431.1 ± 0.08
SD3-VAE0.452 ± 0.0040.858 ± 0.00529.6 ± 0.07
SD3-TAE0.746 ± 0.0040.774 ± 0.01427.9 ± 0.06
SDXL-VAE0.890 ± 0.0050.748 ± 0.00625.9 ± 0.07
SD-VAE0.949 ± 0.0050.720 ± 0.00425.0 ± 0.07
原文内部冲突:Table 1 caption 把 “±” 说明为 mean ± standard error;Appendix B 同一组数值写成 4,096 个输入上的 mean 与 standard deviation。二者无法同时成立。标准误约等于标准差除以 \(\sqrt{4096}=64\),会显著改变不确定性解释;论文没有提供逐样本数据以判定正确口径。

Kontext 方法:沿序列维拼接,利用虚拟时间区分图像

Figure 4 FLUX.1 Kontext 架构
Figure 4 · 高层架构。目标 noisy latent、上下文 clean latent 和文本指令共同进入模型;velocity prediction 只用于目标 token。

设目标 latent token 序列为 \(x\),第 \(i\) 张上下文序列为 \(y_i\)。论文把上下文 token 追加到目标 token 后面:

\[s_{\mathrm{img}}=[x;y_1;\ldots;y_N]\]

目标与上下文可以拥有不同分辨率和宽高比,因为它们在序列维连接。论文称早期实验中 channel-wise concatenation 表现较差;没有提供量化消融、数据规模或差值,因此这条结论属于作者报告。

\[\mathbf u_x=(0,h,w),\qquad \mathbf u_{y_i}=(i,h,w),\quad i=1,\ldots,N\]
3D RoPE 的第一维充当图像编号。空间坐标 \((h,w)\) 在各自图像内部保持连续。目标和参考块因不同的第一维而可区分。

支持的结构

  • 不同输入与输出尺寸
  • 不同宽高比
  • 形式上可扩展到多参考图像
  • 省略 \(y\) 后保持文本生成接口

实际训练范围

  • 论文实验聚焦单张上下文图像
  • [dev] 后期只训练 image-to-image
  • 多图输入属于架构能力和未来方向
  • 未报告 sequence length 上限与显存增长曲线

Rectified Flow 数学:速度场学习从数据到噪声的直线路径

前向路径

\[z_t=a_t x_0+b_t\varepsilon,\qquad x_0\sim p_{\mathrm{data}},\quad \varepsilon\sim\mathcal N(0,I)\]

\(a_t,b_t\) 控制信号与噪声的混合。rectified flow 取 \(a_t=1-t\)、\(b_t=t\),得到 \(z_t=(1-t)x_0+t\varepsilon\)。沿 \(t\) 求导后,条件路径的速度是 \(\dot z_t=\varepsilon-x_0\)。边界为 \(z_0=x_0\) 与 \(z_1=\varepsilon\):训练的正向参数化从数据走向噪声。

通用 conditional flow matching 目标

\[\lambda_t=\log\frac{a_t^2}{b_t^2}\] \[\mathcal L_{\mathrm{CFM}}=\mathbb E\left[\left\lVert v_{\Theta}(z_t,t)-\left(\frac{a_t'}{a_t}z_t-\frac{b_t}{2}\lambda_t'\varepsilon\right)\right\rVert_2^2\right]\]
\(v_{\Theta}\) 是参数为 \(\Theta\) 的 velocity network;\(a_t'=\mathrm d a_t/\mathrm dt\)、\(b_t'=\mathrm d b_t/\mathrm dt\),而 \(\lambda_t'\) 是 log-SNR 的导数。括号内是给定 \((x_0,\varepsilon)\) 路径的条件速度。对条件路径取平方误差,最优回归函数等于给定 \(z_t,t\) 时条件速度的均值,也就是生成所需的 marginal velocity field。

Kontext 条件目标

\[\mathcal L_{\theta}=\mathbb E_{t\sim p(t),x,y,c}\left[\left\lVert v_{\theta}(z_t,t,y,c)-(\varepsilon-x)\right\rVert_2^2\right]\]

代入 \(a_t=1-t\)、\(b_t=t\) 后,通用条件速度化为 \(\varepsilon-x\)。上下文 \(y\) 与指令 \(c\) 进入速度网络,参考 latent 在每个时间点始终保持干净,监督只作用于目标 latent。平方误差回归使 \(v_{\theta}\) 学到给定 \(y,c\) 时的条件 marginal velocity。

推理方向

\[\frac{\mathrm dz_t}{\mathrm dt}=v_{\theta}(z_t,t,y,c),\qquad z_1\sim\mathcal N(0,I)\] \[z_{t-\Delta t}\approx z_t-\Delta t\,v_{\theta}(z_t,t,y,c),\qquad \Delta t\gt 0\]

采样从 \(t=1\) 的 Gaussian latent 出发,沿时间反向积分到 \(t=0\)。Euler 写法中的负号来自时间从 \(t\) 减少到 \(t-\Delta t\)。每一步都把当前 noisy target token、固定的 clean context token 和文本 token 输入模型;结束后仅保留目标 token,并由 VAE 解码成输出图像。

logit-normal timestep 采样与分辨率位移

\[p(t;\mu,\sigma)=\frac{\exp\left(-\frac{(\operatorname{logit}(t)-\mu)^2}{2\sigma^2}\right)}{\sigma\sqrt{2\pi}(1-t)t}\] \[t'=\frac{e^{\mu}}{e^{\mu}+(1/t-1)^{\sigma}}\] \[\sigma=1,\ \mu=\log\alpha\quad\Longrightarrow\quad t'=\frac{\alpha t}{1+(\alpha-1)t}\]

可先从 \(U\sim\mathcal N(0,1)\) 取 base timestep \(t=\operatorname{sigmoid}(U)\),再用上式得到具有位置参数 \(\mu\) 与尺度参数 \(\sigma\) 的 \(t'\)。当 \(t\rightarrow0\) 时 \(t'\rightarrow0\),当 \(t\rightarrow1\) 时 \(t'\rightarrow1\),所以位移保留两端边界。论文训练取 \(\sigma=1\),并随分辨率改变 \(\mu\);示例 \(\alpha=3\) 对应 \(\mu=\log 3\approx1.0986\)。Kontext 实际每种分辨率的 \(\mu\) 配置没有公开。

训练、蒸馏与系统配置

训练从 FLUX.1 text-to-image checkpoint 开始,收集并筛选数百万 relational pairs。论文没有披露数据来源比例、筛选阈值、合成与真实样本比例、训练总步数、optimizer、learning rate、batch size、weight decay、GPU 数量和训练时长。

变体训练路线公开任务范围规模/可用性
Kontext [pro]联合 I2I + T2I flow objective,随后 LADD文本生成与图像编辑API;参数量未披露
Kontext [max]论文只写 “uses more compute”文本生成与图像编辑API;训练细节与参数量未披露
Kontext [dev]guidance distillation 到 12B DiT;为编辑性能只进行 I2I 后期训练官方模型卡定位为文本指令图像编辑开放权重,FLUX.1 dev 非商业许可证

两类蒸馏

LADD 以 latent adversarial training 缩短 [pro] 的采样,同时抑制常规 guidance 可能造成的过饱和。论文称普通 flow model 常需 50–250 次 guided network evaluation;没有披露 [pro] 的最终 step 数。[dev] 使用 guidance distillation,使单个模型在输入 guidance scale 时近似 classifier-free guidance。

分布式训练系统

  • FSDP2:all-gather 使用 bfloat16,gradient reduce-scatter 使用 float32。
  • selective activation checkpointing 降低峰值显存。
  • Flash Attention 3 与 Transformer block regional compilation 提升吞吐。
  • 安全训练包含 classifier-based filtering 与 adversarial training,目标覆盖 NCII 与 CSAM 风险。
Author claim“数百万关系对”和“训练配方”被论文作为效果来源,但没有数据构造消融。由公开证据无法区分架构、数据、蒸馏和训练算力各自贡献。

KontextBench:真实使用案例驱动的五类编辑评测

1,026唯一 image-prompt 对
108base images
5核心任务类别
任务样本数占比需要保持的内容
Local instruction editing41640.55%未指定区域、整体身份
Global instruction editing26225.54%核心语义与指令一致性
Character reference19318.81%人物/物体身份
Text editing928.97%字体、布局、周边风格
Style reference636.14%风格特征与新内容控制
合计1,026100%来自 personal photos、CC art、public domain 与 AI-generated content

评测数据来自 crowd-sourced real-world use cases。论文计划公开 benchmark、Kontext 样本和 baseline 样本;报告本身没有提供下载地址、prompt 列表、annotator 数量、每对比较票数、配对方案和 Elo 拟合细节。

评测可复现性限制:Figure 8 / 9 展示 Elo 图和误差线,论文没有发布图表原始数值表。下方保留原始图,文字只陈述正文明确写出的排名关系。

结果:速度优势明确,质量结论依赖未公开的人评协议

Figure 7 · 1024 × 1024 中位推理延迟

Figure 7a 文本生成延迟Figure 7b 图像编辑延迟
原论文的 T2I 与 I2I 延迟图。正文给出 Kontext 生成 1024 × 1024 图像约 3–5 秒,并称相较部分系统快至一个数量级。硬件、服务负载、API 网络开销与重复次数未完整披露,跨服务延迟比较仍有环境混杂。

Figure 8 · KontextBench image-to-image

文本编辑 Elo局部编辑 Elo风格参考 Elo全局编辑 Elo角色参考 EloAuraFace 相似度
六个原始 panel。正文结论:Kontext [max]/[pro] 在 local、text editing 与一般 CREF 处于最佳;AuraFace 量化结果也由 Kontext 领先;global editing 仅次于 gpt-image-1,SREF 仅次于 Gen-4 References。论文图没有配套机器可读数据,页面不转录肉眼估计值。

Figure 9 · Text-to-image 多维人评

Internal T2I 美学Internal T2I prompt followingInternal T2I typographyInternal T2I realismGenAI 美学GenAI prompt following
Internal-T2I-Bench 含 1,000 个 prompt,来自 DrawBench、PartiPrompts 与真实用户请求;另补 GenAI-Bench。论文称 Kontext 比 FLUX1.1 [pro] 各维度均有提升,且 [max] 高于 [pro];Recraft 偏强于美学而弱于 prompt adherence,GPT-Image-1 呈相反模式。
Figure 14 文本生成样例
Figure 14 · T2I 精选样例。作者用 “bakeyness” 指代过饱和、居中主体、强散景与同质化风格。该概念帮助拆分评测维度,但论文没有提供可计算指标。
Paper verifiedVAE 表格、KontextBench 类别规模、Figure 8/9 相对排名、单个 AuraFace 多轮案例与图示延迟均出现在 v2 报告。
Author claim“state of the art”“setting new standards”来自作者控制的人评与内部 benchmark;没有外部复现实验。
Evidence gap缺少 Elo 原始票数、统计协议、KontextBench 下载、服务端硬件与 API 配置,无法独立重算主结果。

多轮一致性:一个精确轨迹与三个模型的案例比较

Figure 12 对同一初始图像执行相同指令序列,并用 AuraFace embedding cosine similarity 追踪身份。最后一步加入太阳镜,会遮挡脸部,因此作者预期相似度下降。

模型Step 0Step 1Step 2Step 3Step 4Step 5论文图例平均
FLUX.1 Kontext Pro1.00000.99380.98500.93280.88570.74270.908
Runway Gen-41.00000.95610.89920.77010.74760.49860.774
GPT-4o High / gpt-image-11.00000.71090.47200.28190.32490.29150.416
Kontext 多轮编辑GPT 图像多轮编辑Gen-4 多轮编辑AuraFace 分数图
Figure 12 · 多轮身份保持。数值来自论文 TeX 中的绘图坐标。该实验只覆盖一个起始人物与一条五步轨迹,能说明此案例,无法估计总体多轮成功率。

视觉提示与文字编辑

框选帽子位置输入按框添加帽子蒙特利尔文字输入替换为 FreiburgSYNC AND BLOOM 输入替换为 FLUX AND JOY
Figure 13 · visual cue 与文字编辑。模型能把图像中的矩形标记解释成编辑位置,也能在保持周边样式时替换文字。报告没有提供这一能力的专项成功率。

Paper vs. implementation:Diffusers 如何实现序列拼接

官方 Hugging Face 模型卡把 [dev] 标为 12B、BF16、guidance-distilled rectified flow transformer,并推荐 FluxKontextPipeline。以下源码核查固定在 Diffusers commit fef717ffb01f407d2637584ed936c16db908587a。

论文概念Diffusers 行为含义
目标 \(t=0\)latent_ids 第一列默认 0目标 token 使用虚拟时间 0
上下文 \(t=1\)image_ids[..., 0] = 1单张参考图使用虚拟时间 1
sequence concatenationtorch.cat([latents, image_latents], dim=1)沿 token 序列维连接
只预测目标noise_pred = noise_pred[:, : latents.size(1)]丢弃参考 token 对应输出
推荐分辨率输入按宽高比选最近的预设分辨率并裁到倍数实现约束来自推理管线
latent_model_input = latents
if image_latents is not None:
    latent_model_input = torch.cat([latents, image_latents], dim=1)

image_ids[..., 0] = 1
noise_pred = transformer(hidden_states=latent_model_input, ...)
noise_pred = noise_pred[:, : latents.size(1)]

公开推理默认值的版本边界

当前 Diffusers main 中 num_inference_steps=28、guidance_scale=3.5;模型卡示例显式使用 guidance scale 2.5。它们是软件与模型卡的当前默认/示例设置,论文没有把这些数值声明为 Figure 8/12 的评测配置。模型仓库文件受 gated access 保护,本次无法匿名读取 transformer/config.json,因此不把配置差异写成已验证事实。

Code verified代码证明了现有 note 对 token 拼接与 time-offset 的分析。把 image_ids 改成目标坐标是否会形成 pixel-aligned control 属于合理推演,论文和官方实现没有对此做消融。

局限、失败模式与复现清单

失败案例输入人物较好编辑身份退化咖啡输入错误增加奶泡多轮输入六轮后伪影
Figure 15 · 失败案例。包含细微 prompt 变化引起身份损失、移动杯子却改变内容,以及六轮后出现伪影。论文另承认 instruction following 偶尔失败,distillation 可能降低保真度。

论文已披露

  • 训练从 FLUX.1 checkpoint 开始
  • 数百万 \( (x\mid y,c) \) 关系对
  • flow objective、LADD、guidance distillation
  • FSDP2 混合精度与系统优化
  • KontextBench 类别及样本数

复现仍需

  • 数据来源、许可、去重与过滤规则
  • optimizer、learning rate、batch、step、GPU
  • LADD discriminator、loss 权重与采样 step
  • 人评指令、annotator 与 Elo 计算
  • 各 baseline API 版本、seed、重试和选择规则

KontextBench 的 crowd-sourced 来源提高任务贴近真实使用的可能性,同时引入抽样偏差。108 张 base image 产生 1,026 对,同一 base image 上的多条样本会相关;报告没有说明统计时是否按 base image 聚类。

Reviewer Commentary

Strengths

  • 序列拼接与虚拟时间编码非常简洁
  • 不同宽高比和分辨率自然兼容
  • 统一 T2I/I2I,接口清晰
  • 开放 12B [dev] 权重与参考实现
  • 把多轮漂移和延迟纳入评测

Weaknesses

  • 主 benchmark 与原始投票未公开
  • 缺少核心架构和数据消融
  • 训练超参数严重不足
  • Figure 12 只是一条轨迹
  • Table 1 的 SE/SD 描述冲突

Potential Improvements

  • 按 base image 分层 bootstrap
  • 报告每类 prompt 和模型失败率
  • 比较 sequence/channel/cross-attention
  • 测量上下文数量与 token 长度曲线
  • 把多轮一致性拆成人脸、服装、背景和文本指标

证据是否支撑核心主张

页面中的原图与报告正文支持 “Kontext 在作者评测上质量有竞争力且延迟较低”。公开材料还不足以支撑跨服务的普遍速度优势,也不足以把多轮一致性优势推广到各类人物、物体与长轨迹。方法贡献的价值更多来自极简结构与强训练系统的结合;具体效果归因仍未分解。

面向程序化材质生成的研究延伸

Research extension以下内容是基于论文结构推导的研究设想,论文没有在材质图、shader graph 或可执行程序上验证。

图像上下文 → 材质程序

把参考材质渲染 token 追加到待生成的 graph token 或 node preview token,使模型同时看到视觉参考与当前执行状态。虚拟时间维可改成 reference slot。

多轮编辑 → 图结构修复

上一轮 material graph、renderer preview 和文本反馈组成下一轮上下文。需要显式约束拓扑合法性与节点参数范围,避免视觉改善伴随程序损坏。

执行反馈

将 renderer 的多视角图像、法线、roughness 与失败日志作为不同 context block,利用 slot offset 区分来源。

测试时搜索

从多个 graph edit proposal 中执行渲染,用 perceptual、结构复杂度与可编辑性 reward 选择,再把失败轨迹压缩进下一轮上下文。

关键实验应比较:共享空间坐标与分离 slot 坐标、sequence concatenation 与 cross-attention、单一预览与多视角预览、直接图生成与执行后修复。评价同时覆盖视觉相似度、graph validity、节点数、运行时、参数可控性与多轮退化。

资料来源

  1. Black Forest Labs et al., FLUX.1 Kontext, arXiv:2506.15742v2 — 论文正文、附录、TeX source、Figure 与 Table。
  2. Black Forest Labs 官方发布文章 — 模型家族定位、产品能力与官方评测说明。
  3. FLUX.1 Kontext [dev] 官方模型卡 — 12B、BF16、许可证、推理示例与安全说明。
  4. Diffusers FluxKontextPipeline 固定提交源码 — latent 拼接、image ids、推荐分辨率与核查时推理默认值。
  5. Esser et al., Scaling Rectified Flow Transformers for High-Resolution Image Synthesis — FLUX.1 架构与 timestep shift 背景。
  6. Lipman et al., Flow Matching for Generative Modeling — conditional flow matching 基础。

核查日期:2026-09-29。Figure 8/9 的图表原图来自 arXiv v2 source;数值未通过视觉估计转录。页面中的实现观察对应核查时 Diffusers main。