Google Gemini (Gemini)
Google Gemini 接口用于直接调用 Google 的 Gemini 系列模型(如 gemini-1.5-flash、gemini-1.5-pro、gemini-2.0-flash 等)。平台提供与 Gemini 原生 REST API 的透明转发和兼容性,支持多模态输入、安全设置(Safety Settings)以及生成配置(Generation Config)。
POST /v1beta/models/{model}:generateContent[!NOTE] 在调用时,需将
{model}替换为具体的模型标识(例如gemini-1.5-flash)。您可以通过在 URL 后添加查询参数?key=YOUR_API_KEY或使用Authorization: Bearer YOUR_API_KEY请求头进行认证。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
contents | array | ✅ | - | 对话内容列表。每个元素包含 role 和 parts。 |
generationConfig | object | ❌ | - | 生成配置参数,用于控制输出格式和随机性。 |
safetySettings | array | ❌ | - | 安全设置列表,用于配置内容过滤阈值。 |
contents 数组中的元素结构
Section titled “contents 数组中的元素结构”每个内容对象(Content Object)表示对话中的一个轮次:
role: string (可选)。通常为user或model。parts: array (必填)。表示这一轮次的内容部件。每个部件可以是:text: string。文本内容。inlineData: object。用于上传多模态媒体数据(如图片、音频等)。
generationConfig 配置项
Section titled “generationConfig 配置项”| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
temperature | number | 1.0 | 控制输出的随机性 (0-2)。 |
maxOutputTokens | integer | - | 模型能够生成的最大 token 数量。 |
topP | number | 0.95 | 核采样参数。 |
topK | integer | - | Top-K 过滤参数。 |
responseMimeType | string | text/plain | 指定输出格式,如需 JSON 格式输出可设置为 application/json。 |
cURL 请求
Section titled “cURL 请求”curl "https://api.easytakeai.com/v1beta/models/gemini-1.5-flash:generateContent" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "contents": [ { "role": "user", "parts": [ { "text": "你好,请用一句话介绍你自己。" } ] } ], "generationConfig": { "temperature": 0.7, "maxOutputTokens": 200 } }'JSON 响应示例
Section titled “JSON 响应示例”{ "candidates": [ { "content": { "parts": [ { "text": "你好!我是 Gemini,一个由 Google 训练的大型语言模型,旨在为你提供广泛的帮助和解答。" } ], "role": "model" }, "finishReason": "STOP", "index": 0, "safetyRatings": [ { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } ], "usageMetadata": { "promptTokenCount": 9, "candidatesTokenCount": 35, "totalTokenCount": 44 }}