跳转到主要内容

推荐 endpoint

最小请求

{
  "model": "gemini-2.5-flash",
  "contents": [
    {
      "role": "user",
      "parts": [{ "text": "提取订单信息,并返回 JSON。" }]
    }
  ],
  "generationConfig": {
    "responseMimeType": "application/json"
  }
}

cURL 示例

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "从这段文本中提取订单号和金额,并返回 JSON:订单 A-1024,金额 99.5 美元。"
          }
        ]
      }
    ],
    "generationConfig": {
      "responseMimeType": "application/json"
    }
  }'

Python 示例

import json
import requests

response = requests.post(
    "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent",
    headers={
        "x-goog-api-key": "<GEMINI_API_KEY>",
        "Content-Type": "application/json",
    },
    json={
        "contents": [
            {
                "role": "user",
                "parts": [
                    {
                        "text": "从这段文本中提取订单号和金额,并返回 JSON:订单 A-1024,金额 99.5 美元。"
                    }
                ],
            }
        ],
        "generationConfig": {"responseMimeType": "application/json"},
    },
    timeout=60,
)
response.raise_for_status()

payload = response.json()["candidates"][0]["content"]["parts"][0]["text"]
print(json.loads(payload))

Node.js 示例

const response = await fetch(
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent",
  {
    method: "POST",
    headers: {
      "x-goog-api-key": process.env.GEMINI_API_KEY,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      contents: [
        {
          role: "user",
          parts: [
            {
              text: "从这段文本中提取订单号和金额,并返回 JSON:订单 A-1024,金额 99.5 美元。"
            }
          ]
        }
      ],
      generationConfig: {
        responseMimeType: "application/json"
      }
    })
  }
);

const data = await response.json();
console.log(JSON.parse(data.candidates[0].content.parts[0].text));

最佳实践

  • 对结构化输出显式设置 responseMimeType
  • 字段很多时,把 schema 或示例结构写进 prompt
  • 服务端统一做 JSON 解析和字段兜底,避免前端直接处理异常返回