Skip to content

Gemini 图像生成(OpenAI 兼容格式)

通过 OpenAI 兼容的 POST /v1/images/generations 接口调用 Gemini 图像模型。适用于已有基于 OpenAI SDK / DALL·E 接口的代码,希望在最小改动下切换到 Gemini 图像模型的场景。

WARNING

建议优先使用 Gemini 原生格式图像生成。本接口由代理侧将 OpenAI 图像请求转换为 Gemini generateContent 调用,可能存在以下问题:

  • OpenAI size 档位(1024x1024 等)与 Gemini aspectRatio / imageSize 不完全对应,可能被就近映射;
  • OpenAI 的 qualitystyleresponse_format 等字段部分可能被忽略;
  • 批量生成 (n > 1)、图像编辑等高级场景支持度可能不同;
  • 新模型或新参数的适配可能滞后于原生接口。

具体支持范围、字段映射规则与已知差异请咨询 FreeAPI。

请求

Endpoint

http
POST https://www.free-api.ai/api/v1/images/generations

请求头

名称必填说明
AuthorizationBearer your-api-key
Content-Typeapplication/json

请求参数

字段类型必填说明
modelstringGemini 图像模型 ID,例如 gemini-2.5-flash-image-previewgemini-3-pro-image-preview
promptstring图像描述
ninteger生成数量,默认 1
sizestring图像尺寸,如 1024x10241792x10241024x1792;会被映射为 Gemini 的 aspectRatio
qualitystring质量档位,standard / hd;在 Gemini 侧可能被忽略
stylestring风格,vivid / natural;在 Gemini 侧可能被忽略
response_formatstring响应格式,urlb64_json;Gemini 通常返回 b64_json
userstring终端用户标识

请求示例

cURL

bash
curl https://www.free-api.ai/api/v1/images/generations \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3-pro-image-preview",
    "prompt": "一只戴着宇航头盔的橘猫漂浮在星云之间,写实风格,高细节",
    "n": 1,
    "size": "1792x1024",
    "response_format": "b64_json"
  }'

Python (OpenAI SDK)

python
import base64
from openai import OpenAI

client = OpenAI(
    api_key="your-api-key",
    base_url="https://www.free-api.ai/api/v1",
)

resp = client.images.generate(
    model="gemini-3-pro-image-preview",
    prompt="一只戴着宇航头盔的橘猫漂浮在星云之间,写实风格,高细节",
    n=1,
    size="1792x1024",
    response_format="b64_json",
)

with open("out.png", "wb") as f:
    f.write(base64.b64decode(resp.data[0].b64_json))

响应示例

json
{
  "created": 1730000000,
  "data": [
    {
      "b64_json": "<base64-encoded-image>",
      "revised_prompt": "..."
    }
  ]
}

response_formaturl 时,data[].url 返回图片链接;但由于 Gemini 上游默认以 Base64 返回,建议始终使用 b64_json 以获得最稳定的行为。

字段映射参考

OpenAI 参数Gemini 对应说明
promptcontents[0].parts[0].text文本提示词
size = "1024x1024"aspectRatio = "1:1"近似映射
size = "1792x1024"aspectRatio = "16:9"近似映射
size = "1024x1792"aspectRatio = "9:16"近似映射
n多次调用或 candidate 数不同模型实现方式不同
quality / style通常被忽略

以上映射规则仅供参考,实际以代理侧实现为准。

常见错误

HTTP 状态说明
400请求参数错误,或 size / model 不被支持
401鉴权失败
429请求频率限制
5xx上游服务异常

何时改用原生接口

如果遇到以下情况,建议切换到 Gemini 原生格式图像生成

  • 需要精细控制 aspectRatioimageSize 等 Gemini 专属参数;
  • 需要图生图 / 图像编辑(传入参考图 + 指令);
  • 需要同时获取文本与图像的多模态输出;
  • 使用较新的 Gemini 图像模型且发现兼容接口行为异常。

Made with docs by FreeAPI Team