切换主题
Gemini Native
Gemini 原生接口使用 /v1beta/models/{model}:generateContent 路径和 x-goog-api-key 请求头。
curl 示例
bash
curl "https://sprelaytoken.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $SPRELAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{"text": "用一句话解释什么是 API 网关。"}
]
}
]
}'模型名称仅为示例,请从当前模型列表复制可用名称。
Python 原生 HTTP 示例
python
import os
import requests
model = "gemini-3-flash-preview"
url = f"https://sprelaytoken.com/v1beta/models/{model}:generateContent"
response = requests.post(
url,
headers={
"x-goog-api-key": os.environ["SPRELAY_API_KEY"],
"Content-Type": "application/json",
},
json={
"contents": [
{
"role": "user",
"parts": [{"text": "用一句话解释什么是 API 网关。"}],
}
]
},
timeout=60,
)
response.raise_for_status()
print(response.json())返回内容
文本通常位于:
text
candidates[0].content.parts[0].text生产代码应处理空候选、内容安全拦截和多个 parts,不要只假设固定数组长度。
与 OpenAI Compatible 的区别
Gemini 模型可能同时提供 OpenAI Compatible 和 Gemini Native 入口。两者请求结构不同:
- OpenAI Compatible 使用
/v1/chat/completions与messages。 - Gemini Native 使用
/v1beta/models/...:generateContent与contents/parts。
沿用现有项目的协议即可,不需要为了模型名称改写整套代码。
常见错误
- 404:检查路径中是否包含
:generateContent。 - 401:确认
x-goog-api-key是完整 Sprelay 密钥。 - 模型不存在:先调用
GET /v1beta/models。 - 503 或
No available Gemini accounts:当前上游线路没有可用账户,或渠道价格限制不匹配。不要无限重试;请稍后再试,并结合模型广场与使用日志确认实时可用性。 - 正文解析失败:确认发送的是
contents,不是 OpenAI 的messages。
