Gemini 原生端点:generateContent 用法
使用 Gemini 原生协议调用 Gemini 全系列模型:generateContent 结构、多模态输入、system instruction、thinking 配置与流式响应。
端点:https://api.zaimod.com/v1beta/models/{model}:generateContent,与 Google 官方 Gemini API 同构。官方 google-genai SDK 通过自定义 base_url 直连。
用官方 SDK 接入
from google import genai
from google.genai import types
client = genai.Client(
api_key="sk-your-zaimod-key",
http_options=types.HttpOptions(base_url="https://api.zaimod.com"),
)
resp = client.models.generate_content(
model="gemini-3.1-flash-lite-preview",
contents="用三句话解释 RAG",
)
print(resp.text)直接 HTTP 调用
curl "https://api.zaimod.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent" \
-H "x-goog-api-key: $ZAIMOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Hello"}]}]
}'也可用 OpenAI 兼容头:Authorization: Bearer $ZAIMOD_API_KEY。
请求结构
{
"systemInstruction": {"parts": [{"text": "你是一个严谨的编辑。"}]},
"contents": [
{"role": "user", "parts": [{"text": "润色这段话:……"}]},
{"role": "model", "parts": [{"text": "……"}]},
{"role": "user", "parts": [{"text": "再短一点"}]}
],
"generationConfig": {
"temperature": 0.3,
"maxOutputTokens": 2048
}
}角色只有 user 和 model 两种,历史需要完整传入。
多模态输入
Gemini 的 parts 可以混排文本与媒体:
{
"contents": [{
"role": "user",
"parts": [
{"text": "这张图里是什么产品?"},
{"inlineData": {"mimeType": "image/jpeg", "data": "<base64>"}}
]
}]
}支持图片、音频、视频(Gemini 优质分组对视频分析支持最完整)。URL 方式用 fileData 传入。
流式响应
端点换成 :streamGenerateContent?alt=sse:
curl -N "https://api.zaimod.com/v1beta/models/gemini-3.1-pro-preview:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: $ZAIMOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents": [{"parts": [{"text": "讲个冷笑话"}]}]}'SDK 侧:
for chunk in client.models.generate_content_stream(
model="gemini-3.1-pro-preview",
contents="讲个冷笑话",
):
print(chunk.text, end="")思考模式(thinking 系列模型)
gemini-3.7-flash-thinking-* / gemini-3.8-flash-thinking-* 支持思考预算:
{
"contents": [{"parts": [{"text": "证明:任意三角形内角和为180°"}]}],
"generationConfig": {"thinkingConfig": {"thinkingBudget": 4096}}
}后缀 -low / -medium / -high 对应不同默认思考强度,直接选后缀即可,无需额外参数。
结构化输出
{
"contents": [{"parts": [{"text": "抽取公司名和金额"}]}],
"generationConfig": {"responseMimeType": "application/json"}
}在架 Gemini 模型
| 模型 | 定位 |
|---|---|
| gemini-3.1-flash-lite-preview | 最低成本日常档 |
| gemini-2.5-flash / 3.5-flash | 多模态主力 |
| gemini-3.1-pro-preview | 长上下文旗舰 |
| gemini-3.8-flash 系列 | 编程与 Agent |
价格见 价格页。