UniterRouter
API 参考Google 兼容

生成内容

Google Gemini API - 通过 UniterRouter 使用 Gemini Pro、Gemini 1.5 模型生成内容。原生 Google AI API 格式,支持多模态和流式响应。

生成内容

从 Gemini 模型生成内容(文本、代码等)。这是非流式文本生成的主要端点。

端点

POST https://api.uniterouter.ai/v1beta/models/{model}:generateContent

认证

使用您的 UniterRouter API 密钥作为 Google API 密钥:

x-goog-api-key: your_uniterouter_api_key

或通过查询参数:

?key=your_uniterouter_api_key

路径参数

参数类型必需描述
modelstring是模型 ID(如 gemini-2.0-flash、gemini-1.5-pro)

请求体

参数类型必需描述
contentsarray是发送给模型的内容部分数组
generationConfigobject否生成配置
safetySettingsarray否过滤有害内容的安全设置
systemInstructionobject否模型的系统指令
toolsarray否模型可用的工具/函数

内容格式

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {"text": "你好,你好吗?"}
      ]
    }
  ]
}

生成配置

参数类型描述
temperaturenumber控制随机性 (0.0-2.0)
topPnumber核采样参数
topKintegerTop-k 采样参数
maxOutputTokensinteger生成的最大 token 数
stopSequencesarray停止生成的序列
candidateCountinteger生成的响应数量

请求示例

curl -X POST "https://api.uniterouter.ai/v1beta/models/gemini-2.0-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $UNITEROUTER_API_KEY" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "用简单的语言解释量子计算"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'
import google.generativeai as genai

genai.configure(
    api_key="your_uniterouter_api_key",
    transport="rest",
    client_options={"api_endpoint": "api.uniterouter.ai"}
)

model = genai.GenerativeModel("gemini-2.0-flash")
response = model.generate_content(
    "用简单的语言解释量子计算",
    generation_config=genai.GenerationConfig(
        temperature=0.7,
        max_output_tokens=1024
    )
)
print(response.text)
import { GoogleGenerativeAI } from "@google/generative-ai";

const genAI = new GoogleGenerativeAI("your_uniterouter_api_key", {
  baseUrl: "https://api.uniterouter.ai"
});

const model = genAI.getGenerativeModel({ model: "gemini-2.0-flash" });

const result = await model.generateContent({
  contents: [
    {
      role: "user",
      parts: [{ text: "用简单的语言解释量子计算" }]
    }
  ],
  generationConfig: {
    temperature: 0.7,
    maxOutputTokens: 1024
  }
});

console.log(result.response.text());

响应

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "量子计算利用量子力学原理..."
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": [
        {
          "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
          "probability": "NEGLIGIBLE"
        }
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 150,
    "totalTokenCount": 160
  }
}

多轮对话

对于聊天式对话,包含对话历史:

model = genai.GenerativeModel("gemini-2.0-flash")
chat = model.start_chat(history=[])

response1 = chat.send_message("你好!")
print(response1.text)

response2 = chat.send_message("法国的首都是哪里?")
print(response2.text)

图像输入

Gemini 模型支持图像输入:

import PIL.Image

model = genai.GenerativeModel("gemini-2.0-flash")
image = PIL.Image.open("image.jpg")

response = model.generate_content([
    "描述这张图片:",
    image
])
print(response.text)

错误处理

错误码描述
400无效请求(参数错误)
401无效的 API 密钥
403权限被拒绝
404模型未找到
429超出速率限制
500内部服务器错误

相关文档

How is this guide?