Gemini(原生格式)——可文件分析
简述:Gemini 原生格式请求,支持文件与文本混合输入(
contents数组)。本页提供最小必需参数说明、示例请求与返回示例,便于在本平台以小驼峰参数调用 Gemini 原生接口。
概览
- 请求方法:
POST - 路径:
/v1beta/models/{model}:{action}(示例:/v1beta/models/gemini-2.5-flash:generateContent) - 内容类型:
application/json
认证方式
- 支持两种认证:
Authorization: Bearer sk-xxx(推荐)- 或者通过
x-goog-api-key: <api-key>传入 API Key(可选)
路径参数
| 参数 | 必填 | 描述 |
|---|---|---|
| model | 是 | 模型名称,例如 gemini-2.5-flash |
| action | 是 | 操作名称,例如 generateContent(非流)或 streamGenerateContent?alt=sse(流式) |
请求体(示例结构与说明)
- 顶层 JSON 字段:
contents(必填,数组)。每个元素为一个content对象,通常包含role和parts。
请求字段说明(常见):
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| contents | array | 是 | 请求内容数组,每项包含 role 和 parts |
| contents[].role | string | 是 | 角色,通常为 user / system / assistant |
| contents[].parts | array | 是 | 部分数组,每项可为含 text 的对象(文本) |
说明:Gemini 原生格式还有更多可选字段(如思考控制、extra body、工具调用等),此处列出最常用的最小集;平台统一使用小驼峰命名(例如 toolConfig 而非 tool_config)。
示例
简单文本示例(curl)
bash
curl -X POST "https://api.gpt.ge/v1beta/models/gemini-2.5-flash:generateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxx" \
-d '{
"contents": [
{ "role": "user", "parts": [{ "text": "你好,请简单自我介绍" }] }
]
}'文件分析示例(curl,文件使用 base64 data URI)
bash
curl -X POST "https://api.gpt.ge/v1beta/models/gemini-2.5-pro:generateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxx" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{ "text": "请总结附件中的 API 文档要点" },
{ "file": { "filename": "api-doc.pdf", "fileData": "data:application/pdf;base64,JVBERi0xLjQKJ..." } }
]
}
]
}'JavaScript 示例
javascript
await fetch('https://api.gpt.ge/v1beta/models/gemini-2.5-flash:generateContent', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-xxxx' },
body: JSON.stringify({ contents: [{ role: 'user', parts: [{ text: '你好,请简单自我介绍' }] }] })
}).then(r => r.json()).then(console.log)Python 示例(requests)
python
import requests
payload = {
'contents': [
{ 'role': 'user', 'parts': [ { 'text': '请总结这份文档' } ] }
]
}
resp = requests.post('https://api.gpt.ge/v1beta/models/gemini-2.5-flash:generateContent', headers={'Content-Type':'application/json','Authorization':'Bearer sk-xxxx'}, json=payload)
print(resp.json())返回示例(200)
json
{
"id": "resp-1234",
"object": "model.response",
"created": 1725014307,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "这是对文档的简要总结:..."
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 50, "completion_tokens": 120, "total_tokens": 170 }
}服务器示例:https://api.gpt.ge
更多高级参数(思考级别、extraBody、tools 等)请参阅 Gemini 官方文档或项目内其他示例页。