1. 概述
使用 Gemini 原生 GenerateContent 协议,根据文本提示词生成图片。
baseUrl:https://token.soar.qjclouds.cn/laserStreamEr/00000000/v1betacompletionsPath:/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。