跳转到主要内容
POST
/
v1
/
images
/
generations
文生图:根据文本描述生成图片
curl --request POST \
  --url https://api.apiyi.com/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "flux-2-pro",
  "prompt": "A cinematic shot of a futuristic city at sunset, 85mm lens",
  "size": "1920x1080",
  "output_format": "jpeg",
  "safety_tolerance": 2
}
'
{
  "created": 1776832476,
  "data": [
    {
      "url": "https://delivery-eu.bfl.ai/results/xxx/sample.jpeg?signature=..."
    }
  ]
}
右侧的交互式 Playground 支持直接在线调试。请在 Authorization 中填入你的 API Key(格式:Bearer sk-xxx),输入 prompt、选择模型与尺寸后一键发送即可。
场景说明:本页用于「文本生成图片」,仅需输入提示词,无需上传任何图片。如需根据现有图片做编辑、多图融合,请使用 图片编辑接口
⚠️ 关键差异 / 不支持的参数
  • 结果 URL 仅 10 分钟有效data[0].url 必须立即下载,过期返回 404
  • width / height 必须是 16 的倍数 — 不满足会 400 报错
  • prompt_upsampling FLUX.2 [klein] 不支持 — 传入会被忽略
  • 总像素上限 4MP(约 2048×2048)— 超过会 400 报错
  • grounding searchflux-2-max — 其它模型 prompt 含实时知识也不会触发

代码示例

Python(OpenAI SDK 直连)

from openai import OpenAI
import requests

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.apiyi.com/v1"
)

resp = client.images.generate(
    model="flux-2-pro",
    prompt="A cinematic shot of a futuristic city at sunset, 85mm lens, hyper-realistic",
    size="1920x1080"
)

# data[0].url 仅 10 分钟有效,立即下载
image_url = resp.data[0].url
with open("out.jpg", "wb") as f:
    f.write(requests.get(image_url, timeout=30).content)

Python(原生 requests · 含 width/height 写法)

import requests

API_KEY = "sk-your-api-key"

response = requests.post(
    "https://api.apiyi.com/v1/images/generations",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "model": "flux-2-max",
        "prompt": "Score of yesterday's Champions League final, infographic style",
        "width": 1920,
        "height": 1080,
        "safety_tolerance": 2,
        "output_format": "jpeg",
        "seed": 42
    },
    timeout=120
).json()

image_url = response["data"][0]["url"]
with open("out.jpg", "wb") as f:
    f.write(requests.get(image_url, timeout=30).content)

cURL

curl -X POST "https://api.apiyi.com/v1/images/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2-pro",
    "prompt": "Luxury eyeshadow palette with 6 pans: top row #B76E79, #E8D5B7, #8B4789; bottom row #CD7F32, #F8F6F0, #800020",
    "size": "1024x1024",
    "output_format": "png"
  }'

Node.js(原生 fetch)

import fs from 'node:fs';

const resp = await fetch('https://api.apiyi.com/v1/images/generations', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer sk-your-api-key'
    },
    body: JSON.stringify({
        model: 'flux-2-klein-9b',
        prompt: 'A serene mountain landscape at golden hour, soft diffused light',
        width: 1024,
        height: 1024
    })
});

const { data } = await resp.json();
// 立即下载 - URL 10 分钟过期
const img = await fetch(data[0].url);
fs.writeFileSync('out.jpg', Buffer.from(await img.arrayBuffer()));

浏览器 JavaScript(直接渲染)

{/* 仅作演示,生产请走后端代理避免 Key 泄露;URL 不开 CORS,需要后端代下载 */}
const resp = await fetch('https://api.apiyi.com/v1/images/generations', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer sk-your-api-key'
    },
    body: JSON.stringify({
        model: 'flux-2-pro',
        prompt: 'Watercolor aurora borealis over Nordic mountains',
        size: '1536x1024'
    })
});

const { data } = await resp.json();
{/* delivery URL 不开 CORS,浏览器直接 <img src> 渲染可行(不走 fetch 即可),但建议后端代下载到自有 CDN */}
document.getElementById('img').src = data[0].url;

参数说明速查

