跳到正文

Gemini 原生接口 ​

渊站支持 Gemini 的原生协议,不是把它包装成 OpenAI 格式,而是 generateContent 那一套原样透传。

这对需要 thinkingConfig、safetySettings、多模态 inlineData 的场景很重要——包装过的接口很容易把这些字段吃掉。

分组 ​

Gemini 原来是一个分组,现在拆成两个:

分组说明
Gemini-AN反重力直出,支持 Gemini 参数传递
Gemini-Ultra支持 gemini-4-argon,模型覆盖最全

旧的 Gemini 分组

如果你之前用的是 Gemini 分组,现在可能已经看不到了。换到上面两个之一,模型名基本通用。

请求格式 ​

POST /v1beta/models/{model}:generateContent

bash
curl https://api.syuan.org/v1beta/models/gemini-3.8-flash:generateContent \
  -H "Authorization: Bearer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"parts": [{"text": "只说两个字:你好"}]}
    ]
  }'

返回是 Gemini 原生的结构:

json
{
  "candidates": [
    {
      "content": {"role": "model", "parts": [{"text": "你好"}]},
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 7,
    "candidatesTokenCount": 1,
    "totalTokenCount": 121,
    "thoughtsTokenCount": 113
  }
}

注意到 thoughtsTokenCount 了吗——思考过程的 token 也算在里面,这是原生接口才会给的细节。

流式 ​

把 :generateContent 换成 :streamGenerateContent:

text
POST /v1beta/models/gemini-3.8-flash:streamGenerateContent

其他原生动作 ​

动作路径
生成:generateContent
流式生成:streamGenerateContent
列出模型GET /v1beta/models

模型列表用原生的

GET /v1beta/models 返回的是 Gemini 原生格式,GET /v1beta/openai/models 返回 OpenAI 格式。

后者会多一个 supported_endpoint_types 字段(["gemini","openai"]),告诉你这个模型两种协议都能调。

参数透传 ​

Gemini-AN 分组会把你的原生参数原样交给上游,包括:

json
{
  "contents": [...],
  "generationConfig": {
    "thinkingConfig": {"thinkingBudget": 1024},
    "temperature": 1.0
  },
  "safetySettings": [...]
}

如果你发现某个字段设了没生效,先确认自己的令牌是不是走在这个分组上。

能用哪些模型 ​

以 GET /v1beta/models 的返回为准。当前 Gemini 系的有:

gemini-3.8-flash、gemini-3.8-flash-high、gemini-3.8-flash-low、gemini-3.8-flash-medium、gemini-3.1-flash-lite

Gemini-Ultra 还额外有:gemini-4-argon、gemini-2.5-flash、gemini-2.5-flash-lite、gemini-3-flash、gemini-3.5-flash-lite