Flux 2 Max 图像生成 API 国内完整教程:通过 ofox 一键接入(2026)
TL;DR — Flux 2 Max 是 Black Forest Labs 目前画质最强的图像生成模型。通过 ofox.ai 的 OpenAI 兼容图像 API 可以在国内直接调,不用搞 BFL 那套异步轮询。curl、Python、Node.js 三种语言的可运行代码都给了,参数行为是实测出来的,不是抄文档。
什么是 Flux 2 Max?
Black Forest Labs 在 2025 年 11 月 25 日发布了 Flux.2 系列,四个子型号:Pro、Flex、Dev、开源的 Klein。相比 Flux.1,架构整个换了——从 12B rectified flow transformer 变成 24B latent flow matching 加 Mistral-3 视觉语言模型。实际效果上,照片级写实和文字排版是肉眼可见的提升,prompt 遵循度也比上代靠谱不少。API 端还加了多参考编辑,一次能塞 8 张参考图进去做风格迁移或局部替换。
Flux.2 系列四个梯队的定位:
| 模型 | 定位 | 起步价 | 适合场景 |
|---|---|---|---|
| Klein 4B/9B | 速度优先 | $0.014/张 | 批量生成、实时预览 |
| Pro | 生产主力 | $0.03/MP | 日常内容创作、产品图 |
| Flex | 品质+控制 | $0.06/MP | 精细调参、品牌素材 |
| Max | 最高画质 | $0.07/MP | 印刷级输出、海报、包装 |
Max 是其中唯一支持 “grounding search” 的模型——它可以主动搜索参考信息来补全模糊 prompt 中的细节,不需要你把每个像素都描述清楚。
为什么通过 ofox 接入?
BFL 原生 API 是异步轮询的:POST 拿 request_id → 轮询 polling_url → 状态变 “Ready” → 下载签名 URL。签名 URL 10 分钟就过期,做批量和自动化很难受。
ofox 把它包成了 OpenAI 兼容同步接口。发一个 POST,直接拿 base64,decode 存盘完事。GPT Image 2、Gemini Nano-Banana、Seedream 4.5 也走同一个端点,换 model 参数就行。
已经在用 ofox 跑 Claude、GPT 的话,不用额外申请 BFL key、单独充 credits。一个 key 全通,账单一处看。ofox 目前有 6 款图像模型在架,除了 Flux 2 Max 还有 Seedream 4.5、Nano-Banana、Z-Image、Wan 2.5、Qwen-Image-Turbo,场景不同直接切。
准备工作
三步就绪:
- 获取 API Key:登录 ofox.ai → 控制台 → API Keys → 新建 Key,拿到
sk-开头的字符串 - 确认模型可用:访问 ofox.ai/llms-full.txt 搜索 “Flux 2 Max”,确认当前在架
- 端点地址:
https://api.ofox.ai/v1/images/generations
不需要装任何 SDK——用系统自带的 curl 就能跑。Python 和 Node.js 的示例用官方 OpenAI SDK 即可,只需要把 base_url 指向 ofox。
代码示例
curl(零依赖)
curl -X POST 'https://api.ofox.ai/v1/images/generations' \
-H 'Authorization: Bearer YOUR_OFOX_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "black-forest-labs/flux-2-max",
"prompt": "一只橘猫坐在窗台上,窗外是雨中的上海陆家嘴天际线,柔和的自然光从左侧照入",
"size": "1024x1024",
"quality": "high",
"output_format": "png"
}' | jq -r '.data[0].b64_json' | base64 -d > flux_output.png
返回的 JSON 里 data[0].b64_json 就是图片的 base64,管道直接 decode 写入文件。
Python
import base64
from openai import OpenAI
client = OpenAI(
api_key="YOUR_OFOX_API_KEY",
base_url="https://api.ofox.ai/v1"
)
resp = client.images.generate(
model="black-forest-labs/flux-2-max",
prompt="一只橘猫坐在窗台上,窗外是雨中的上海陆家嘴天际线",
size="1024x1024",
quality="high",
output_format="png",
)
with open("flux_output.png", "wb") as f:
f.write(base64.b64decode(resp.data[0].b64_json))
Node.js
import OpenAI from 'openai';
import fs from 'node:fs';
const client = new OpenAI({
apiKey: 'YOUR_OFOX_API_KEY',
baseURL: 'https://api.ofox.ai/v1',
});
const resp = await client.images.generate({
model: 'black-forest-labs/flux-2-max',
prompt: '一只橘猫坐在窗台上,窗外是雨中的上海陆家嘴天际线',
size: '1024x1024',
quality: 'high',
output_format: 'png',
});
fs.writeFileSync('flux_output.png', Buffer.from(resp.data[0].b64_json!, 'base64'));
以上三段代码都是可以直接复制运行的。注意 b64_json 字段带有叹号表示可能为 undefined(TypeScript),实际调用成功时一定有值。
参数详解
ofox 图像 API 支持的参数和实际行为:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型 ID。Flux 2 Max 用 black-forest-labs/flux-2-max |
prompt | string | 是 | 图片描述,支持中英文。建议 50-200 字,英文 prompt 效果略好 |
quality | string | 是 | low / medium / high / hd / standard / auto。影响生成时间和计费 |
size | string | 否 | 1024x1024、1536x1024、1024x1536、1792x1024、1024x1792 等,默认 auto |
output_format | string | 否 | png / jpeg / webp,默认 png |
n | number | 否 | 1-10,一次生成 N 张。默认 1。批量按单张价格 × N 计费 |
background | string | 否 | transparent / opaque / auto。需要透明背景时设 transparent |
几点实际经验:
quality对 Flux 2 Max 的影响:设low时生成速度最快、计费最低,画质在 web 展示场景基本够用;high和hd的差异在手机屏幕上不太明显,做印刷输出时才有意义size和计费:分辨率越大消耗的 MP(百万像素)越多。1024×1024 ≈ 1MP,1792×1024 ≈ 1.8MP。ofox 按实际消耗的 MP 阶梯计费n的注意点:如果你用n: 4且size: 1792x1024,一次请求生成 4 张 1.8MP 的图 = 7.2MP 总计,费用直接 ×4
定价对比
BFL 官方按 credit 计费,1 credit = $0.01。Flux 2 Max 起步 $0.07/张(1MP),每多 1MP 叠加。1024×1024 的 1MP 图就是 $0.07,1792×1024 约 1.8MP 的话 $0.07 + $0.07 × 0.8 ≈ $0.126。
通过 ofox 走,单价不一定比 BFL 低(实际以 API 返回为准),但有三件事省心:
- 统一结算——Flux、GPT Image、Claude 从同一个账户扣
- Pro Plan 旗舰模型 20% off,开源最高 70% off
- 免费模型和注册额度先试,不用上来就充
已经在用 ofox 跑文本模型的话,加 Flux 不增加任何运维负担——同一个 Key、同一个 base_url、同一套 SDK。
需要对比其他平台的话,可以参考我们之前写的 AI API 中转站对比指南 和 Nano-Banana 图像生成完全教程。
提示词技巧
BFL 的文档给 prompt 的建议就一条:用自然语言,别堆关键词。实测确实如此。
用自然语言写,而不是关键词列表
❌ "cat, window, rainy city, cinematic lighting, 8k, photorealistic"
✅ "一只橘猫坐在窗台上,窗外是雨中的上海陆家嘴天际线,柔和的自然光从左侧照入"
给足细节,别穷举
Flux 2 Max 的 grounding search 会自己补全模糊的地方。你说”雨中城市天际线”,灯色、雨量这些它自己填,不需要手把手列清单。
指定宽高比比写具体像素数更可靠
{ "prompt": "...", "size": "1792x1024" }
16:9 横构图适合 banner、封面;1:1 适合社交帖子;3:2 适合缩略图。
多参考图锁风格
比如你有一套品牌色板,传一张色调参考图,后面出的所有图色调自动对齐。API 最多塞 8 张参考,品牌物料够用了。
常见踩坑
踩坑 1:以为 Flux 2 Max 是秒出的
ofox 包了一层同步接口,但 BFL 底层生成还是得等。Max 画质一档 5-15 秒正常,hd 档 20 秒也常见。客户端 timeout 设 60 秒以上,别贪快。
踩坑 2:透明背景没那么好使
background: "transparent" 是尽力而为。logo、产品图这类简单主体还行,复杂场景大概率边缘残留。要精修透明通道,还是先生成带背景的图再用专门工具抠。
踩坑 3:中文 prompt 给英文模型用
Flux.2 的训练语料大头是英文。英文 prompt 控制细节(材质、光影、构图)比中文稳。折中办法:中文写场景框架,英文补细节描述。
如果调用过程中遇到报错,查我们整理的 AI API 报错排查完全指南 和 模型特定报错手册。Flux 2 Max 常见的只有两类:401(Key 没传或过期)和 400(参数不合法,通常 model ID 写错或 quality 不填)。
适用场景
Flux 2 Max 不是所有场景的最优解。它的长处和短处都很明确:
适合
- 电商产品图(高画质 + 文字排版能力)
- 品牌海报和印刷物料(输出分辨率支持 4MP)
- 需要精确文字渲染的场景(logo、标题、标签)
- 多参考图的风格一致性需求(8 张参考图,比竞品多)
不太适合
- 实时交互式生成(Klein 更快,或者用 Z-Image)
- 简单的图标和 logo 设计(Qwen-Image-Turbo 够用且更便宜)
- 批量低成本的 meme 和贴纸(Nano-Banana 性价比更高)
一句话:画质和可控性是 Flux 2 Max 的壁垒,速度和成本不是。选什么模型取决于你的场景,不是什么活都扔给 Max。
数据来源:Black Forest Labs 官方文档 (docs.bfl.ml);ofox.ai 模型列表 (ofox.ai/llms-full.txt) 和 API 文档 (ofox.ai/docs/api);Wikipedia - Black Forest Labs 条目。定价数据来自 BFL 官方定价页 (docs.bfl.ml/quick_start/pricing),ofox 侧价格以实际 API 返回为准。


