Gemini 文生图

通过 Gemini GenerateContent 协议生成图片

1. 概述

使用 Gemini 原生 GenerateContent 协议,根据文本提示词生成图片。

  • baseUrl:https://token.soar.qjclouds.cn/laserStreamEr/00000000/v1beta
  • completionsPath:/models/{model}:{invokeFuncName}
  • invokeFuncName:generateContent
  • 标准地址:POST {baseUrl}{completionsPath}
  • 鉴权:Authorization: Bearer <api_key>
  • 请求体:标准 Gemini GenerateContent JSON

地址拼接:{baseUrl}{completionsPath},其中 invokeFuncName为:generateContent ,model 为模型编码,例如:gemini-3.1-flash-lite-image,即 https://token.soar.qjclouds.cn/laserStreamEr/00000000/v1beta/models/gemini-3.1-flash-lite-image:generateContent

2. 鉴权

请求 Header 中需携带平台生成的 API Key:

HTTP
Authorization: Bearer <api_key>
Content-Type: application/json
Accept: application/json

3. 请求与响应示例

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
contents array<object> 是 必需。与模型当前对话的内容。
contents[].role string 否 消息角色。多轮对话时必须交替出现 user/model,单轮请求可省略。
contents[].parts array<object> 是
contents[].parts[].text string 否 文本内容
generationConfig object 否 可选。模型生成和输出的配置选项。
generationConfig.responseModalities array<string> 是 可选。所请求的响应模态。表示模型可以返回且应在响应中预期的模态集合。这与回答的模态完全匹配。

一个模型可能支持多种模态组合。如果请求的模态与任何支持的组合都不匹配,则会返回错误。

空列表相当于仅请求文本。
generationConfig.imageConfig object 是 可选。图片生成配置。如果为不支持这些配置选项的模型设置此字段,系统将返回错误。
generationConfig.imageConfig.aspectRatio string 否 可选。要生成的图片的宽高比。支持的宽高比:1:1、1:4、4:1、1:8、8:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9 或 21:9。

如果未指定,模型将根据提供的任何参考图片选择默认宽高比。
generationConfig.imageConfig.imageSize string 否 可选。指定生成的图片的大小。支持的值包括 512、1K、2K、4K。如果未指定,模型将使用默认值 1K。
可选值:512、1K、2K、4K
默认值:1K
generationConfig.imageConfig.mimeType string 否 可选。图片输出的 MIME 类型。

响应状态

HTTP 状态码 说明
200 成功

成功响应参数

字段 类型 必填 说明
candidates array<object> 否
candidates[].content object 否
candidates[].content.role string 否
candidates[].content.parts array<object> 否
candidates[].content.parts[].text string 否
candidates[].content.parts[].thoughtSignature string 否
candidates[].content.parts[].inlineData object 否
candidates[].content.parts[].inlineData.mimeType string 否
candidates[].content.parts[].inlineData.data string 否
candidates[].finishReason string 否
candidates[].index integer 否
usageMetadata object 否
usageMetadata.promptTokenCount integer 否
usageMetadata.candidatesTokenCount integer 否
usageMetadata.totalTokenCount integer 否
usageMetadata.trafficType string 否
usageMetadata.promptTokensDetails array<object> 否
usageMetadata.promptTokensDetails[].modality string 否
usageMetadata.promptTokensDetails[].tokenCount integer 否
usageMetadata.candidatesTokensDetails array<object> 否
usageMetadata.candidatesTokensDetails[].modality string 是
usageMetadata.candidatesTokensDetails[].tokenCount integer 是
usageMetadata.thoughtsTokenCount integer 否

请求示例

JSON
{
  "contents": [{
    "role": "user",
    "parts": [{ "text": "一只在月球漫步的橘猫,身披中国国旗,电影感。" }]
  }],
  "generationConfig": {
    "responseModalities": ["IMAGE", "TEXT"],
    "imageConfig": { "aspectRatio": "16:9", "imageSize": "512" }
  }
}

响应示例

JSON
{
  "candidates": [{
    "content": {
      "parts": [{ "inlineData": { "data": "base64 data" } }],
      "role": "model"
    },
    "finishReason": "STOP"
  }],
  "modelVersion": "gemini-3.1-flash-lite-image",
  "responseId": "GyueaveKKcy5jMwP4P3F-Qs",
  "usageMetadata": {
    "candidatesTokenCount": 1120,
    "promptTokenCount": 19,
    "totalTokenCount": 1139
  }
}

4. 调用提示

generationConfig.responseModalities 需包含 IMAGE。