AIZNT
API 参考聊天

Gemini(Google 兼容)

/v1beta/models/{model}:generateContent —— Google 原生格式接口,可直接使用 Google GenAI SDK。

AIZNT 提供 Google 原生格式的 Gemini 接口,可直接使用 Google GenAI SDK,或将 Gemini CLI 指向 AIZNT。

接口地址

POST https://token.aiznt.com/v1beta/models/{model}:generateContent
POST https://token.aiznt.com/v1beta/models/{model}:streamGenerateContent

请求示例

curl "https://token.aiznt.com/v1beta/models/gemini-3.7-flash:generateContent" \
  -H "x-goog-api-key: sk-你的aiznt密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{"text": "你好"}]
    }]
  }'

常用请求参数

参数类型必填说明
contentsarray是对话内容列表,每项包含 role 和 parts;简单请求可省略 role
systemInstructionobject否系统指令,结构为包含 parts 的 Content 对象
generationConfigobject否生成配置容器
generationConfig.maxOutputTokensinteger否候选回答的最大输出 token 数,思考模型还会从中消耗思考额度
generationConfig.temperaturenumber否采样温度;有效范围和默认值取决于模型
generationConfig.topPnumber否核采样参数
generationConfig.topKinteger否限制参与采样的候选 token 数
generationConfig.stopSequencesarray否自定义停止序列
generationConfig.candidateCountinteger否返回的候选回答数量;部分模型不支持多个候选项
generationConfig.responseMimeTypestring否输出 MIME 类型,例如 application/json
generationConfig.responseSchemaobject否结构化输出的 JSON Schema,需配合兼容的响应 MIME 类型和模型
generationConfig.thinkingConfigobject否思考配置,可包含 thinkingLevel、thinkingBudget 或 includeThoughts
toolsarray否模型可调用的工具,例如函数声明
toolConfigobject否工具调用行为配置
safetySettingsarray否请求级安全设置;可用类别和阈值取决于服务与模型

参数兼容性

生成、思考、结构化输出、工具调用和安全参数的支持范围取决于 Gemini 模型版本。向不支持的模型传入参数可能返回错误。

输出 token 与思考配置

Gemini 原生接口使用 generationConfig.maxOutputTokens 控制本轮输出上限,不使用 OpenAI 兼容接口的 max_tokens 字段。对于支持思考的模型,思考过程也会消耗输出额度;额度过小时,可能返回 HTTP 200,但没有可展示的正文,且 candidates[0].finishReason 为 "MAX_TOKENS"。

{
  "contents": [{"parts": [{"text": "用一句话介绍 AIZNT"}]}],
  "generationConfig": {"maxOutputTokens": 1024}
}

调用方不要只根据 HTTP 状态码判断成功,还应检查 candidates[].content.parts 与 candidates[].finishReason。如果没有正文且结束原因为 "MAX_TOKENS",请提高 maxOutputTokens 后重试,并检查 usageMetadata.thoughtsTokenCount 判断额度是否主要消耗在思考阶段。没有适用于所有 Gemini 模型的固定最小值。

以下小额度响应已经过平台实测:

{
  "candidates": [
    {"finishReason": "MAX_TOKENS"}
  ],
  "usageMetadata": {
    "promptTokenCount": 7,
    "totalTokenCount": 13,
    "thoughtsTokenCount": 6
  }
}

支持思考配置的模型可通过 generationConfig.thinkingConfig 控制思考行为。不同模型支持的关闭参数并不一致,请按下方兼容性表传参,不要仅根据模型 ID 推断。

关闭思考模式

以下结果于 2026-09-10 使用 AIZNT Google 原生接口实测,测试请求均设置 maxOutputTokens: 2000:

模型 ID是否可关闭思考参数说明
gemini-3.5-flash是thinkingBudget: 0连续 3 次测试的 thoughtsTokenCount 均为 0
gemini-3.6-flash是thinkingBudget: 0连续 3 次测试的 thoughtsTokenCount 均为 0
gemini-3.1-pro-preview是thinkingBudget: 0连续 3 次测试的 thoughtsTokenCount 均为 0
gemini-3.7-flash不保证无可靠的关闭参数thinkingBudget: 0 仍可能产生思考 token;thinkingLevel: "LOW" 只能降低思考等级,不能关闭

对前三个支持关闭的模型,可使用以下请求。将 URL 中的 {model} 替换为对应模型 ID:

curl "https://token.aiznt.com/v1beta/models/{model}:generateContent" \
  -H "x-goog-api-key: sk-你的aiznt密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{"text": "分析这个问题并给出答案"}]
    }],
    "generationConfig": {
      "maxOutputTokens": 2000,
      "thinkingConfig": {
        "thinkingBudget": 0
      }
    }
  }'

检查响应中的 usageMetadata.thoughtsTokenCount:字段为 0 或未返回时,本次请求未消耗思考 token。

gemini-3.7-flash 注意事项

平台对 thinkingBudget: 0 共测试 13 次,其中 3 次归零、10 次仍产生思考 token,因此不能将该参数视为可靠的关闭开关。thinkingLevel: "MINIMAL" 会返回 HTTP 400(该模型不支持 MINIMAL),thinkingLevel: "LOW" 可以调用,但仍会产生思考 token。

若需要模型返回可展示的思考内容,可设置 includeThoughts: true。当模型产生可返回的思考时,响应中会出现 thought: true 的内容块,应用应将它与最终正文分开处理:

{
  "contents": [{"parts": [{"text": "分析 2+2 并给出答案"}]}],
  "generationConfig": {
    "maxOutputTokens": 512,
    "thinkingConfig": {
      "thinkingLevel": "LOW",
      "includeThoughts": true
    }
  }
}

includeThoughts 只控制是否返回可展示的思考内容,不会关闭思考,也不能保证降低思考 token 用量。可用的思考参数与取值取决于模型版本;向不支持的模型传入思考配置会返回错误。

响应字段

字段说明
candidates[].content.parts[].text模型返回的文本内容
candidates[].content.parts[].thought为 true 时表示思考内容,不应当作最终正文展示
candidates[].finishReason结束原因,例如 STOP、MAX_TOKENS 或安全相关原因
usageMetadata.promptTokenCount输入 token 数
usageMetadata.candidatesTokenCount最终候选回答 token 数;空正文时可能不返回
usageMetadata.thoughtsTokenCount思考 token 数;模型未产生思考时可能不返回
usageMetadata.totalTokenCount输入、思考与候选回答的总 token 数
modelVersion / responseId实际模型版本与响应标识

流式输出

streamGenerateContent 返回 text/event-stream,每个事件以 data: 开头:

curl -N "https://token.aiznt.com/v1beta/models/gemini-3.7-flash:streamGenerateContent" \
  -H "x-goog-api-key: sk-你的aiznt密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "写一首两行短诗"}]}]
  }'

流式处理中应逐条解析 data: 后的 JSON。中间事件的 finishReason 可能为空,最终事件会给出结束原因和用量信息。

Python SDK

from google import genai

client = genai.Client(
    api_key="sk-你的aiznt密钥",
    http_options={"base_url": "https://token.aiznt.com"},
)

resp = client.models.generate_content(
    model="gemini-3.7-flash",
    contents="你好",
)
print(resp.text)

SDK 会自动拼接 /v1beta/models/...,因此 base_url 只填写域名,不要附加 /v1beta。

客户端接入

Gemini CLI 通过环境变量 GOOGLE_GEMINI_BASE_URL 与 GEMINI_API_KEY 接入,详见 Gemini CLI 接入指南。

本页目录