推荐 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 解析和字段兜底,避免前端直接处理异常返回
