ModelSell 文档
图片系列Gemini

Gemini 原生图像生成

使用 Gemini 官方 generateContent REST 格式调用原生图像生成和图片编辑模型。

Gemini 原生图像生成使用 Google 官方 generateContent REST 请求格式:路径中携带模型名,请求体使用 contents[].parts[] 组织文本和图片,输出图片通过 generationConfig.responseModalities 声明。

如果你已经在客户端使用 Gemini SDK 或 Google REST 格式,可以直接迁移到 ModelSell 的 Gemini 兼容入口,不需要改成 OpenAI Images 请求体。

接口

操作Endpoint
Gemini 原生内容生成POST /v1beta/models/{model}:generateContent
Gemini 原生内容生成POST /v1/models/{model}:generateContent

{model} 是 Gemini 图像模型 ID,例如 gemini-3.1-flash-image-preview 或当前账号可用的其他 Gemini 图像模型。

请求格式

字段类型必填说明
contentsarray当前请求内容。单轮生成通常只需要一个 role: "user" 内容块。
contents[].rolestringusermodel。单轮请求推荐传 user
contents[].partsarray多模态内容块。每个 part 只能表达一种内容。
parts[].textstring文本提示词。
parts[].inlineDataobjectBase64 内联媒体,使用官方 camelCase 字段。
inlineData.mimeTypestring输入图片 MIME 类型,例如 image/pngimage/jpegimage/webp
inlineData.datastring不带 data:image/...;base64, 前缀的 Base64 图片数据。
generationConfig.responseModalitiesstring array图像生成必须包含 IMAGE。需要同时返回文字说明时可传 ["TEXT", "IMAGE"]
generationConfig.imageConfig.aspectRatiostring输出比例,例如 1:14:316:99:1621:9
generationConfig.imageConfig.imageSizestring输出尺寸档位,例如 5121K2K4K,以模型支持为准。
systemInstructionobjectGemini 官方系统指令结构。
safetySettingsarrayGemini 官方安全设置结构。
toolsarrayGemini 官方工具结构。

文生图示例

curl -X POST "https://api.modelsell.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
  -H "Authorization: Bearer $MODELSELL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "生成一张高级质感的产品摄影图,干净通透,柔和自然光,细节清晰。"
          }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "aspectRatio": "4:3",
        "imageSize": "2K"
      }
    }
  }'

带参考图编辑

把图片作为 inlineData 传入时,data 字段必须是完整 Base64 字符串,不能带 Data URL 前缀,也不能被日志或客户端截断。

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "去除画面中所有人物,保留空间结构,生成干净通透的高级摄影画面。"
        },
        {
          "inlineData": {
            "mimeType": "image/png",
            "data": "BASE64_IMAGE_DATA"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"],
    "imageConfig": {
      "aspectRatio": "16:9",
      "imageSize": "2K"
    }
  }
}

返回结果

Gemini 原生响应保留官方结构。生成的图片通常位于:

candidates[].content.parts[].inlineData.data

对应的 MIME 类型位于:

candidates[].content.parts[].inlineData.mimeType

常见错误

问题说明
缺少 responseModalities图像生成必须请求 IMAGE 输出;空列表等价于只请求文本。
Base64 被截断inlineData.data 必须是完整字符串,截断会导致上游返回 400 invalid argument
Data URL 前缀未去除inlineData.data 只接收纯 Base64,不要传 data:image/png;base64,...
字段混用新接口格式本接口使用 contents / inlineData / generationConfig,不要把 interactionsinputtype: "image"response_format 放到 generateContent 请求体里。
非图像模型传 imageConfigimageConfig 只适用于支持图像生成配置的模型。

与通用图片接口的区别

/v1/images/generations 是 OpenAI Images 兼容入口,适合统一图片模型调用。Gemini 原生图像生成保留 Google 官方 generateContent 请求和响应结构,适合已经使用 Gemini 官方协议的客户端。

On this page