Skip to content

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 对象,通常包含 roleparts

请求字段说明(常见):

字段类型必填描述
contentsarray请求内容数组,每项包含 roleparts
contents[].rolestring角色,通常为 user / system / assistant
contents[].partsarray部分数组,每项可为含 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 官方文档或项目内其他示例页。