参数类型必填默认说明
modelstringFLUX 模型 ID,见下表
promptstring提示词,最长 32K tokens,支持中英文与结构化 JSON
sizestring1024x1024OpenAI 风格尺寸字符串,如 1920x1080
widthinteger1024BFL 原生写法,与 size 二选一,必须 16 倍数
heightinteger1024BFL 原生写法,必须 16 倍数
seedinteger随机固定可复现
safety_toleranceinteger20(最严)– 6(最宽松)
output_formatstringjpegjpeg / png
prompt_upsamplingbooleanfalse自动扩写 prompt([klein] 不支持)
stepsinteger50flux-2-flex,最大 50
guidancenumber4.5flux-2-flex,1.5–10
ninteger1仅支持 1

支持的模型 ID

模型 ID速度适用
flux-2-max< 15s旗舰画质 + 联网搜索
flux-2-pro< 10s生产规模、最佳性价比
flux-2-flex较慢文字渲染特化
flux-2-klein-9bsub-second平衡型
flux-2-klein-4bsub-second最快
flux-pro-1.1-ultra~10s老版 4MP(详见历史版本页)
flux-pro-1.1~5s老版 1.6MP
flux-pro~6s初代 pro
flux-dev~5s开发版
详细的参数约束、可选值、示例请查看右侧 Playground 中的字段说明,所有 enum 字段均支持下拉选择。

响应格式

{
    "created": 1776832476,
    "data": [
        {
            "url": "https://delivery-eu.bfl.ai/results/xxx/sample.jpeg?signature=..."
        }
    ]
}
⚠️ data[0].url 仅 10 分钟有效
  • URL 托管在 delivery-eu.bfl.ai / delivery-us.bfl.ai,签名 10 分钟过期
  • 不开启 CORS,浏览器 fetch 会被拦,但 <img src> 直显可行
  • 生产服务必须服务端代下载到自有 OSS / CDN,不要把原 URL 直接给客户端
与 OpenAI gpt-image-2(返回 b64_json 纯 base64)不同,FLUX 走 URL,不返回 base64
FLUX 不返回 usage 字段(按张计费而非按 token),实际扣费按本文档定价表执行。响应头 x-request-id 用于排查。

授权

Authorization
string
header
必填

在 API易控制台获取的 API Key

请求体

application/json
model
enum<string>
默认值:flux-2-pro
必填

FLUX 模型 ID。FLUX.2 推荐 flux-2-pro / flux-2-max;旧版见历史版本页

可用选项:
flux-2-max,
flux-2-pro,
flux-2-flex,
flux-2-klein-9b,
flux-2-klein-4b,
flux-pro-1.1-ultra,
flux-pro-1.1,
flux-pro,
flux-dev
prompt
string
必填

提示词,最长 32K tokens。支持自然语言、hex 色码、结构化 JSON

示例:

"A cinematic shot of a futuristic city at sunset, 85mm lens"

size
string
默认值:1024x1024

OpenAI 风格尺寸字符串,与 width/height 二选一。 常用:1024x1024 / 1536x1024 / 1024x1536 / 1920x1080 / 1440x2048 / 2048x2048。 自定义需满足:边长 16 倍数、64×64–4MP 之间。

示例:

"1920x1080"

width
integer
默认值:1024

BFL 原生写法,与 size 二选一。必须是 16 的倍数,64–2048 之间

必填范围: 64 <= x <= 2048
示例:

1920

height
integer
默认值:1024

BFL 原生写法,必须是 16 的倍数,64–2048 之间

必填范围: 64 <= x <= 2048
示例:

1080

seed
integer

固定可复现,传相同 seed + 相同其它参数得一致结果

示例:

42

safety_tolerance
integer
默认值:2

审核档位。0 最严格,6 最宽松,默认 2

必填范围: 0 <= x <= 6
output_format
enum<string>
默认值:jpeg

输出格式

可用选项:
jpeg,
png
prompt_upsampling
boolean
默认值:false

是否自动扩写 prompt。FLUX.2 [klein] 不支持,传入会被忽略

steps
integer
默认值:50

仅 flux-2-flex。推理步数,最大 50

必填范围: 1 <= x <= 50
guidance
number
默认值:4.5

仅 flux-2-flex。引导强度。1.5–10,越高越贴 prompt

必填范围: 1.5 <= x <= 10
n
enum<integer>
默认值:1

出图数量。本接口仅支持 1

可用选项:
1

响应

成功生成图片

created
integer

Unix 时间戳

示例:

1776832476

data
object[]

生成结果数组(本接口单次返回 1 张)