跳转到主要内容
FLUX.2 是 Black Forest Labs 的图像模型,老张API推荐默认使用 flux-2-pro。生成和编辑都调用同一个 JSON 接口,按次计费,结果链接约 10 分钟后失效。

选择模型

  • flux-2-pro:默认推荐,适合大多数文生图和编辑任务;
  • flux-2-flex:需要更细控制、在质量与成本之间折中的设计任务;
  • flux-2-max:质量优先的最终商业素材和复杂构图。
本页示例中的字段对三款模型通用,切换模型时只改 model。旧版 Kontext 模型的用法见下文「旧版 Kontext 兼容」。

准备令牌与环境

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

生成图片

不传 input_image 时是文生图。输出尺寸二选一:
  • size,如 1024x1024、1792x1024、1024x1792;
  • width 和 height,直接指定像素。

cURL

成功时 data[0].url 是图片地址,保存脚本会立即下载并按实际格式命名,例如 flux-generation-1.jpg。

Python

编辑图片

编辑同样调用 POST /v1/images/generations,只是在 JSON 中用 input_image 传入参考图,字段值可以是公网图片 URL 或 data URL。下面把本地 source.png 转成 data URL 后编辑:
参考图已在公网时,把 input_image 的值直接换成图片 URL 即可。多张参考图合成、Python 写法、多图提示词和常见错误,见 FLUX.2 图片编辑 API。

参数

一次请求返回一张图,按次计费。实际扣费可在调用日志中核对。

旧版 Kontext 兼容

flux-kontext-pro($0.035/次)和 flux-kontext-max($0.07/次)供已有集成继续使用,新接入请使用 FLUX.2。与 FLUX.2 相比:
  • Kontext 同样调用 /v1/images/generations;
  • 用 aspect_ratio 控制画幅,不使用 size、width 或 height;
  • 比例可在 3:7 到 7:3 之间选择,例如 1:1、16:9、9:16、21:9,输出总像素约为 100 万。
使用 OpenAI Python SDK 时,把 aspect_ratio 放进 extra_body。图片编辑请使用 FLUX.2,写法见 FLUX.2 图片编辑 API。

常见问题

需要像 BFL 官方 API 那样轮询结果吗?

不需要。BFL 官方 API 先返回任务 ID 和 polling_url,要轮询到 Ready 才能拿到图片;老张API在同一个请求里等生成完成,直接在响应的 data[0].url 返回结果。 因此客户端超时要留足,本页 Python 示例设为 240 秒。请求要经过反向代理或云函数时,它们的超时和执行时限也要一起调大,否则会在生成完成前断开。

为什么图片链接过一会儿就打不开了?

结果 URL 约 10 分钟后失效,BFL 官方的结果链接有效期同样是 10 分钟。 每个请求返回后立即在服务端下载,存到本地或自己的对象存储,再把自己的地址写进数据库或交给前端;批量任务不要等整批结束再统一下载。 链接失效后只能重新请求,重新请求会再计一次费用。

怎样复现同一张图?

使用相同的 seed,并保持模型、提示词和尺寸参数完全一致。

海报文字和品牌色怎样更准确?

画面里文字多时(海报标题、信息图、界面稿),优先试 flux-2-flex,BFL 将它定位为擅长文字渲染和保留小细节;需要最高画质和最强提示词遵循时用 flux-2-max。 品牌色可以直接在提示词里写十六进制色值,例如 the mug is #FF5A1F,FLUX.2 会按色值着色。描述较复杂时,也可以把主体、背景、光线、风格等写成 JSON 字符串,整体作为 prompt 传入。

请求失败会扣费吗?

不会。FLUX.2 按次计费,成功返回图片的请求计一次;上游返回非 200 的请求(参数错误、内容审核拦截等)不计费。 客户端超时不等于请求失败:服务端可能已经生成完成并扣费。重新提交前先到调用日志确认该请求的状态,避免重复扣费。实际扣费以调用日志为准。

能用 OpenAI SDK 调用吗?

可以用 client.images.generate():
  • 把 base_url 设为 https://api.laozhang.ai/v1;
  • model、prompt、size 直接传;
  • width、height、seed 等 FLUX 专有字段放进 extra_body。
结果同样在 response.data[0].url,拿到后立即下载。 编辑也建议用 client.images.generate(),把 input_image 放进 extra_body;client.images.edit() 只能传一张图,说明见 FLUX.2 图片编辑 API。

相关文档与来源