跳转到内容

OpenAI 兼容

图片生成(Images)

用 OpenAI Images 格式生成图片:地址、参数、响应和示例;以及 Gemini 图片模型该用哪个接口。

与 OpenAI 的 Create image 接口兼容。

POST https://noviahub.com/v1/images/generations

适用于端点标签里有图片的模型,例如 gpt-image-2(在模型&价格页面查看)。

请求头 必填 说明
Authorization 是 Bearer <你的 API 密钥>
Content-Type 是 application/json
参数 类型 必填 说明
model string 是 模型 ID,例如 gpt-image-2。不传时网关会按 dall-e 处理,NoviaHub 没有这个模型,于是返回 503。
prompt string 是 图片描述。网关本身不检查,但模型需要它。
n integer 否 生成几张,1 到 128;不传或传 0 按 1 张处理,超过 128 返回错误。
size string 否 尺寸,如 1024x1024。中间要用英文字母 x,不能用乘号 ×,否则返回错误。
quality string 否 画质,取值由模型决定。
response_format string 否 返回形式,如 b64_json 或 url,取决于模型是否支持。
background、output_format、output_compression、moderation、style、partial_images、input_fidelity — 否 按 OpenAI 规范原样转发,是否支持取决于模型。
stream boolean 否 流式返回(模型支持时)。
user — 否 用户标识,原样转发。

不在上表中的字段不会转发给上游。

终端窗口
curl https://noviahub.com/v1/images/generations \
-H "Authorization: Bearer $NOVIAHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只在窗台上晒太阳的橘猫,水彩风格",
"size": "1024x1024",
"n": 1
}'
字段 说明
created 创建时间(Unix 秒)。
data[] 生成的图片,每张一项。图片内容在 b64_json(Base64 编码)或 url 字段,取决于模型。
usage 用量(模型提供时)。
示例响应(本地测试环境,图片数据已截短)
{
"created": 1790609867,
"data": [{ "b64_json": "iVBORw0KGgo=" }],
"usage": { "input_tokens": 10, "output_tokens": 1056, "total_tokens": 1066 }
}

b64_json 是 Base64 编码的图片文件,解码后保存即可,如上面示例代码所示。

计费方式(按 token 还是按张)和单价,以模型&价格页面上该模型的标注为准。

gemini-3.1-flash-image 这类 Gemini 图片模型,有两种调用方式:

  1. Gemini 原生接口(推荐):POST /v1beta/models/gemini-3.1-flash-image:generateContent,用法见 generateContent。生成的图片在响应的 candidates[].content.parts[].inlineData 里(mimeType 和 Base64 编码的 data)。
  2. Chat Completions 接口:POST /v1/chat/completions,model 填这个图片模型即可,网关会自动请求模型同时输出文字和图片。返回的图片以 Markdown 图片的形式写在 choices[0].message.content 里,格式为 ![image](data:<图片类型>;base64,<数据>)。
    • 可以用 extra_body.google.image_config 设置宽高比和尺寸,字段名是 aspect_ratio、image_size(必须用下划线写法,驼峰写法会被拒绝)。
HTTP 状态码 原因
400 n 超过 128(n must be an integer between 1 and 128)、size 里用了乘号 ×,或请求体不是合法 JSON。
401 密钥无效、已禁用、已过期或额度已用完。
403 密钥不允许使用这个模型、IP 不在白名单,或账户余额不足。
500 用本接口调用了 Gemini 图片模型(convert_request_failed)。
503 模型 ID 写错或没传,或该模型当前没有可用线路。

完整说明见错误码与排查。