跳转到主要内容
POST
/
v1beta
/
models
/
{model}
:generateContent
curl --request POST \
  --url https://api.getinfinityblue.com/v1beta/models/{model}:generateContent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "你好,请用一句话介绍 Gemini。"
        }
      ]
    }
  ]
}
'
{
  "candidates": [
    {
      "content": {
        "role": "<string>",
        "parts": [
          {
            "text": "<string>"
          }
        ]
      },
      "finishReason": "<string>",
      "safetyRatings": [
        {
          "category": "<string>",
          "probability": "<string>"
        }
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 123,
    "candidatesTokenCount": 123,
    "totalTokenCount": 123
  }
}

可填写的模型

模型 ID说明
gemini-3.1-pro-previewGemini 旗舰,强多模态,超长上下文
gemini-2.5-pro高性能多模态,支持百万 token 上下文
gemini-2.5-flash快速轻量版,适合高频调用
完整列表见 GET /v1/models

多轮对话

contents 数组中交替填写 role: userrole: model 的消息即可构成多轮对话。

媒体识别

parts 中加入 inlineData 字段,提供 mimeType(如 image/jpegapplication/pdfaudio/mpegvideo/mp4) 和 base64 编码的文件数据。

流式输出

将路径中的 :generateContent 改为 :streamGenerateContent?alt=sse 即可切换为 Server-Sent Events 流式模式。

安全过滤

通过 safetySettings 数组调整各危害类别的过滤阈值。

系统指令

通过 systemInstruction 字段传入系统级提示,格式与 contents 中的 parts 相同。

授权

Authorization
string
header
必填

使用 Bearer Token 认证,格式:Authorization: Bearer sk-xxxxxx。 在 控制台 获取 API Key。

路径参数

model
string
必填

模型名称,例如 gemini-2.5-progemini-2.5-flash

示例:

"gemini-2.5-pro"

请求体

application/json

Gemini generateContent 请求体,同时适用于文本对话与媒体识别。

contents
object[]

对话内容数组,按时间顺序排列。每个元素包含 roleusermodel) 和 parts(内容片段列表)。

generationConfig
object

生成参数配置。

safetySettings
object[]

安全过滤设置,可调整各危害类别的过滤阈值。

tools
object[]

工具列表,用于函数调用(Function Calling)。

systemInstruction
object

系统级指令,格式与 contents 中的元素相同。

响应

成功生成内容

Gemini generateContent 响应体。

candidates
object[]

模型生成的候选响应列表。

usageMetadata
object

Token 用量统计。