API 参考进阶用户更新于
POST/v1beta/models/{model}:generateContent

API 调试台

POST/v1beta/models/gemini-3.8-flash:generateContent
查看密钥

使用你填写的 Key 发送真实请求,按对应接口计费。

Gemini 原生生成接口

Gemini 原生接口提供 JSON 和 SSE 两种响应。模型 ID 放在请求路径中,文本输入通过 contents[].parts[] 传入。

接入准备

按快速开始获取 API Key,并选择支持直接 HTTP 调用的接入点。示例通过 x-goog-api-key 发送 ICODEEASY_API_KEY,并将 YOUR_MODEL_ID 替换为接入点支持的 Gemini 模型 ID。

请求示例

generateContent 返回完整的 JSON 响应。

bash
curl -sS https://api.icodeeasy.cc/v1beta/models/YOUR_MODEL_ID:generateContent \
  -H "x-goog-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Say hello."
        }
      ]
    }
  ]
}'

读取响应

从 candidates[].content.parts[] 读取文本。若返回 usageMetadata,可读取 promptTokenCount、candidatesTokenCount 和 cachedContentTokenCount。

json
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Hello!"
          }
        ]
      },
      "finishReason": "STOP"
    }
  ]
}

流式请求示例

bash
curl -NsS 'https://api.icodeeasy.cc/v1beta/models/YOUR_MODEL_ID:streamGenerateContent?alt=sse' \
  -H "x-goog-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Say hello."
        }
      ]
    }
  ]
}'

流式响应示例

Gemini SSE 的每条 data: 是 JSON 响应片段。按候选项拼接 candidates[].content.parts[] 的文本,并检查 finishReason。收到错误响应或未正常结束就断开时,保留已收到的片段并标记为不完整。

text
data: {"candidates":[{"index":0,"content":{"role":"model","parts":[{"text":"Hello!"}]}}]}

data: {"candidates":[{"index":0,"finishReason":"STOP"}],"usageMetadata":{"promptTokenCount":10,"candidatesTokenCount":4,"totalTokenCount":14}}

从包含 usageMetadata 的响应帧读取用量,字段与 JSON 响应相同。