跳转到主要内容
OpenOpen8 在 /v1beta/models/{model} 路径下提供 Google Gemini 兼容端点,与 Google AI SDK 和 Gemini REST API 的格式一致。使用 x-goog-api-key 头或 key 查询参数传入你的 OpenOpen8 token 进行认证——无需 Google 凭据。OpenOpen8 将请求路由到你在 URL 路径中指定的模型对应的上游渠道。

端点

方法路径说明
POST/v1beta/models/{model}:generateContent生成响应(非流式)
POST/v1beta/models/{model}:streamGenerateContent流式生成响应
模型名在 URL 路径中指定,不在请求体中。例如,要使用 gemini-2.0-flash,发送 POST/v1beta/models/gemini-2.0-flash:generateContent

认证

通过以下任一方式传入 OpenOpen8 token: 请求头(推荐):
x-goog-api-key: YOUR_TOKEN
查询参数:
POST /v1beta/models/gemini-2.0-flash:generateContent?key=YOUR_TOKEN

请求参数

contents
object[]
必填
对话历史,由内容对象数组组成。每个对象包含 roleparts 数组。
systemInstruction
object
系统提示词。结构与 contents 项相同:包含 parts 数组的对象。系统指令仅支持 text 部分。
{
  "systemInstruction": {
    "parts": [{"text": "You are a helpful assistant."}]
  }
}
也接受 system_instruction(snake_case 形式)。
generationConfig
object
控制模型生成输出的参数。也接受 generation_config
tools
object[]
模型可使用的工具。支持 functionDeclarationsgoogleSearchgoogleSearchRetrievalcodeExecutionurlContext
toolConfig
object
控制模型如何选择工具。
safetySettings
object[]
覆盖默认安全过滤器。每项指定一个 categorythreshold

响应字段

candidates
object[]
生成的响应候选数组。
usageMetadata
object
请求的 token 用量。
promptFeedback
object
关于提示词的反馈,包括安全评级和拦截原因(如果提示词被拦截)。

示例

curl "https://openopen8.ai/v1beta/models/gemini-2.0-flash:generateContent" \
  -H "x-goog-api-key: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Explain the difference between RAM and ROM."}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 512
    }
  }'
响应示例:
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "RAM (Random Access Memory) is volatile memory used for temporary storage while your computer is running..."
          }
        ]
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 11,
    "candidatesTokenCount": 142,
    "totalTokenCount": 153
  }
}

思考模型

OpenOpen8 支持 Gemini 思考模型,模型在生成响应前进行额外推理。有三种方式启用思考: 1. 思考模型后缀 — 在支持的模型名后追加 -thinking
POST /v1beta/models/gemini-2.5-flash-thinking:generateContent
POST /v1beta/models/gemini-2.5-pro-thinking:generateContent
2. 强度后缀 — 追加 -low-medium-high 精细控制:
POST /v1beta/models/gemini-2.5-flash-high:generateContent
3. generationConfig 中的 thinkingConfig — 显式传入配置:
{
  "contents": [...],
  "generationConfig": {
    "thinkingConfig": {
      "includeThoughts": true,
      "thinkingBudget": 8192
    }
  }
}
启用思考后,响应中带 "thought": true 的部分包含模型的推理内容。这些部分默认不展示给终端用户——由你的应用决定是否显示。
如果只需要文本输出,不想处理思考部分,设置 includeThoughts: false,让模型在内部推理但不在响应体中包含这些 token。