文档API 参考Gemini API

Gemini API

Google Gemini 兼容入口:generateContent、streamGenerateContent 与 countTokens。

POST/v1beta/models/{model}:generateContent

与 Google Gemini API 请求体兼容的对话入口。模型名与动作写在路径里({model}:generateContent),鉴权用 x-goog-api-key 头。

不支持 Google 官方的 ?key= 查询参数传 Key,必须用 x-goog-api-key 头(Google GenAI SDK 默认就走该头)。

请求体

字段类型必填说明
contentsarray对话内容:每项含 roleuser/model)与 parts(文本或内联媒体)。
systemInstructionobject系统提示词({ "parts": [{ "text": … }] })。
generationConfigobject生成参数:temperaturemaxOutputTokens 等。
request.sh
curl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "x-goog-api-key: $SOLEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
  }'

响应

response.json
{
  "candidates": [
    {
      "content": {
        "parts": [{ "text": "Waves fold into foam..." }],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 14,
    "candidatesTokenCount": 23,
    "totalTokenCount": 37
  }
}

流式生成

POST/v1beta/models/{model}:streamGenerateContent

追加 ?alt=sse 以 SSE 增量返回,每条 data: 行是一个响应片段;不带 alt=sse 时返回完整 JSON 数组。详见流式响应

计数 token

POST/v1beta/models/{model}:countTokens
count_tokens.sh
curl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:countTokens" \
  -H "x-goog-api-key: $SOLEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
  }'

# => { "totalTokens": 14 }