跳转到主要内容
FLUX.2 的图片编辑和文生图使用同一个 JSON 接口:传入一张图片即可按提示词修改,最多传 8 张参考图可合成一张新图。按次计费,结果链接约 10 分钟后失效,需要立即下载。

选择模型

  • flux-2-pro:默认选择,适合大多数编辑和批量任务;
  • flux-2-flex:需要更细的控制,在质量与成本之间折中;
  • flux-2-max:编辑一致性和画质要求最高的最终素材。
三款模型的请求字段相同,切换时只改 model。 本页示例只适用于 FLUX.2,新的编辑任务请使用 FLUX.2。旧版 flux-kontext-pro、flux-kontext-max 的用法见 FLUX.2 图像生成中的旧版 Kontext 兼容。

调用前准备

在令牌管理新建 default 分组的令牌,计费模式选择「按量优先」(推荐)或「按次计费」:按量优先的令牌可以同时调用按量和按次计费的模型,按次计费的令牌只能调用按次计费的模型。 设置密钥并安装依赖:
cURL 示例把响应写入 JSON 文件,再用 Images API 参考中的保存脚本 save_images.py 保存图片(脚本依赖 pillow)。Python 示例在代码里直接保存。

编辑一张图片

编辑请求至少包含 model、prompt 和 input_image。输出尺寸二选一:
  • width 和 height;
  • size,如 1024x1024。
Python 示例保存为 flux_edit.py 后运行,图片参数可以是本地路径,也可以是公网 URL:
成功后当前目录会出现 flux-edit.png(cURL 示例保存为 flux-edit-1.png 等文件)。参考图已在公网时,把 input_image 的值直接换成图片 URL 即可,不必转成 data URL。

合成多张图片

多张参考图按字段编号传入:第 1 张放 input_image,其余依次放 input_image_2 到 input_image_8。提示词里用 image 1、image 2、image 3 指明每张图的用途,编号与字段顺序一致:
用 Python 脚本时,按顺序传入多张图片:
多图提示词的写法:
  • 用 image 1、image 2、image 3 指代参考图,顺序与字段编号一致;
  • 写清要保留的元素,例如颜色、物体、背景、贴纸或文字;
  • 说明要生成一张完整的新图,而不是简单拼接;
  • 写明不要什么,例如边框、多栏排版或文字标签。

请求参数

本页请求体都是 JSON,本地图片先转成 data URL 放进 input_image 字段。多张参考图只能用这种写法传;multipart 形式的 /v1/images/edits 只接收一张图片,文件字段名必须是 image。

保存结果

成功响应的 data[0].url 是结果图的下载地址,约 10 分钟后失效。FLUX 只返回图片 URL,不返回 b64_json,也不需要传 response_format。 收到响应后立即下载到本地或自己的存储;下载时不需要附带老张API密钥。链接失效后只能重新发起请求。

常见错误

常见问题

能只修改图片的一部分吗?

可以,但要靠提示词指定范围。请求没有蒙版(mask)字段,无法用遮罩精确圈定修改区域。在提示词里写明要改的对象和必须保持不变的部分,例如「只把杯子改成哑光黑色,构图、光线和背景保持不变」。

编辑比文生图贵吗?参考图多了会多收费吗?

都不会。FLUX.2 按次计费,编辑和文生图单价相同,一次请求计一次费用,与参考图数量(1–8 张)和输出尺寸无关。实际扣费以调用日志为准。

编辑和文生图用的是同一个模型吗?

是。flux-2-pro、flux-2-flex、flux-2-max 同时支持文生图和编辑,请求里有没有 input_image 决定是生成还是编辑。文生图的写法见 FLUX.2 API:图像生成。

能用 SDK 的 images.edit() 编辑吗?

只适合单图编辑。OpenAI SDK 的 images.edit() 用 multipart 表单把文件上传到 /v1/images/edits,只能传一张图,不能多图合成。 建议统一用 client.images.generate(),把 input_image(多图时再加 input_image_2 起的字段)放进 extra_body,值是公网 URL 或 data URL;也可以直接使用本页的 Python 脚本。

相关文档与来源