# 用 Gemini 协议接入

> 网关接受 Gemini 原生 generateContent 路径,google-genai 客户端只需把 base_url 指向网关。

Gemini 原生协议走 `POST /v1beta/models/{model}:generateContent`(以及流式的 `:streamGenerateContent`)。

## curl

```bash
curl "https://api.tokrouter.dev/v1beta/models/gemini-3.8-flash:generateContent" \
  -H "x-goog-api-key: $TOKROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "用一句话解释什么是 SSE"}]}]
  }'
```

## google-genai(Python)

```python
import os
from google import genai
from google.genai import types

client = genai.Client(
    api_key=os.environ["TOKROUTER_API_KEY"],
    http_options=types.HttpOptions(base_url="https://api.tokrouter.dev"),
)

resp = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="用一句话解释什么是 SSE",
)
print(resp.text)
```

## google-genai(TypeScript)

```ts

const ai = new GoogleGenAI({
  apiKey: process.env.TOKROUTER_API_KEY!,
  httpOptions: { baseUrl: 'https://api.tokrouter.dev' },
})

const resp = await ai.models.generateContent({
  model: 'gemini-3.8-flash',
  contents: 'Explain SSE in one sentence',
})
console.log(resp.text)
```

<Callout type="info" title="也可以走 OpenAI 协议">
不习惯 Gemini 原生协议时,直接用 `/v1/chat/completions` 调同一个模型即可 —— `model` 传
`gemini-3.8-flash`,请求体按 OpenAI 格式写。两条路都在同一把 Key 下计费。
</Callout>

## DashScope(阿里云)

阿里云原生路径挂在 `/v1` 下,并**去掉官方的 `/api` 前缀**:

```bash
curl https://api.tokrouter.dev/v1/services/aigc/text-generation/generation \
  -H "Authorization: Bearer $TOKROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-max",
    "input": {"messages": [{"role": "user", "content": "你好"}]},
    "parameters": {"result_format": "message"}
  }'
```

官方 `https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation`
对应本站的 `https://api.tokrouter.dev/v1/services/aigc/text-generation/generation`。
具体转发哪家由请求体里的 `model` 决定,不必逐一改路径。
