Skip to content

Gemini 兼容接口

如果你的程序使用 Google Gemini 原生 generateContent 请求结构,可以通过 Gemini 兼容接口接入本站模型。该接口适合已经按 Gemini 官方格式组织 contentspartsgenerationConfig 的项目。

接口信息

项目
请求方法POST
接口格式https://api.gemai.cc/v1beta/models/{model}:generateContent
示例地址https://api.gemai.cc/v1beta/models/gemini-2.0-flash:generateContent
鉴权方式Authorization: Bearer sk-你的令牌

基础对话

文本生成

INFO

contents 是 Gemini 格式的核心字段。单轮对话时传入一个 role: user 的内容即可,多轮对话时按顺序追加历史消息。

bash
curl --location 'https://api.gemai.cc/v1beta/models/gemini-2.0-flash:generateContent' \
  --header 'Authorization: Bearer sk-你的令牌' \
  --header 'Content-Type: application/json' \
  --data '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "请用三句话介绍 Gemini 接口格式。"
          }
        ]
      }
    ]
  }'

多轮对话

INFO

Gemini 格式中常见角色是 usermodel。如果你需要带上下文,请把历史消息转换为对应的 contents 数组。

bash
curl --location 'https://api.gemai.cc/v1beta/models/gemini-2.0-flash:generateContent' \
  --header 'Authorization: Bearer sk-你的令牌' \
  --header 'Content-Type: application/json' \
  --data '{
    "contents": [
      {
        "role": "user",
        "parts": [{ "text": "你好" }]
      },
      {
        "role": "model",
        "parts": [{ "text": "你好,有什么可以帮你?" }]
      },
      {
        "role": "user",
        "parts": [{ "text": "请继续用中文回答。" }]
      }
    ]
  }'

图片理解

INFO

使用支持多模态的 Gemini 模型时,可以通过 inlineData 传入 Base64 图片。mimeType 需要和图片真实格式一致。

bash
curl --location 'https://api.gemai.cc/v1beta/models/gemini-2.0-flash:generateContent' \
  --header 'Authorization: Bearer sk-你的令牌' \
  --header 'Content-Type: application/json' \
  --data '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "请描述这张图片。"
          },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "这里替换为图片Base64内容"
            }
          }
        ]
      }
    ]
  }'

生成参数

控制输出效果

INFO

常用参数可以放在 generationConfig 中,例如温度、最大输出长度、Top P 等。不同模型支持的参数可能略有差异。

json
{
  "generationConfig": {
    "temperature": 0.8,
    "topP": 0.95,
    "maxOutputTokens": 2048
  }
}

返回格式

成功响应通常会包含 candidates,文本内容位于 candidates[0].content.parts 中。

json
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "这是模型返回的内容。"
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 12,
    "candidatesTokenCount": 18,
    "totalTokenCount": 30
  }
}

注意事项

  • URL 中的 {model} 需要替换为实际模型名。
  • 如果你的客户端只支持 OpenAI 格式,优先使用 OpenAI 兼容接口,不要强行转换为 Gemini 格式。
  • 图片输入建议控制体积,Base64 图片过大会导致请求体过大或响应变慢。