Gemini 流式对话示例
以下示例展示如何使用Gemini的/v1beta/models/{model}:streamGenerateContent 接口进行流式文本生成。
快速开始
只需要替换<API-KEY> 为你的实际API密钥即可运行。
Copy
curl -X POST "https://model-api.skyengine.com.cn/v1beta/models/gemini-2.5-flash:streamGenerateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API-KEY>" \
-d '{
"contents": [
{
"parts": [
{
"text": "讲个300个字的故事"
}
]
}
],
"generationConfig": {
"maxOutputTokens": 3000,
"temperature": 0.7
}
}' \
--no-buffer
Gemini流式响应格式
Copy
data: {"sdkHttpResponse":{"headers":{"Alt-Svc":["h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"],"Content-Disposition":["attachment"],"Content-Type":["text/event-stream"],"Date":["Tue, 23 Sep 2025 10:26:07 GMT"],"Server":["scaffolding on HTTPServer2"],"Vary":["Origin","X-Origin","Referer"],"X-Content-Type-Options":["nosniff"],"X-Frame-Options":["SAMEORIGIN"],"X-Xss-Protection":["0"]}},"candidates":[{"content":{"parts":[{"text":"小丽独自一人在后院荡秋千,阳光暖洋洋地洒在她身上,却驱不散她心头一丝淡淡的无聊。她踢着脚下的泥土,突然,一抹异样的光亮吸引了她的目光。\n\n她好奇地跳下秋千,拨开"}],"role":"model"}}],"createTime":"2025-09-23T10:25:59.125309Z","modelVersion":"gemini-2.5-flash","responseId":"446d21a1adfb4964ad98073db9eade14","usageMetadata":{"trafficType":"ON_DEMAND"}}
.
.
.
data: {"sdkHttpResponse":{"headers":{"Alt-Svc":["h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"],"Content-Disposition":["attachment"],"Content-Type":["text/event-stream"],"Date":["Tue, 23 Sep 2025 10:26:07 GMT"],"Server":["scaffolding on HTTPServer2"],"Vary":["Origin","X-Origin","Referer"],"X-Content-Type-Options":["nosniff"],"X-Frame-Options":["SAMEORIGIN"],"X-Xss-Protection":["0"]}},"candidates":[{"content":{"parts":[{"text":"\n\n小丽决定把这颗发光的石头藏起来,成为她最珍贵的秘密。每当夜幕降临,她都会偷偷拿出它,感受那份独一无二的温暖与慰藉。她知道,这不仅仅是一块普通的石头,更是她童年中最璀璨的奇迹。"}],"role":"model"}}],"createTime":"2025-09-23T10:25:59.125309Z","modelVersion":"gemini-2.5-flash","responseId":"446d21a1adfb4964ad98073db9eade14","usageMetadata":{"trafficType":"ON_DEMAND"}}
data: {"sdkHttpResponse":{"headers":{"Alt-Svc":["h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"],"Content-Disposition":["attachment"],"Content-Type":["text/event-stream"],"Date":["Tue, 23 Sep 2025 10:26:07 GMT"],"Server":["scaffolding on HTTPServer2"],"Vary":["Origin","X-Origin","Referer"],"X-Content-Type-Options":["nosniff"],"X-Frame-Options":["SAMEORIGIN"],"X-Xss-Protection":["0"]}},"candidates":[{"content":{"parts":[{}],"role":"model"},"finishReason":"STOP"}],"createTime":"2025-09-23T10:25:59.125309Z","modelVersion":"gemini-2.5-flash","responseId":"446d21a1adfb4964ad98073db9eade14","usageMetadata":{"candidatesTokenCount":247,"candidatesTokensDetails":[{"modality":"TEXT","tokenCount":247}],"promptTokenCount":8,"promptTokensDetails":[{"modality":"TEXT","tokenCount":8}],"thoughtsTokenCount":1324,"totalTokenCount":1579,"trafficType":"ON_DEMAND"}}
重要参数说明
- streamGenerateContent: 使用专门的流式端点
- candidates: 包含生成的候选内容
- parts: 每个部分包含文本片段
- finishReason: 生成结束的原因

