Gemini 原生格式
通过 Google Gemini 原生 API 协议调用 Gemini 模型,完全兼容 Gemini 原生请求体、路径格式和响应结构。
在线体验
快速开始
第 1 步: 获取您的 API Key(在 控制台 创建)。
第 2 步: 发送请求:
bash
curl -X POST "https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxx" \
-d '{
"contents": [
{
"role": "user",
"parts": [{"text": "你好,介绍一下自己"}]
}
]
}'python
import requests
url = "https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer sk-xxx"
}
payload = {
"contents": [
{
"role": "user",
"parts": [{"text": "你好,介绍一下自己"}]
}
]
}
response = requests.post(url, json=payload, headers=headers)
result = response.json()
print(result["candidates"][0]["content"]["parts"][0]["text"])javascript
const response = await fetch('https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer sk-xxx',
},
body: JSON.stringify({
contents: [
{
role: 'user',
parts: [{ text: '你好,介绍一下自己' }],
},
],
}),
})
const result = await response.json()
console.log(result.candidates[0].content.parts[0].text)第 3 步: 从响应的 candidates[0].content.parts[0].text 获取回复内容。
请求端点
| 项目 | 值 |
|---|---|
| 方法 | POST |
| 路径 | /v1beta/models/{model}:generateContent |
/v1beta/models/{model}:streamGenerateContent(流式) | |
| Base URL | https://open.dieyuyun.com |
| 兼容协议 | Google Gemini API |
路径参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型标识符,如 gemini-2.5-pro |
| action | string | 是 | 操作类型:generateContent 或 streamGenerateContent |
认证
使用 Bearer Token 认证(与 OpenAI 兼容端点共用同一个 API Key):
http
Authorization: Bearer sk-xxxTIP
平台使用统一的 API Key 进行管理,无需单独配置 Google API Key。您的 API Key 在服务端安全转发至上游,不会暴露给客户端。
支持模型
| 模型 | 上下文长度 | 说明 |
|---|---|---|
| gemini-2.5-pro | 1M | Gemini 旗舰推理模型 |
| gemini-2.5-flash | 1M | Gemini 快速模型 |
| gemini-2.0-flash | 1M | Gemini 2.0 快速模型 |
TIP
完整模型列表请在 控制台 查看。
标准请求字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| contents | array | 是 | — | 对话内容列表,每条包含 role 和 parts |
| systemInstruction | object | 否 | — | 系统指令,设定模型行为 |
| generationConfig | object | 否 | — | 生成参数配置 |
| safetySettings | array | 否 | — | 安全设置 |
| tools | array | 否 | — | 工具定义列表 |
| toolConfig | object | 否 | — | 工具调用配置 |
generationConfig 参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| temperature | number | 1.0 | 控制输出随机性,范围 0~2 |
| topP | number | 0.95 | 核采样参数 |
| topK | integer | 40 | Top-K 采样 |
| maxOutputTokens | integer | — | 最大输出 Token 数 |
| stopSequences | array | — | 停止生成的字符串序列 |
| responseMimeType | string | — | 响应 MIME 类型,如 application/json |
contents 结构
json
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "描述这张图片" },
{
"inline_data": {
"mime_type": "image/jpeg",
"data": "/9j/4AAQ..."
}
}
]
}
]
}请求示例
带系统指令和生成配置
bash
curl -X POST "https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxx" \
-d '{
"systemInstruction": {
"parts": [{"text": "你是一个专业的翻译助手,请将内容翻译为英文。"}]
},
"contents": [
{
"role": "user",
"parts": [{"text": "人工智能正在改变我们的生活方式。"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'python
import requests
url = "https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer sk-xxx"
}
payload = {
"systemInstruction": {
"parts": [{"text": "你是一个专业的翻译助手,请将内容翻译为英文。"}]
},
"contents": [
{
"role": "user",
"parts": [{"text": "人工智能正在改变我们的生活方式。"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}
response = requests.post(url, json=payload, headers=headers)
result = response.json()
print(result["candidates"][0]["content"]["parts"][0]["text"])javascript
const response = await fetch('https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:generateContent', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer sk-xxx',
},
body: JSON.stringify({
systemInstruction: {
parts: [{ text: '你是一个专业的翻译助手,请将内容翻译为英文。' }],
},
contents: [
{
role: 'user',
parts: [{ text: '人工智能正在改变我们的生活方式。' }],
},
],
generationConfig: {
temperature: 0.7,
maxOutputTokens: 1024,
},
}),
})
const result = await response.json()
console.log(result.candidates[0].content.parts[0].text)流式输出
使用 streamGenerateContent 端点获取流式响应:
bash
curl -X POST "https://open.dieyuyun.com/v1beta/models/gemini-2.5-pro:streamGenerateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxx" \
-d '{
"contents": [
{
"role": "user",
"parts": [{"text": "写一首关于大海的诗"}]
}
]
}'多模态输入(图片)
json
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "这张图片里有什么?" },
{
"inline_data": {
"mime_type": "image/png",
"data": "iVBORw0KGgo..."
}
}
]
}
]
}函数调用
json
{
"contents": [
{
"role": "user",
"parts": [{ "text": "北京今天天气怎么样?" }]
}
],
"tools": [
{
"functionDeclarations": [
{
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
}
]
}
]
}响应格式
成功响应
json
{
"candidates": [
{
"content": {
"parts": [
{
"text": "你好!我是 Gemini,由 Google DeepMind 开发的多模态 AI 模型。我可以处理文本、图片、代码等多种内容格式。"
}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0
}
],
"usageMetadata": {
"promptTokenCount": 6,
"candidatesTokenCount": 42,
"totalTokenCount": 48
},
"modelVersion": "gemini-2.5-pro"
}响应字段说明
| 字段 | 说明 |
|---|---|
| candidates[].content.parts[].text | 回复文本内容 |
| candidates[].content.role | 角色,模型回复为 model |
| candidates[].finishReason | 结束原因:STOP、MAX_TOKENS、SAFETY |
| candidates[].safetyRatings | 安全评分 |
| usageMetadata.promptTokenCount | 输入 Token 数 |
| usageMetadata.candidatesTokenCount | 输出 Token 数 |
| usageMetadata.totalTokenCount | 总 Token 数 |
| modelVersion | 实际使用的模型版本 |
错误响应
json
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}详见 错误码。
兼容性说明
| 特性 | 本平台 | Google Gemini 原生 API |
|---|---|---|
| 路径格式 | /v1beta/models/{model}:action | 相同 |
| 请求体格式 | Gemini 原生 JSON | 原生协议 |
| generateContent | 支持 | 原生支持 |
| streamGenerateContent | 支持 | 原生支持 |
| 多模态输入 | 支持 base64 | 支持 base64 / file_data |
| 函数调用 | 支持 | 原生支持 |
| 系统指令 | 支持 systemInstruction | 原生支持 |
| 认证方式 | Bearer Token(平台 API Key) | Google API Key |
| safetySettings | 支持透传 | 原生支持 |
TIP
平台使用 Gemini 原生路径和原生请求体,成功响应直接返回 Gemini 原始格式。唯一的区别是认证方式——使用平台统一的 API Key 替代 Google API Key。
最佳实践
- 选择正确的端点:非流式使用
generateContent,流式使用streamGenerateContent,路径结构一致。 - 利用超长上下文:Gemini 支持 1M Token 上下文,适合处理长文档、大型代码库等场景。
- 使用
systemInstruction:通过系统指令设定模型行为,注意 Gemini 的系统指令格式是{"parts": [{"text": "..."}]}。 - 多模态输入:支持 base64 编码的图片输入,适合图片分析、OCR 等场景。
- JSON 模式输出:通过
generationConfig.responseMimeType = "application/json"强制返回 JSON。
速率限制
详见 速率限制。
相关文档
- 通用对话接口(流式) - 使用 OpenAI 兼容协议
- Claude Messages - 使用 Anthropic 原生协议
- OpenAI Responses - 使用 OpenAI Responses API
- 管理 API Key - 创建和配置 API Key