Skip to main content
POST
https://console.mixroute.io
/
v1beta
/
models
/
{model}
:generateContent
curl --request POST \
  --url 'https://console.mixroute.io/v1beta/models/gemini-2.5-pro:generateContent' \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "contents": [
      {"role": "user", "parts": [{"text": "用一句话介绍人工智能"}]}
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'
{
  "candidates": [
    {
      "content": {
        "parts": [{"text": "人工智能是一门研究如何让计算机模拟和实现人类智能的学科。"}],
        "role": "model"
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 20,
    "totalTokenCount": 30
  },
  "modelVersion": "gemini-2.5-pro"
}

简介

Gemini 原生 API 采用 Google Gemini 的请求与响应格式,适用于 Google 官方客户端(如 google-generativeai SDK)或需要直接使用 Gemini 数据结构的场景。 若使用 OpenAI 兼容客户端(如 OpenAI SDK),请使用 /v1/chat/completions 接口。

与 OpenAI 格式的区别

特性Gemini 原生OpenAI 兼容
消息结构contents[].parts[]messages[].content
角色名称user / modeluser / assistant
流式参数URL 参数 ?alt=sseBody 参数 stream: true
系统提示systemInstructionmessages[0].role: "system"
多模态parts[] 数组混合content[] 数组混合

API 端点

功能方法路径
文本生成(非流式)POST/v1beta/models/{model}:generateContent
文本生成(流式)POST/v1beta/models/{model}:streamGenerateContent?alt=sse
单条 EmbeddingPOST/v1beta/models/{model}:embedContent
批量 EmbeddingPOST/v1beta/models/{model}:batchEmbedContents

认证

支持两种认证方式:
方式Header示例
Bearer Token(推荐)AuthorizationBearer sk-xxxxxxxxxx
Google 风格x-goog-api-keysk-xxxxxxxxxx

请求参数

参数类型必需描述
contentsarray对话内容数组
generationConfigobject生成配置参数
safetySettingsarray安全过滤设置
systemInstructionobject系统指令
toolsarray工具定义(函数调用、搜索等)
cachedContentstring缓存内容名称

generationConfig 参数

参数类型描述
temperaturenumber随机性(0-2)
topPnumber核采样(0-1)
topKintegerTop-K 采样
maxOutputTokensinteger最大输出 token 数
stopSequencesarray停止序列
candidateCountinteger候选响应数量
thinkingConfigobject思考模式配置

基础示例

curl -X POST "https://console.mixroute.io/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "用一句话介绍人工智能"}]}
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

高级功能

思考模式(Thinking)

Gemini 2.5 Pro 和 Gemini 3 Pro 支持思考模式,使模型在回答前进行深度推理。Gemini 2.5 Pro - 使用 thinkingBudget
{
  "contents": [{"role": "user", "parts": [{"text": "给一道几何题并分步解析"}]}],
  "generationConfig": {
    "maxOutputTokens": 16384,
    "thinkingConfig": {
      "includeThoughts": true,
      "thinkingBudget": 8192
    }
  }
}
Gemini 3 Pro - 使用 thinkingLevel
{
  "contents": [{"role": "user", "parts": [{"text": "解释量子纠缠的原理"}]}],
  "generationConfig": {
    "maxOutputTokens": 16384,
    "thinkingConfig": {
      "includeThoughts": true,
      "thinkingLevel": "MEDIUM"
    }
  }
}
参数适用模型可选值
thinkingBudgetGemini 2.5 Pro1-24576(token 数量)
thinkingLevelGemini 3 ProLOW / MEDIUM / HIGH

Embedding API

单条 Embedding

curl -X POST "https://console.mixroute.io/v1beta/models/text-embedding-004:embedContent" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "content": {
      "parts": [{"text": "这是一段需要向量化的文本"}]
    }
  }'
响应示例:
{
  "embedding": {
    "values": [0.0123, -0.0456, 0.0789, ...]
  }
}

批量 Embedding

curl -X POST "https://console.mixroute.io/v1beta/models/text-embedding-004:batchEmbedContents" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "requests": [
      {
        "model": "models/text-embedding-004",
        "content": {"parts": [{"text": "第一段文本"}]}
      },
      {
        "model": "models/text-embedding-004",
        "content": {"parts": [{"text": "第二段文本"}]}
      }
    ]
  }'
响应示例:
{
  "embeddings": [
    {"values": [0.0123, -0.0456, ...]},
    {"values": [0.0234, -0.0567, ...]}
  ]
}

响应格式

{
  "candidates": [
    {
      "content": {
        "parts": [{"text": "回复文本"}],
        "role": "model"
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {
          "category": "HARM_CATEGORY_HARASSMENT",
          "probability": "NEGLIGIBLE"
        }
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 20,
    "totalTokenCount": 30
  }
}

错误处理

HTTP 状态码错误类型描述
400INVALID_ARGUMENT请求参数无效
401UNAUTHENTICATEDAPI 密钥无效或缺失
403PERMISSION_DENIED无权访问该模型
404NOT_FOUND模型不存在
429RESOURCE_EXHAUSTED超出速率限制
500INTERNAL服务器内部错误
错误响应示例:
{
  "error": {
    "code": 400,
    "message": "Invalid value at 'contents[0].parts[0]'",
    "status": "INVALID_ARGUMENT"
  }
}

与 OpenAI 格式对比

特性Gemini 原生OpenAI 兼容
Base URLhttps://console.mixroute.io/v1betahttps://console.mixroute.io/v1
消息结构contents[].parts[]messages[].content
角色名称user / modeluser / assistant
系统提示systemInstructionmessages[0].role: "system"
流式请求URL 参数 ?alt=sseBody 参数 stream: true
温度范围0-20-2
工具调用tools[].functionDeclarationstools[].function
搜索增强tools[].googleSearch不支持
思考模式thinkingConfig不支持
curl --request POST \
  --url 'https://console.mixroute.io/v1beta/models/gemini-2.5-pro:generateContent' \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "contents": [
      {"role": "user", "parts": [{"text": "用一句话介绍人工智能"}]}
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'
{
  "candidates": [
    {
      "content": {
        "parts": [{"text": "人工智能是一门研究如何让计算机模拟和实现人类智能的学科。"}],
        "role": "model"
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 20,
    "totalTokenCount": 30
  },
  "modelVersion": "gemini-2.5-pro"
}