外观
FLUX.2
FLUX.2 是 Black Forest Labs 在 Pixapi 上按分辨率计费的图片系列。选择 flux-2-pro、flux-2-max 或 flux-2-flex,再通过 resolution 传入 1MP、2MP、3MP 或 4MP。
API 形式
| 操作 | Endpoint | 模式 |
|---|---|---|
| 图片生成 | POST /v1/images/generations | 同步 |
| 图片生成任务 | POST /v1/async/images/generations | 异步 |
| 图片编辑 | POST /v1/images/edits | 同步 |
| 图片编辑任务 | POST /v1/async/images/edits | 异步 |
模型 id
| 模型 id | 适合 |
|---|---|
flux-2-pro | 平衡画质与积分成本的 FLUX.2 |
flux-2-max | 更高规格的 FLUX.2 输出 |
flux-2-flex | 灵活的 FLUX.2 分辨率档位 |
价格
| 模型 id | 1MP | 2MP | 3MP | 4MP |
|---|---|---|---|---|
flux-2-pro | 3 | 4 | 5 | 6 |
flux-2-max | 6 | 8 | 11 | 13 |
flux-2-flex | 4 | 8 | 12 | 16 |
如果省略 resolution,按 1MP 档计费。
请求字段
通用字段放在请求体一级,下面列出的模型专用参数放进 providerOptions。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | flux-2-pro, flux-2-max, flux-2-flex. 模型 ID,区分大小写。 |
prompt | string | 是 | 描述主体、构图、风格或需要修改的内容。Pixapi 最多保留前 2,000 字符;生成和编辑都要提供非空提示词。 |
n | integer | 否 | 默认 1,只支持整数 1。 |
size | string | 否 | 填写 宽x高 像素尺寸,例如 1024x1024。 |
image | string / string[] | 编辑时必填 | 公网 HTTP(S) 图片 URL 或 URL 数组;/images/edits 必填。 最多 8 张参考图;输出与参考图合计 ≤ 9 MP,输出 ≤ 4 MP。 Pixapi 当前最多接受 4 张参考图。 |
resolution | string | 否 | 1MP(Pixapi 默认)、2MP、3MP、4MP;1 MP = 1,048,576 像素,决定计费档位。 |
providerOptions | object | 否 | 模型专用选项,详见下表。 |
providerOptions
本表所有字段都写在 providerOptions 内,不要与 model 并列。
| 字段 | 类型 | 说明 |
|---|---|---|
nsfw_check | boolean | 是否审核提示词和图片,默认 false。 |
output_format | string | 输出图片格式:jpeg(默认)、png 或 webp。 |
seed | integer | 生成随机种子;省略时随机。 |
prompt_upsampling | boolean | 优化扩展提示词,默认 false。 |
safety_tolerance | integer | 0–5,默认 2;越大过滤越宽松。 |
steps | integer | 仅 Flex:1–50,默认 50,步数越多越耗时。 |
guidance | number | 仅 Flex:1.5–10,默认 5,越大越严格遵循提示词。 |
输入规则
输出尺寸用 size,档位用 resolution。
示例
bash
curl https://api.pixapi.ai/v1/images/generations \
-H "Authorization: Bearer $PIXAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"flux-2-pro","prompt":"暖灰背景上的简洁杂志风产品照片","n":1,"resolution":"2MP"}'py
import os
import requests
response = requests.post(
"https://api.pixapi.ai/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['PIXAPI_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "flux-2-pro",
"prompt": "暖灰背景上的简洁杂志风产品照片",
"n": 1,
"resolution": "2MP"
},
)
response.raise_for_status()
print(response.json())js
const response = await fetch('https://api.pixapi.ai/v1/images/generations', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.PIXAPI_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "flux-2-pro",
"prompt": "暖灰背景上的简洁杂志风产品照片",
"n": 1,
"resolution": "2MP"
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
console.log(await response.json());go
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := []byte(`{
"model": "flux-2-pro",
"prompt": "暖灰背景上的简洁杂志风产品照片",
"n": 1,
"resolution": "2MP"
}`)
req, err := http.NewRequest(
"POST",
"https://api.pixapi.ai/v1/images/generations",
bytes.NewBuffer(body),
)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("PIXAPI_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
result, _ := io.ReadAll(resp.Body)
fmt.Println(string(result))
}编辑图片
json
{
"model": "flux-2-pro",
"prompt": "把背景替换为极简摄影棚",
"image": "https://example.com/input.png",
"n": 1
}异步请求与任务轮询请参阅异步媒体任务。
统一响应结构见 API 参考。
